SpecStory is a local-first tool that records and indexes conversations with AI coding assistants so developers can search, reuse, and share their solutions. It is for preserving coding decisions, snippets, and other knowledge across projects and development tools. Its catalogue skills and commands process saved sessions into reusable agent skills and connect the workflow to coding agents.
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/getspecstory --skill loregit clone --depth 1 https://github.com/specstoryai/getspecstoryWrote 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/getspecstory/lore)<a href="https://agentmods.dev/skills/specstoryai/getspecstory/lore"><img src="https://agentmods.dev/badge/skills/specstoryai/getspecstory/lore.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 5 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Prompt Injection · line 86 Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.Fix: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content.
- medium Rogue Agent · line 255 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Rogue Agent · line 443 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Agent Snooping · line 453 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 458 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.00109 | $0.08179 |
| Opus 5 | $0.00055 | $0.04090 |
| Sonnet 5 | $0.00022 | $0.01636 |
| Haiku 4.5 | $0.00011 | $0.00818 |
Grade A, and why
lore 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 8d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- lore — 97% identical, 6 lines differ
How it starts
The opening of the file, as written. The whole thing — 546 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Lore
Your sessions are your lore. This skill turns a user's real coding history into installed skills.
A deterministic engine (scripts/mine-skills.mjs) parses their SpecStory transcripts - from every
agent SpecStory captures (Claude Code, Codex CLI, Cursor CLI, Gemini CLI, Factory Droid, DeepSeek,
Antigravity, ...) - into a persistent corpus of beats, and returns corroborated candidates.
You - the calling agent, whichever harness you are - supply all judgment: name them, discard the
generic ones, and interactively forge the good ones into SKILL.md packages grounded in the user's
own commands.
The engine does the retrieval and counting; you do the synthesis. Do not try to read raw transcripts yourself - they can be hundreds of thousands of lines. Run the engine and work from its output.
This skill is harness-portable (agentskills.io format). Where it names a specific tool
(e.g. AskUserQuestion), treat that as "use your harness's equivalent; fall back to plain chat."
Voice: when narrating to the user, talk about mining their lore and skill candidates - e.g. "I'll mine your lore here in for skill candidates." Reserve the word forge for the final act only: creating the skills the user selected (Step 4). Never describe mining, judging, or candidates as "forge-…" anything.
OUTPUT CONTRACT - three LAWS, read before emitting anything to the user
Named failure mode #1 (2026-06-09, BearClaude run): the agent indexed, deep-mined four skills, then jumped straight to AskUserQuestion with bare option labels - ZERO dossiers rendered in chat. The user declined every question because they had nothing to judge by. The entire mining run was wasted.
Named failure mode #2 (2026-06-09, BearClaude run, SAME DAY, fresh session, LAWs in effect): the agent narrated phases correctly, did verification reads, then asked again with NO dossier message - its last message before the question was process narration ("CodeMirrorBundle is alive in today's repo…") - and the question text falsely claimed "dossiers above". Lesson: a felt self-check is not a check. Compliance must be MECHANICAL: the sentinel line below is the check, not your impression.
What ships with it
42 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.
- .claude-plugin/plugin.json 738 B
- .gitattributes 342 B
- .gitignore 36 B
- AGENTS.md 1.6 KB
- AS-BUILT-ARCHITECTURE.md 28 KB
- CHANGELOG.md 13 KB
- CLAUDE.md 11 B
- CONTRIBUTING.md 5.1 KB
- fixtures/golden/forge-plan.md 1.7 KB
- fixtures/projA/.specstory/.project.json 93 B
- fixtures/projA/.specstory/history/2025-07-10_09-00-00Z-fix-the-gitignore.md 736 B
- fixtures/projA/.specstory/history/2026-05-01_10-00-00Z-can-we-run-a.md 1.2 KB
- fixtures/projA/.specstory/history/2026-05-02_11-00-00Z-can-we-run-a.md 1015 B
- fixtures/projA/.specstory/history/2026-05-03_12-00-00Z-can-we-run-a.md 994 B
- fixtures/projA/.specstory/history/2026-05-04_13-00-00Z-check-the-vet.md 1.0 KB
- fixtures/projA/tools/subpkg/.specstory/history/2026-05-07_10-00-00Z-tune-the-subpkg.md 458 B
- fixtures/projB/.specstory/.project.json 93 B
- fixtures/projB/.specstory/history/2026-05-05_14-00-00Z-can-we-run-a.md 795 B
- fixtures/projC/.specstory/.project.json 93 B
- fixtures/projC/.specstory/history/2026-05-10_09-00-00Z-where-is-save-implemented.md 4.0 KB
- fixtures/projC/.specstory/history/2026-05-11_10-00-00Z-where-is-token-validation.md 1.9 KB
- fixtures/provider-antigravity/.specstory/history/2026-05-23_09-00-00Z-run-the-linter.md 567 B
- fixtures/provider-deepseek/.specstory/history/2026-05-22_09-00-00Z-count-source-lines.md 562 B
- fixtures/provider-droid/.specstory/history/2026-05-21_09-00-00Z-show-git-status.md 612 B
- fixtures/provider-gemini/.specstory/history/2026-05-20_09-00-00Z-list-the-workspace.md 610 B
- HOW-IT-WORKS.md 21 KB
- LICENSE 11 KB
- package.json 337 B
- README.md 9.3 KB
- scripts/deep-mine.workflow.js 6.3 KB runs code
- scripts/hooks/validate-plan.mjs 2.5 KB runs code
- scripts/lib/beats.mjs 22 KB runs code
- scripts/lib/db.mjs 3.8 KB runs code
- scripts/lib/discover.mjs 3.3 KB runs code
- scripts/lib/forged.mjs 6.5 KB runs code
- scripts/lib/indexer.mjs 7.4 KB runs code
- scripts/lib/parse.mjs 10 KB runs code
- scripts/lib/patterns.mjs 14 KB runs code
- scripts/lib/report.mjs 22 KB runs code
- scripts/mine-skills.mjs 17 KB runs code
- scripts/theme-sweep.workflow.js 7.5 KB runs code
- tests/engine.test.mjs 45 KB runs code
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.
- 8d ago First seen · 546 lines · 109 tokens per session scan A 2b4774503e85
lore is a skill published in the GitHub repository specstoryai/getspecstory (1,325 stars, last pushed yesterday), licensed Apache-2.0. It adds 109 tokens to every session and 8,179 once invoked, about $0.0005 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
backseat-driver-testing
Testing strategies for Calva Backseat Driver MCP tools. Use when: Testing Backseat Driver, validating tool updates, testing structural editing workflows, verifying REPL evaluation with who-tracking, testing shadow-cljs runtime discovery and targeting, testing output log filtering, testing load-file tool, smoke testing…
backseat-driver
Effective use of the Backseat Driver extension and its tools for Clojure interactive programming. Use when: working in Clojure (including all dialects and runtimes) project, be it reading, planning, developing, or evaluating code in the REPL, looking up function documentation or ClojureDocs examples, choosing REPL…
editing-clojure-files
Structural editing of Clojure files using Backseat Driver tools. Use when editing or planning edits: creating/adding/inserting/replacing/deleting top-level forms, fixing bracket balance, resolving indentation issues, planning multi-edit sequences, recovering from failed edits, or working with Rich Comment Forms in…
as-notes-agent-use
Use when working with the AS Notes VS Code extension - a Personal Knowledge Management System (PKMS). Two use cases: (1) writing/contributing notes in AS Notes format (wikilinks, task tags, aliases, journal entries, kanban cards, outliner mode) - notes can also be published as a static HTML site, and (2) helping users…
icon-jetbrains
Create or review IntelliJ New UI SVG icons, theme variants, sizes, and palette.
release-jetbrains
Use when releasing the Kilo JetBrains plugin -- resolve a version ("next rc" or explicit), run the prepare workflow, edit and commit a filtered human-readable changelog on the release PR, then watch publish to completion.