Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add specstoryai/agent-skills --skill specstory-yakgit clone --depth 1 https://github.com/specstoryai/agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/specstoryai/agent-skills/specstory-yak)<a href="https://agentmods.dev/skills/specstoryai/agent-skills/specstory-yak"><img src="https://agentmods.dev/badge/skills/specstoryai/agent-skills/specstory-yak/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/specstoryai/agent-skills/specstory-yak"><img src="https://agentmods.dev/badge/skills/specstoryai/agent-skills/specstory-yak.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00061 | $0.01927 |
| Opus 5 | $0.00030 | $0.00963 |
| Sonnet 5 | $0.00012 | $0.00385 |
| Haiku 4.5 | $0.00006 | $0.00193 |
Grade A, and why
specstory-yak scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 197 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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
- Parses specstory history files from a date range (or all recent sessions)
- Extracts the initial user intent from the first message
- Tracks domain shifts: file references, tool call patterns, goal changes
- Scores each session from 0 (laser focused) to 100 (maximum yak shave)
- 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-yak january |
--from 2026-01-01 --to 2026-01-31 |
/specstory-yak from jan 15 to jan 20 |
--from 2026-01-15 --to 2026-01-20 |
/specstory-yak by modification time |
--by-mtime |
/specstory-yak last 14 days as json |
--days 14 --json |
/specstory-yak save to yak-report.md |
-o yak-report.md |
/specstory-yak last 90 days output to report |
--days 90 -o report.md |
Direct Script Usage
python /path/to/skills/specstory-yak/scripts/analyze.py [options]
Arguments:
--days N- Analyze last N days (default: 7)--from DATE- Start date (YYYY-MM-DD)--to DATE- End date (YYYY-MM-DD)--path PATH- Path to .specstory/history (auto-detects if not specified)--top N- Show top N worst yak shaves (default: 5)--json- Output as JSON--verbose- Show detailed analysis--by-mtime- Filter by file modification time instead of filename date-o, --output FILE- Write report to file (auto-adds .md or .json extension)
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 197 lines · 61 tokens per session scan A 0db8e76e63ac
specstory-yak is a skill published in the GitHub repository specstoryai/agent-skills (35 stars, last pushed 7mo ago), licensed Apache-2.0. It adds 61 tokens to every session and 1,927 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
codex-setup
Initialize sd0x-dev-flow infrastructure for Codex CLI and other non-Claude agents. Generates AGENTS.md, installs the commit-msg hook, copies runner scripts. The pre-push gate is opt-in via --with-push-gate. Use when setting up a new project or after updating skills.
smart-rebase
Smart partial rebase for squash-merge repositories. Auto-detect which commits to keep/drop when base branch was squash-merged into target. Use when: user says 'rebase', 'partial rebase', 'base already merged', 'smart rebase', or /smart-rebase. Not for: simple git rebase (the developer runs it — Claude never executes…
recap-doc
Post-development recap document generator. Use when: AI/Codex has implemented a feature and the user needs a guided walkthrough of what changed and why, with blind-spot detection and anticipated questions. Not for: Q&A follow-up (use /recap-ask), technical share-out for teammates (use /tech-brief), or generic code…
test-review
Test coverage review via Codex exec. Use when: reviewing test sufficiency, identifying coverage gaps, test quality audit. Not for: generating tests (use codex-test-gen), code review (use codex-code-review). Output: coverage analysis + gap report.
debug
Interactive debugging workflow with hypothesis-driven probe loop. Use when: unknown bugs, script errors, silent failures, troubleshooting. Not for: known bugs (use bug-fix), GitHub issue analysis (use issue-analyze), code understanding (use code-explore). Output: debug report with probe journal + root cause + fix.
runbook
Generate and update feature release runbooks from existing docs and codebase. Use when: creating operational runbook, release handbook, deployment checklist, pre-release preparation. Not for: incident response (v2), code review (use codex-code-review), architecture design (use architecture).