api-design
REST API design best practices. Use when designing APIs, choosing status codes, or creating endpoints.
Generate a learning digest — patterns, activation history, phase trends, and recommendations from session data
$ npx -y skills add Tibsfox/gsd-skill-creator --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/digestContext preview
What this command does when you run it.
Generate a learning digest — patterns, activation history, phase trends, and recommendations from session data
name: sc:digest description: Generate a learning digest — patterns, activation history, phase trends, and recommendations from session data allowed-tools: - Read - Bash - Glob
<objective> Generate a comprehensive learning digest by analyzing all session observation data in sessions.jsonl. Surface commit type distribution, phase activity breakdown, temporal trends, correction rate analysis, activation history, and actionable recommendations. This command closes the learning loop by turning raw observation data into insights. </objective>
<process>
Read `.planning/skill-creator.json` using the Read tool. Extract observation settings:
If the file is missing, use defaults and proceed.
Also read `.planning/STATE.md` to get the current phase and plan context. This helps contextualize recommendations (e.g., which phase is active now vs. historical data).
Before analyzing session data, run a monitoring scan to capture any recent changes not yet recorded.
Follow the same monitoring scan process described in `/sc:start` Step 1. This ensures the digest includes the very latest plan-vs-summary diffs, STATE.md transitions, and ROADMAP.md changes.
If the scan produces new observations, they will be included in the subsequent session data analysis.
Read `.planning/patterns/sessions.jsonl` in full using the Read tool.
> No session data available. Session observations are captured by the post-commit hook and `/sc:observe`. Make some commits and try again. Then stop.
Count occurrences of each `commit_type` across all entries. Display as a visual distribution with bar charts:
### Commit Type Distribution feat: ████████████ 45 (38%) fix: ████████ 30 (25%) test: ██████ 22 (18%) docs: ███ 12 (10%) other: ██ 8 (7%) refactor: █ 3 (2%)
Sort by count descending. Use unicode block characters for the bars. Scale bars proportionally so the largest type gets approximately 12 blocks.
Group entries by the `phase` field. For each phase, compute:
Display as a table, sorted by phase number descending (most recent first):
### Phase Activity | Phase | Commits | Date Range | Dominant Type | |-------|---------|------------|---------------| | 85 | 15 | Feb 12 | test (40%) | | 84 | 22 | Feb 12 | feat (55%) | | 83 | 18 | Feb 11-12 | feat (50%) |
Highlight the most active phase with a note.
Group entries by date (extract date from `timestamp`). Show commits per day:
### Temporal Trends | Date | Commits | Types | |------------|---------|--------------------------| | 2026-02-12 | 35 | feat(15) test(12) fix(8) | | 2026-02-11 | 22 | feat(10) fix(7) docs(5) |
If there are entries with `source: "manual"` (from `/sc:observe`), note those separately:
Look for `fix` commits that follow `feat` commits on the same phase. Calculate a correction rate per phase:
correction_rate = fix_commits / feat_commits
Display phases with correction rates above 0.3 (30%):
### Correction Patterns | Phase | Feat | Fix | Rate | Assessment | |-------|------|-----|------|---------------------| | 84 | 10 | 5 | 50% | Consider more TDD | | 83 | 15 | 3 | 20% | Healthy range |
If no phases have correction rates above 0.3, display: "All phases within healthy correction range."
If any entries have file-level data (entries with `type: "observation"` from `/sc:observe` that include `files_touched`), identify files that appear most frequently:
### File Hotspots - src/config/types.ts (appeared in 8 observations) - project-claude/install.cjs (appeared in 6 observations)
If no file-level data is available, display: "No file-level data available. Run `/sc:observe` to capture file data."
Look for entries in sessions.jsonl with `type: "scan"` and `scan_type: "plan_summary_diff"`. For each diff entry, display:
### Plan vs Summary Diffs | Phase-Plan | Scope Change | Emergent Work | Dropped Items | |------------|-------------|---------------|---------------| | 86-01 | on_track | 0 | 0 | | 85-03 | expanded | 2 | 0 |
If any diffs show `scope_change` other than "on_track", highlight them:
If no scan entries exist, display: "No plan-vs-summary diffs available. Run `/sc:start` to capture baseline."
Scan all SKILL.md files under `project-claude/skills/` (and any installed `.claude/skills/` if the project-claude tree is missing). For each skill, parse the `status:` and `updated:` (or `last_updated:`) fields from the frontmatter.
Surface any skill with `status: ACTIVE` whose `updated` date is more than **90 days** behind the current date. Display as a table:
### Lifecycle Staleness (>90d untouched, status=ACTIVE
An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)
Repo: Tibsfox/gsd-skill-creator
REST API design best practices. Use when designing APIs, choosing status codes, or creating endpoints.
Reviews code for bugs, style, and best practices. Use when reviewing PRs or checking code quality.
Creates context handoff documents for session continuity. Use when ending sessions, switching tasks, or handing off work.
Thinking frameworks for decisions and problem analysis. Use when evaluating options, root causes, or prioritizing.
Environment configuration and secrets management. Use when setting up .env files, managing secrets, or configuring environments.
Safe file operation patterns. Use when performing bulk file operations or writing deployment scripts.