Loading...
Loading...
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".
npx skill4agent add specstoryai/agent-skills specstory-yak.specstory/history"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..."
/specstory-yak| User says | Script args |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
python /path/to/skills/specstory-yak/scripts/analyze.py [options]--days N--from DATE--to DATE--path PATH--top N--json--verbose--by-mtime-o, --output FILE# 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
python scripts/analyze.py --days 14 --json
# Save report to a markdown file
python scripts/analyze.py --days 90 -o yak-report.md
# Save JSON to a file
python scripts/analyze.py --days 30 --json -o yak-data.jsonYak Shave Report (2026-01-21 to 2026-01-28)
==========================================
Sessions analyzed: 23
Average yak shave score: 34/100
Top Yak Shaves:
---------------
1. [87/100] "fix button alignment" (2026-01-25)
Started: CSS fix for button
Ended up: Rewriting entire build system
Domain shifts: 4 (ui -> build -> docker -> k8s)
2. [72/100] "add logout feature" (2026-01-23)
Started: Add logout button
Ended up: Refactoring auth system + session management
Domain shifts: 3 (ui -> auth -> database)
3. [65/100] "update readme" (2026-01-22)
Started: Documentation update
Ended up: CI pipeline overhaul
Domain shifts: 2 (docs -> ci -> testing)
Most Focused Sessions:
----------------------
1. [5/100] "explain auth flow" (2026-01-26) - Pure analysis, no drift
2. [8/100] "fix typo in config" (2026-01-24) - Quick surgical fix
Patterns Detected:
------------------
- You yak shave most on: UI tasks (avg 58/100)
- Safest task type: Code review/explanation (avg 12/100)
- Peak yak shave hours: 11pm-2am (avg 71/100)| Factor | Weight | Description |
|---|---|---|
| Domain shifts | 40% | How many times file references jumped domains |
| Goal completion | 25% | Did the original stated goal get completed? |
| Session length ratio | 20% | Length vs. complexity of original ask |
| Tool type cascade | 15% | Read->Search->Edit->Create->Deploy escalation |
## 🐃 Your Yak Shave Analysis
Well, well, well. You came to fix buttons and left having rewritten half the
infrastructure. Your average yak shave score of 47/100 puts you firmly in
"classic developer behavior" territory.
The standout? That January 25th session where a CSS alignment fix somehow
evolved into a full Kubernetes deployment overhaul. Four domain shifts later,
you probably forgot what a button even looks like.
Pattern I noticed: Your UI tasks have a 58% higher yak shave rate than your
code review sessions. Maybe start labeling those "quick UI fixes" as
"potential 3-hour adventures" in your calendar.
Here's the full breakdown: