用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jongwony/epistemic-protocols --skill dashboard命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | dashboard |
| description | Comprehensive usage analytics and epistemic coverage dashboard across all sessions. |
Analyze all Claude Code session data to produce a comprehensive usage analytics dashboard with epistemic protocol coverage metrics, friction analysis, growth timeline, and actionable improvement recommendations.
Invoke this skill when:
/onboard for deeper, full-dataset analysisSkip when:
/onboard instead)COLLECT → AGGREGATE → ANALYZE → PRESENT
| Phase | Owner | Tool | Decision Point |
|---|---|---|---|
| 1. Collect | Main | Glob | Inventory + path decision |
| 2. Aggregate | Subagent (coverage-scanner) | Bash, Read, Grep, Glob | Batch data collection |
| 3. Analyze | Main | — | 7 computations |
| 4. Present | Main | Write, Bash | HTML dashboard + console summary |
Paths below written {config_dir}/… take {config_dir} = CLAUDE_CONFIG_DIR when set, else ~/.claude. Resolve it ONCE per invocation with Bash printf '%s\n' "${CLAUDE_CONFIG_DIR-$HOME/.claude}" and substitute the absolute result before any Read/Glob/Grep call.
| Source | Method | Extracts |
|---|---|---|
{config_dir}/usage-data/facets/{session_id}.json | Glob + Read | friction_counts, friction_detail, goal_categories, session_type, outcome, user_satisfaction_counts |
{config_dir}/usage-data/session-meta/{session_id}.json | Glob + Read | tool_counts, git_commits, git_pushes, languages, duration_minutes, start_time, first_prompt |
| Source | Method | Extracts |
|---|---|---|
{config_dir}/projects/*/*.jsonl | Glob | All session JSONL files on disk |
| Session JSONL files | Grep command-name + "skill":" | Protocol usage history (slash commands + Skill tool invocations) |
{config_dir}/usage-data/facets/*.json → inventory facets files{config_dir}/usage-data/session-meta/*.json → inventory session-meta files{config_dir}/projects/*/*.jsonl (scanner runs glob internally)If no facets or session-meta data found: report "No usage data available. Run some Claude Code sessions first, then try /dashboard again." and stop.
Call coverage-scanner subagent with:
facets_dir: {config_dir}/usage-data/facets/session_meta_dir: {config_dir}/usage-data/session-meta/session_jsonl_glob: {config_dir}/projects/*/*.jsonl (scanner runs glob + grep internally, avoiding 900+ paths in prompt)mode: "path_a" or "path_b" based on Phase 1 decisionThe subagent returns aggregated data: friction totals, outcome/satisfaction distributions, tool totals, timeline, protocol usage (slash commands + Skill tool invocations, de-duplicated), gate interaction data (per-protocol gated/relay counts), code change statistics.
For each protocol, determine:
| Protocol | situation_occurred (Path A) | situation_occurred (Path B) |
|---|---|---|
| Syneidesis | friction wrong_approach OR friction excessive_changes OR friction wrong_file_edited OR rework | rework + high exploration |
| Aitesis | friction context_loss | N/A |
| Merismos | — | N/A (keyword match tests autonomous intent only, not whether a plan is already condition-bearing — insufficient to assert the deficit occurred) |
| Prothesis | — | exploration ratio ≥ 3:1 |
| Katalepsis | — | verification firstPrompt |
| Epharmoge | — | N/A (conditional protocol) |
situation_used detection: From Phase 2 Protocol Usage output (coverage-scanner detects via slash commands and Skill tool invocations in a single pass, de-duplicated per session). The scanner owns the mapping from skill names to protocol names — see coverage-scanner.md step 2c for the canonical mapping table.
Coverage ratio per protocol: situation_used / situation_occurred. Protocols with no detected situations = N/A.
Count protocol invocations per protocol from Phase 2 aggregated data (merged from slash commands + Skill tool). Include first usage date, detection method breakdown (command vs Skill tool), and session count if available.
Aggregate friction_counts from Phase 2. Map to protocol groups using the Tertiary Mapping Table:
| Friction Key | Protocol Group |
|---|---|
wrong_approach | Syneidesis |
excessive_changes | Syneidesis |
context_loss | Aitesis |
wrong_file_edited | Syneidesis |
Others (buggy_code, api_errors, etc.) | Environmental (no protocol mapping) |
From Phase 2 timeline data:
Compute milestones:
From user_satisfaction_counts (Path A only):
Composite score (0-100):
From Phase 2 gate interaction scan:
gated_interactions / total_gates ratio| Protocol | Avg Gate Efficiency | Relay Gates | Gated Gates | Total Sessions |
|---|
Gate efficiency = 1.0 means all gates user-facing. Lower values indicate more automation via relay classification.
For protocols with 3+ session history:
HTML Dashboard:
cfg="${CLAUDE_CONFIG_DIR-$HOME/.claude}"; mkdir -p "${cfg:+$cfg/}.dashboard" to ensure the parent directory exists (handles fresh environments without prior .dashboard/ activity){config_dir}/.dashboard/dashboard.html via Write toolreferences/html-template.md for the full HTML skeletonConsole Summary: Output key metrics:
{config_dir}/.dashboard/dashboard.htmlOpen in browser: Call Bash cfg="${CLAUDE_CONFIG_DIR-$HOME/.claude}"; open "${cfg:+$cfg/}.dashboard/dashboard.html" to launch the dashboard in the default browser
Refer to references/html-template.md for the full HTML skeleton, CSS classes, and detailed artifact guidelines.
/dashboard multiple times produces updated results. Previous dashboard is overwritten./dashboard provides analytics only. For protocol recommendations, direct users to /onboard.基于 SOC 职业分类