Borrowing it
Nothing to install: this file belongs to alfredoperez/speckit-companion. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/alfredoperez/speckit-companion/main/.claude/skills/eval-speckit-extension/SKILL.mdgit clone --depth 1 https://github.com/alfredoperez/speckit-companionWrote 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/alfredoperez/speckit-companion/eval-speckit-extension)<a href="https://agentmods.dev/skills/alfredoperez/speckit-companion/eval-speckit-extension"><img src="https://agentmods.dev/badge/skills/alfredoperez/speckit-companion/eval-speckit-extension/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/alfredoperez/speckit-companion/eval-speckit-extension"><img src="https://agentmods.dev/badge/skills/alfredoperez/speckit-companion/eval-speckit-extension.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00116 | $0.01698 |
| Opus 5 | $0.00058 | $0.00849 |
| Sonnet 5 | $0.00023 | $0.00340 |
| Haiku 4.5 | $0.00012 | $0.00170 |
Grade A, and why
eval-speckit-extension 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 — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Eval: speckit-extension
The regression net for the speckit-extension (the spec-kit-side half of SpecKit Companion). It verifies the assumptions behind each feature against a real spec the user created, combining a deterministic file checker with a conversational cross-check of what the user actually did this session. Re-run it whenever a lifecycle/auto-mode/future feature ships.
Eval areas (add a section per feature as the extension grows):
- Lifecycle capture (shipped) — hooks →
write-context.py→ canonicalhistory[]; per-task journaling; derive-from-files fallback. - Command quality (shipped) —
check_quality.py: verbosity budgets on the spec artifacts, time-waste checks onhistory[](untrusted spans, bursts, outliers), static prompting checks on the command-body sources. - Auto-mode (future) — add checks here when it lands.
- …
Steps
1. Resolve the target spec
- If the user named a spec (
NNNor a dir), usespecs/<that>/. - Else pick the spec the user most recently created/ran in this conversation (whose
/speckit.*or/sdd:*commands appear above). Fall back to the most recently modifiedspecs/*/containing.spec-context.json.
2. Run the deterministic checker
python3 .claude/skills/eval-speckit-extension/check_capture.py specs/<NNN>-<slug>/
Read the PASS/FAIL/INFO rows and the timing breakdown. (--json for machine output; --strict to exit non-zero on any FAIL.)
2b. Run the command-quality checker
python3 .claude/skills/eval-speckit-extension/check_quality.py --feature-dir specs/<NNN>-<slug> --commands-dir speckit-extension/commands
Same report shape plus a WARN tier (judgment calls — budgets, duration outliers, untrusted spans; never affects --strict, which fails only on FAIL). Three dimensions: verbosity (spec/plan/tasks against line/char WARN/FAIL bands calibrated on the completed specs 484/509/510 — only oversize flags; a missing or lean artifact is fine), time-waste (each reached step's span trusted only with ordered extension-stamped boundaries; ≥3 by:ai task finishes inside one second FAIL as the pre-#509 burst shape; a step >8× the median of the others and >5m WARNs), and prompting (never-halts commands — the after-* hooks, living-drift/sync/coverage, mark-complete, status, resume, classify — must contain no ask-the-user instruction; the clarify carrier must ask; negated mentions and fenced templates don't count; a missing roster file fails loudly). CI runs all three strict over specs/509-timing-capture, specs/510-living-sync, and the shipped command sources.
What ships with it
3 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 · 69 lines · 116 tokens per session scan A 7a185e2eb843
eval-speckit-extension is a skill published in the GitHub repository alfredoperez/speckit-companion (90 stars, last pushed today), licensed MIT. It adds 116 tokens to every session and 1,698 once invoked, about $0.0006 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
deno-knowledge-patch
Use this skill when choosing current Deno runtime APIs, CLI options, configuration, dependency behavior, Node compatibility, or deployment workflows. Open the topic reference before changing a project because several commands, flags, APIs, and defaults changed more than once.
bun-knowledge-patch
Use this skill when working on Bun applications, packages, builds, tests, servers, or Node.js compatibility. Check the relevant reference before relying on older Bun behavior or translating Node-oriented code.
drizzle-knowledge-patch
Use this skill when work touches Drizzle SQL identifiers or aliases, Drizzle Kit module loading, or Zod schemas generated from Drizzle tables.
ts-debug
TypeScript/Node debugging expert. Use when the user needs to debug, profile, or trace TypeScript or Node.js code — e.g. "how do I debug this", "find the memory leak", "why is this slow", "add a breakpoint", "profile this function", "why won't the process exit".
typescript-pro
Implements advanced TypeScript type systems, creates custom type guards, utility types, and branded types, and configures tRPC for end-to-end type safety. Use when building TypeScript applications requiring advanced generics, conditional or mapped types, discriminated unions, monorepo setup, or full-stack type safety…
api-development
This skill should be used when implementing backend API services, file operations, and process management in TypeScript/Node.js.