en un clic
ai-manage
// Manage AI API keys and budget for the current team. Owner-only operations include adding/removing member keys and setting budget limits. Use when the team owner wants to manage AI access.
// Manage AI API keys and budget for the current team. Owner-only operations include adding/removing member keys and setting budget limits. Use when the team owner wants to manage AI access.
Use when the user wants to fix a Sentry issue, auto-repair a bug from Sentry, or create a fix PR for a Sentry error. Triggers on "修复 sentry", "fix sentry issue", "sentry 修复", "sentry fix".
Use when the user wants to check Sentry issues, run a Sentry daily report, or monitor error trends. Triggers on "sentry 监控", "sentry 日报", "查看 sentry", "sentry report", "sentry monitor".
Create a workspace role that follows the ROLE.md specification. Use when the user wants to create a new role, refine a role definition, or turn repeated responsibilities into a reusable routed role.
Control Windows desktop applications: open/operate apps, click controls, type text, scroll, keyboard shortcuts, window management, toggle options, lists and combos, etc. Note: NEVER invoke this skill for opening web pages/visiting websites — use browser-related tools instead. Trigger words: open app, operate app, control computer, click, type, scroll, switch, dropdown, select, modify, change to, set, check, uncheck, app-control, toggle.
List all AI API keys for the current team. Shows key aliases, masked key values, and spend per key. Use when a team member asks about their API key or wants to see who has access.
Check AI usage and spend for the current team or individual member. Shows total spend, per-member breakdown, or personal usage. Use when someone asks about costs, budget, or how much has been used.
| name | ai-manage |
| description | Manage AI API keys and budget for the current team. Owner-only operations include adding/removing member keys and setting budget limits. Use when the team owner wants to manage AI access. |
Manage AI API keys and team budget via FC endpoints. Most operations require team owner permissions.
Creates a LiteLLM API key for a team member using their node_id. This is normally done automatically when a member joins, but can be triggered manually.
TEAM_ID=$(cat .teamclaw/teamclaw.json | jq -r '.oss.team_id')
TEAM_ENDPOINT=$(cat .teamclaw/teamclaw.json | jq -r '.oss.team_endpoint')
curl -s -X POST "${TEAM_ENDPOINT}/ai/add-member" \
-H "Content-Type: application/json" \
-d "{
\"teamId\": \"${TEAM_ID}\",
\"teamSecret\": \"${TEAM_SECRET}\",
\"nodeId\": \"<member-node-id>\",
\"memberName\": \"Alice\"
}"
Returns: { "success": true, "key": "sk-tc-...", "keyAlias": "Alice-abcdef01" }
curl -s -X POST "${TEAM_ENDPOINT}/ai/remove-member" \
-H "Content-Type: application/json" \
-d "{
\"teamId\": \"${TEAM_ID}\",
\"teamSecret\": \"${TEAM_SECRET}\",
\"ownerNodeId\": \"<owner-node-id>\",
\"nodeId\": \"<member-node-id>\"
}"
Sets a maximum budget in USD for the team. Once reached, all API calls will be rejected.
curl -s -X POST "${TEAM_ENDPOINT}/ai/budget" \
-H "Content-Type: application/json" \
-d "{
\"teamId\": \"${TEAM_ID}\",
\"teamSecret\": \"${TEAM_SECRET}\",
\"ownerNodeId\": \"<owner-node-id>\",
\"maxBudget\": 50
}"
Returns: { "success": true, "maxBudget": 50 }
sk-tc-{first 40 chars of node_id}tc-{teamId}/ai/add-member is called from the client