원클릭으로
ai-usage
// 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.
// 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.
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.
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.
| name | ai-usage |
| description | 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. |
Query AI usage and spend via the FC /ai/usage endpoint.
All parameters can be read from local config. The user does NOT need to provide anything manually.
TEAM_ID=$(cat .teamclaw/teamclaw.json | jq -r '.oss.team_id')
TEAM_ENDPOINT=$(cat .teamclaw/teamclaw.json | jq -r '.oss.team_endpoint')
# node_id is the local device's P2P identity, available via the Tauri command get_node_id
# team_secret is in the system keyring under service "teamclaw-team" account "{team_id}"
Automatically includes the local nodeId so the user sees their own spend:
curl -s -X POST "${TEAM_ENDPOINT}/ai/usage" \
-H "Content-Type: application/json" \
-d "{\"teamId\": \"${TEAM_ID}\", \"teamSecret\": \"${TEAM_SECRET}\", \"nodeId\": \"${NODE_ID}\"}"
Response:
{
"teamId": "tc-abc123",
"nodeId": "abcdef...",
"spend": 0.0387,
"maxBudget": null,
"keyAlias": "alice-abcdef01"
}
Omit nodeId to get the full team breakdown:
curl -s -X POST "${TEAM_ENDPOINT}/ai/usage" \
-H "Content-Type: application/json" \
-d "{\"teamId\": \"${TEAM_ID}\", \"teamSecret\": \"${TEAM_SECRET}\"}"
Response:
{
"teamId": "tc-abc123",
"totalSpend": 1.23,
"members": [
{ "alias": "alice-abcdef01", "spend": 0.80 },
{ "alias": "bob-12345678", "spend": 0.43 }
]
}
startDate / endDate (YYYY-MM-DD) to filter.