Skip to content

feat: add skill usage dashboard report - #300

Merged
cbeaulieu-gt merged 9 commits into
mainfrom
feature-296-skill-usage-report
Sep 6, 2026
Merged

feat: add skill usage dashboard report#300
cbeaulieu-gt merged 9 commits into
mainfrom
feature-296-skill-usage-report

Conversation

@cbeaulieu-gt

@cbeaulieu-gt cbeaulieu-gt commented Sep 6, 2026

Copy link
Copy Markdown
Member

Summary

  • add a searchable top-level Skills dashboard report over the union of transcript invocation and hook adoption data
  • surface adoption gaps, unknown-versus-zero states, and labeled per-target-agent passed/invoked disclosures
  • consolidate dashboard name filtering, wire the offline shell and Breakdown pointer, and document the report
  • add runtime regressions for MCP filtering, CLI-window copy, prototype-named skills, and adoption availability

Verification

  • 986 passed, 2 skipped, 1 warning
  • ruff check .
  • ruff format --check .
  • JavaScript syntax checks for all affected dashboard views
  • desktop and 375px visual/interaction checks against the measured local dataset
  • wheel build verified to contain claude_prospector/static/views/skills.js
  • committed-artifact persistence audit passed

Closes #296

🤖 Generated by Codex on behalf of @cbeaulieu-gt

Summary by CodeRabbit

  • New Features

    • Added a searchable Skills dashboard showing invocation, token, adoption, and target-agent details.
    • Highlights skills that were passed to agents but never invoked.
    • Distinguishes unavailable adoption data from zero activity.
    • Added navigation to the Skills report from the dashboard and Breakdown view.
    • Improved skill usage labeling with time-window context.
  • Documentation

    • Updated usage dashboard documentation and specifications to describe the new Skills reporting capabilities.

@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: c8a40333-0cde-405f-bb64-00a0331fbe16

📥 Commits

Reviewing files that changed from the base of the PR and between 7a2d752 and 41d4300.

📒 Files selected for processing (16)
  • CHANGELOG.md
  • README.md
  • docs/superpowers/plans/2026-09-06-skill-usage-report.md
  • docs/superpowers/specs/skill-usage-report.md
  • src/claude_prospector/renderer.py
  • src/claude_prospector/static/cp-utils.js
  • src/claude_prospector/static/views/agents.js
  • src/claude_prospector/static/views/layout-b-diag.js
  • src/claude_prospector/static/views/mcp-usage.js
  • src/claude_prospector/static/views/skills.js
  • src/claude_prospector/templates/dashboard.html
  • tests/test_agent_search_view.py
  • tests/test_mcp_usage_view_name_filter.py
  • tests/test_phase2_shell.py
  • tests/test_phase3_views.py
  • tests/test_skills_view.py

Included review availability: 9 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour.


📝 Walkthrough

Walkthrough

Adds a searchable Skills dashboard report. The report combines invocation and adoption data, preserves unknown adoption states, shows adoption gaps and target-agent details, adds shared name filtering, and integrates the report into dashboard navigation and packaging tests.

Changes

Shared filtering

Layer / File(s) Summary
Shared name-filter utility and consumers
src/claude_prospector/static/cp-utils.js, src/claude_prospector/static/views/agents.js, src/claude_prospector/static/views/mcp-usage.js
Adds CP.matchesNameFilter and replaces local filtering implementations in Agents and MCP Usage. Tests validate trimming, case-insensitive matching, qualified calls, and rendered filtering.
Filtering specification and verification
docs/superpowers/specs/skill-usage-report.md, tests/test_agent_search_view.py, tests/test_mcp_usage_view_name_filter.py, tests/test_phase2_shell.py
Defines shared filtering requirements and validates export, inlining, consumer usage, and integration behavior.

Skill Usage report

Layer / File(s) Summary
Skill data aggregation and rendering
src/claude_prospector/static/views/skills.js, tests/test_skills_view.py
Adds union-based skill rows, invocation and adoption metrics, unknown-value handling, adoption-gap detection, target-agent disclosures, filtering, empty states, and time-basis labels.
Report implementation plan and specification
docs/superpowers/plans/2026-09-06-skill-usage-report.md, docs/superpowers/specs/skill-usage-report.md
Documents the report data model, escaping, filtering, adoption states, disclosure rules, and validation requirements.

Dashboard integration

Layer / File(s) Summary
Dashboard view wiring
src/claude_prospector/renderer.py, src/claude_prospector/templates/dashboard.html, src/claude_prospector/static/views/layout-b-diag.js
Loads and inlines skills.js, adds the Skills tab and dispatch branch, updates the Skills card count, and links the card to the full report.
Packaging and view coverage
tests/test_phase3_views.py, tests/test_agent_search_view.py, tests/test_skills_view.py
Validates asset availability, rendered window.renderSkills, the dashboard view set, tab wiring, and Breakdown navigation.

Documentation

Layer / File(s) Summary
User-facing report documentation
README.md, CHANGELOG.md
Documents searchable invoked and agent-passed skills, adoption gaps, target-agent disclosures, and unknown-versus-zero reporting.

Sequence Diagram(s)

sequenceDiagram
  participant Dashboard
  participant renderSkills
  participant window.DATA
  participant CP.matchesNameFilter
  Dashboard->>renderSkills: select Skills view
  renderSkills->>window.DATA: read invocation and adoption data
  renderSkills->>CP.matchesNameFilter: apply skill-name query
  CP.matchesNameFilter-->>renderSkills: return matching rows
  renderSkills-->>Dashboard: render report results
Loading

Merge Risk: ⚪ Minimal · up to 41d43

The Skills report, shared filtering, dashboard integration, and packaging coverage introduce no actionable merge-blocking risk.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the primary change: adding a skill usage dashboard report.
Linked Issues check ✅ Passed The pull request satisfies issue #296. It adds a top-level Skills report using invocation and adoption data, shows per-target-agent counts, supports filtering, preserves unknown versus zero states, pr…
Out of Scope Changes check ✅ Passed The changes remain within scope. Documentation, shared filtering, dashboard wiring, renderer updates, tests, and changelog updates directly support the Skills report and issue #296 objectives.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch feature-296-skill-usage-report

Comment @coderabbitai help to get the list of available commands.

@cbeaulieu-gt

Copy link
Copy Markdown
Member Author

@coderabbitai Review

@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@cbeaulieu-gt
cbeaulieu-gt merged commit 36e370c into main Sep 6, 2026
6 checks passed
@cbeaulieu-gt
cbeaulieu-gt deleted the feature-296-skill-usage-report branch September 6, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dashboard: Skill Usage Report

1 participant