Agent skill

specstory-yak

Analyze your SpecStory AI coding sessions in .specstory/history for yak shaving - when your initial goal got derailed into rabbit holes. Run when user says "analyze my yak shaving", "check for rabbit holes", "how distracted was I", or "yak shave score".

majiayu000534★ · 1 repos on radarProfile →
claude-codeMIT
Install
npx skills add majiayu000/claude-skill-registry --skill specstory-yak --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 7 KB
Bundled scripts: none
Version: 1.0.0
Declared author: specstory
Path: skills/analysis/specstory-yak/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Specstory Yak Shave Analyzer Analyzes your `.specstory/history` to detect when coding sessions drifted off track from their original goal. Produces a "yak shave score" for each session. ## How It Works 1. **Parses** specstory history files from a date range (or all recent sessions) 2. **Extracts** the initial user intent from the first message 3. **Tracks** domain shifts: file references, tool call patterns, goal changes 4. **Scores** each session from 0 (laser focused) to 100 (maximum yak shave) 5. **Summarizes** your worst offenders and patterns ## What Is Yak Shaving? > "I need to deploy my app, but first I need to fix CI, but first I need to update Node, but first I need to fix my shell config..." Yak shaving is when you start with Goal A but end up deep in unrelated Task Z. This skill detects that pattern in your AI coding sessions. ## Usage ### Slash Command When invoked via `/specstory-yak`, interpret the user's natural language: | User says | Script args | |-----------|-------------| | `/specstory-yak` | `--days 7` (default) | | `/specstory-yak last 30 days` | `--days 30` | | `/specstory-yak this week` | `--days 7` | | `/specstory-yak top 10` | `--top 10` | | `/specstory-

What's inside
Steps it walks through
  1. How It Works
  2. What Is Yak Shaving?
  3. Usage
  4. Slash Command
  5. Direct Script Usage
  6. Output
  7. Scoring Methodology
  8. Present Results to User
  9. LLM Summary Guidelines
  10. Example LLM Summary
  11. What to Highlight
Ships with 1 file
  • metadata.json
Commands it runs
python /path/to/skills/specstory-yak/scripts/analyze.py [options]
Analyze last 7 days
python scripts/analyze.py
Analyze last 30 days, show top 10
python scripts/analyze.py --days 30 --top 10
Analyze specific date range
python scripts/analyze.py --from 2026-01-01 --to 2026-01-28
Filter by when files were modified (not session start time)
python scripts/analyze.py --days 7 --by-mtime
JSON output for further processing
More from claude-skill-registry
All skills →
About this skill
What does the specstory-yak skill do?

Analyze your SpecStory AI coding sessions in .specstory/history for yak shaving - when your initial goal got derailed into rabbit holes. Run when user says "analyze my yak shaving", "check for rabbit holes", "how distracted was I", or "yak shave score".

How do I install it?

Run `npx skills add majiayu000/claude-skill-registry --skill specstory-yak --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going