用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/vamseeachanta/workspace-hub --skill calendly-api-1-user-and-organization-management命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | calendly-api-1-user-and-organization-management |
| description | Sub-skill of calendly-api: 1. User and Organization Management. |
| version | 1.0.0 |
| category | business |
| type | reference |
| scripts_exempt | true |
# users.py
# ABOUTME: User and organization management
# ABOUTME: Retrieve user profiles, organization info, memberships
from client import client
def get_current_user() -> dict:
"""Get the current authenticated user"""
response = client.get("/users/me")
user = response.get("resource", {})
return {
"uri": user.get("uri"),
"name": user.get("name"),
"email": user.get("email"),
"slug": user.get("slug"),
"scheduling_url": user.get("scheduling_url"),
"timezone": user.get("timezone"),
"organization": user.get("current_organization"),
}
def get_user_by_uri(user_uri: str) -> dict:
"""Get a user by their URI"""
# Extract UUID from URI
uuid = user_uri.split("/")[-1]
response = client.get(f"/users/{uuid}")
return response.get("resource", {})
def get_organization(organization_uri: str = None) -> dict:
"""Get organization details"""
org_uri = organization_uri or client.organization_uri
uuid = org_uri.split("/")[-1]
response = client.get(f"/organizations/{uuid}")
return response.get("resource", {})
def list_organization_memberships(
organization_uri: str = None,
email: str = None,
) -> list:
"""List organization memberships"""
org_uri = organization_uri or client.organization_uri
params = {"organization": org_uri}
if email:
params["email"] = email
return client.paginate("/organization_memberships", params=params)
def get_user_availability_schedules(user_uri: str = None) -> list:
"""Get user's availability schedules"""
user = user_uri or client.user_uri
params = {"user": user}
return client.paginate("/user_availability_schedules", params=params)
def get_user_busy_times(
user_uri: str = None,
start_time: str = None,
end_time: str = None,
) -> list:
"""Get user's busy times for a date range
Times should be ISO 8601 format: 2026-01-17T00:00:00Z
"""
user = user_uri or client.user_uri
params = {
"user": user,
"start_time": start_time,
"end_time": end_time,
}
response = client.get("/user_busy_times", params=params)
return response.get("collection", [])
if __name__ == "__main__":
# Get current user
user = get_current_user()
print(f"User: {user['name']} ({user['email']})")
print(f"Scheduling URL: {user['scheduling_url']}")
# List memberships
memberships = list_organization_memberships()
print(f"\nOrganization has {len(memberships)} members")