Use ai-usage-report
Generate a per-user or team-level report on how AI tools are being used
Generate a per-user or team-level report on how AI tools are being used — volume, breadth, and effectiveness signals (e.g. whether AI outputs landed in shipped artifacts vs were generated and discarded). Consumes usage-event logs exported from an MCP server or other telemetry source.
Reach for it when a manager or team lead needs to understand AI adoption beyond raw counts — including spotting "AI theater" where people invoke AI to claim usage but don't act on the outputs.
Install it
npx skilldrop-cli install ai-usage-report # Claude Code, your user folder
npx skilldrop-cli install ai-usage-report --project # Claude Code, this repo
npx skilldrop-cli install ai-usage-report --ide cursor # or kiro, codex, antigravity, copilot
It is part of the AI engineering pack: --pack ai-engineering installs it with its neighbours.
It ships scripts, so it needs Python 3 (standard library only, nothing to install). What they may touch is declared in its manifest.
Ask for it
Say it the way you would to a colleague. Requests like these route to it:
- "Build me a monthly AI adoption report from this usage-event CSV"
- "Which teams are generating AI output but never shipping it? Here's the telemetry export"
- "Turn this JSONL of MCP usage events into a team rollup I can show execs"
- "I suspect some people are invoking Copilot just to hit a usage target — can the logs show that?"
Requests like these belong to a different skill, so it shouldn't answer them:
- "Design a golden set and regression gate for our support-bot prompt"
- "Define the product success metrics for our new AI summarization feature"
- "Write the policy on which AI tools staff may use with customer data"
If another skill answers instead, ask for this one by name: "use ai-usage-report".
Check what you get
A good result:
- Numbers are computed from the input, not estimated. If the script cannot compute a metric (missing field), the column is omitted with a note. Never fill with
~orest.placeholders. - Per-user reports include only users present in the input. Don't infer missing users from elsewhere.
- The "AI theater" framing lives in section headers, not in per-user judgments. Say "Single-shot rate: 87%" — never "Alice is doing AI theater."
- Privacy posture matches the view.
per-usernames individuals;team-rollupnever names anyone, even in passing. - Recommendations target patterns, not people. "Consider a deeper-engagement workshop for the team" — never "Coach Alice to engage more deeply."
- Period is explicit on the report header. Every report shows the dates it covers.
- Sample size is honored. If
n_users < 5in a team-rollup, the report is no longer anonymous — refuse to generate the team-rollup view and tell the user why.
See a worked example
Use something else when
- You don't have usage telemetry yet — the skill consumes data, doesn't collect it. The collection-side spec (event schema, MCP server) lives in the skilldrop repo at
docs/designs/ai-usage-telemetry-design.md. - You want to judge specific named people. The skill surfaces patterns; performance judgments based on AI usage are a different (and harder) decision.
- The input lacks every effectiveness field. You can still produce a volume report, but call out the limitation explicitly — don't ship a report that looks like effectiveness analysis when it isn't.
- Your team is < 5 people and the view is team-rollup. Aggregate views aren't anonymous at that size.
Next
- SKILL.md, the instructions the agent reads
- Its page on the site