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 agentmods add skills/juanklagos/spec-driven-development-template/sdd-servenpx skills add juanklagos/spec-driven-development-template --skill sdd-servegit clone --depth 1 https://github.com/juanklagos/spec-driven-development-templateWrote 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/juanklagos/spec-driven-development-template/sdd-serve)<a href="https://agentmods.dev/skills/juanklagos/spec-driven-development-template/sdd-serve"><img src="https://agentmods.dev/badge/skills/juanklagos/spec-driven-development-template/sdd-serve.svg" alt="Measured on agentmods" 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.00080 | $0.01271 |
| Opus 5 | $0.00040 | $0.00635 |
| Sonnet 5 | $0.00016 | $0.00254 |
| Haiku 4.5 | $0.00008 | $0.00127 |
Grade A, and why
sdd-serve 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 5d 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 — 43 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Serve the SDD queue / Atiende la cola SDD
Serve the SDD Builder's AI request queue.
Loop:
- Call
sdd_next_request(projectRoot: the current workspace, agent: your name). - If it returns
request: nullthere is no work: say so in one line and poll again when the user asks (or on the next cycle if you are looping). - If it returns a request, read all of it:
targetsays which field it is (spec.md section, task, note or logbook entry),currentTextis what exists today andinstructionis what the person asked for. 3b. If it carriescontext(spec 039), that is the rest of the spec the field belongs to: READ-ONLY background. Use it to match the spec's vocabulary, respect its scope and avoid contradicting what is already written. Do not rewrite it or return it. If you still lack something to draft well — the plan, the tasks, another spec, a logbook decision — READ it from the workspace with the read tools before proposing: you have access, and a misaligned proposal costs more than a lookup. - Draft ONLY the proposed text for that field, in the language of the current text and in its format (a list returns one line per item; criteria keep the EARS pattern "WHEN … THE SYSTEM SHALL …"). For
structure-idearequests, return exactly the JSON the instruction asks for, with no markdown around it. 4b. Forreview-specrequests (spec 036) do not draft: REVIEW. Read the spec carried in the instruction and return ONLY this JSON, no markdown: {"summary": "...", "findings": [{"section": "story|scenarios|criteria|requirements|properties|successCriteria|outOfScope", "severity": "blocker|warning|note", "finding": "what is wrong", "why": "why it matters"}]}. Findings, never a rewritten spec: the person fixes it, field by field. - Answer with
sdd_respond_request(the request id, proposal: your text). - Repeat from step 1.
Hard rules:
- Do NOT write any file under
specs/and do not use the spec-writing tools. Your proposal is not applied: the person reviews it as a diff in the builder and only their acceptance writes. - Do not invent context that is not in the request or the workspace; read it when you lack it, and if something is still ambiguous, propose the best version and say so in one sentence at the end.
- Do not ask for permission between requests: the permission IS the builder's Accept button.
Atiende la cola de peticiones de IA del SDD Builder.
Bucle:
- Llama a
sdd_next_request(projectRoot: el workspace actual, agent: tu nombre). - Si devuelve
request: null, no hay trabajo: dilo en una línea y vuelve a consultar cuando el usuario te lo pida (o en el siguiente ciclo si estás en bucle). - Si devuelve una petición, léela entera:
targetdice qué campo es (sección de spec.md, tarea, nota o entrada de bitácora),currentTextes lo que hay hoy einstructiones lo que pide la persona. 3b. Si traecontext(spec 039), es el resto de la spec a la que pertenece el campo: material de SOLO LECTURA. Úsalo para escribir con su vocabulario, respetar su alcance y no contradecir lo ya escrito. No lo reescribas ni lo devuelvas. Si aun así te falta algo para redactar bien —el plan, las tareas, otra spec, una decisión de la bitácora—, LÉELO del workspace con las tools de lectura antes de proponer: tienes acceso, y una propuesta desalineada cuesta más que una lectura. - Redacta SOLO el texto propuesto para ese campo, en el idioma del texto actual y con su mismo formato (si es una lista, devuelve una línea por elemento; si son criterios, respeta el patrón EARS «CUANDO … EL SISTEMA DEBERÁ …»). Para peticiones
structure-idea, devuelve exactamente el JSON que pide la indicación, sin markdown alrededor. 4b. Para peticionesreview-spec(spec 036) no redactes: REVISA. Lee la spec que viene en la indicación y devuelve SOLO este JSON, sin markdown: {"summary": "...", "findings": [{"section": "story|scenarios|criteria|requirements|properties|successCriteria|outOfScope", "severity": "blocker|warning|note", "finding": "qué está mal", "why": "por qué importa"}]}. Hallazgos, nunca la spec reescrita: quien corrige es la persona, campo a campo. - Responde con
sdd_respond_request(id de la petición, proposal: tu texto). - Repite desde el paso 1.
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.
- 5d ago First seen · 43 lines · 0 tokens per session scan A 2696f0a0d5bb
sdd-serve is a skill published in the GitHub repository juanklagos/spec-driven-development-template (15 stars, last pushed 5d ago), licensed MIT. It adds 80 tokens to every session and 1,271 once invoked, about $0.0004 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
pr-pipeline
Autonomous PR review, fix, test, and merge pipeline.
brief
Product brief and roadmap creation.
milestone
Project health assessment across four dimensions.
retrospective
Sprint retrospective with metrics and adaptive sizing.
revise
Mid-stream plan revision — add, change, drop, or reprioritize.
self-review
Pre-PR code review using specialist subagents.