用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/joris887/exosuit --skill dashboard命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | dashboard |
| version | 1.2.0 |
| description | Sprint status overview with session insights, sprint trends, and actionable next steps. |
| trigger | manual |
| depends-on | [] |
| references | [] |
| micro-components | {"step-1":["discover-commands"]} |
| disable-model-invocation | true |
| user-invocable | true |
| allowed-tools | Read, Glob, Grep, Bash |
Show sprint status overview.
BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
DIRTY=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')
AHEAD=$(git rev-list --count origin/$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || echo main)..HEAD 2>/dev/null || echo "?")
LAST_COMMIT=$(git log -1 --format="%cr — %s" 2>/dev/null || echo "no commits")
# Current sprint from progress.md
SPRINT=$(grep -m1 'Sprint\*\*:' docs/progress.md 2>/dev/null | sed 's/.*: *//' | tr -d ' ')
Sprint spec: Find the current sprint spec file (docs/sprints/sprint-*.md). Read it to extract:
## Goal section) — display prominently as the first sprint lineMetrics snapshot: Read docs/progress.md → ## Metrics table. Extract rows that have data (Current column is not "—"). This data is displayed in section 8.
Work item age check: For any story with 🔄 status, check docs/sessions/.activity-log.jsonl for its status-change to in-progress event. Read the current cycle time value from docs/progress.md → ## Metrics table (row "Cycle time (days)", Current column). If available, use this as the average cycle time reference. Fall back to computing from Sprint History if no data. Flag stories in-progress longer than the average:
"⚠️ [Story ID] has been in-progress for [N] days (avg cycle time: [M] days)"
Read docs/reference/BACKLOG_INDEX.md for story counts:
Run the discover-commands micro-component from .claude/prompts/discover-commands.md, then:
gh pr list --author @me --state open --json number,title,reviewDecision,statusCheckRollup 2>/dev/null || echo "gh not available"
Check for:
.failure-state.md — interrupted workflowsession-*.md — last handoff date.auto-save.md — last auto-saveQuick checks (subset of /doctor):
Parse docs/sessions/.activity-log.jsonl (if it exists and has entries) for this session's activity:
# Count entries by tool type
ACTIVITY_LOG="docs/sessions/.activity-log.jsonl"
if [ -f "$ACTIVITY_LOG" ] && [ -s "$ACTIVITY_LOG" ]; then
# Top 5 most edited files
grep '"tool":"Edit\|Write"' "$ACTIVITY_LOG" | grep -o '"target":"[^"]*"' | sort | uniq -c | sort -rn | head -5
# Count edits vs test runs
EDIT_COUNT=$(grep -c '"tool":"Edit\|Write"' "$ACTIVITY_LOG" 2>/dev/null || echo 0)
TEST_RUNS=$(grep -c '"test_result"' "$ACTIVITY_LOG" 2>/dev/null || echo 0)
# Skill invocations
grep '"type":"skill"' "$ACTIVITY_LOG" | grep -o '"skill":"[^"]*"' | sort | uniq -c | sort -rn | head -5
fi
Present insights (only sections with data):
### Session Insights
- **Most edited:** `src/auth/login.ts` (8 edits), `src/api/users.ts` (5 edits)
- **Edit-to-test ratio:** 12 edits / 3 test runs (ratio: 4.0 — consider running tests more often)
- **Test failures this session:** 2 (both recovered)
- **Skills used:** /story-cycle (3x), /commit (2x), /debug-session (1x)
Edit-to-test ratio guidance:
5.0: TDD drift — many edits between test runs
### Sprint Trends
- **Cycle time:** 2.1 → 1.8 → 1.5 days (improving)
- **Coverage:** 78% → 82% → 84% (improving)
- **Change failure rate:** 15% → 12% → 8% (improving)
Flag any metric that worsened for 2+ consecutive sprints. Skip this section — not enough sprint data yet.
## Sprint Dashboard
### Git
- **Branch:** `sprint-N` (X commits ahead, Y uncommitted files)
- **Last commit:** 2 hours ago — "feat(auth): add login endpoint"
### Sprint N: [Sprint Goal]
- **Progress:** 3/5 stories done (2 remaining: E01-004 🔄, E01-005 🔲)
- **Capacity:** ~6/8 sessions used (buffer: 1 session)
- **Out of scope:** [from boundaries]
- ⚠️ E01-004 in-progress for 3 days (avg cycle time: 1.5 days)
### Backlog
- 3 done / 1 in progress / 8 TODO
### Tests
- **Status:** 47 passing, 0 failing
- **Coverage:** 82% (+3% this sprint)
### PRs
- None open
### Session
- **Last handoff:** 2 days ago
- **Interrupted workflow:** None
### Metrics Health
| Metric | Current | Target | Trend | Status |
|:-------|:-------:|:------:|:-----:|:------:|
| Cycle time (days) | 2.1 | ≤3.0 | ▇▆▅▄▃▂ | 🟢 |
| Change failure rate | 12% | ≤15% | ▂▃▂▄▅▃ | 🟡 |
[Show only metrics rows with data — skip rows where Current is "—"]
[If any 🟡/🔴: show sprint note from progress.md]
### Session Insights
- **Most edited:** `src/auth/login.ts` (8 edits)
- **Edit-to-test ratio:** 4.0 (12 edits / 3 test runs)
- **Skills used:** /story-cycle (3x), /commit (2x)
### Sprint Trends
- Cycle time: 2.1 → 1.8 → 1.5 days (improving)
- Coverage: 78% → 82% → 84%
### Framework
- **Health:** All checks passing
### Suggested Next Action
→ `/story-cycle "E01-004"` — Continue with the next backlog story
Based on state, suggest the most relevant next action:
| State | Suggestion |
|---|---|
| On main, no sprint | /sprint-start |
| On sprint branch, no story in progress | /story-cycle <next-TODO-story> |
| Story in progress | "Continue current story" |
| Interrupted workflow | "Resume with /continue" |
| Sprint complete, no PR | /sprint-end |
| PR open and approved | "Merge PR: gh pr merge --squash" |
| PR with review feedback | "Address feedback on PR #N" |
| All stories done | /sprint-end or /retrospective |