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 ijust/intent-planner --skill intent-to-specgit clone --depth 1 https://github.com/ijust/intent-plannerWrote 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/ijust/intent-planner/intent-to-spec)<a href="https://agentmods.dev/skills/ijust/intent-planner/intent-to-spec"><img src="https://agentmods.dev/badge/skills/ijust/intent-planner/intent-to-spec/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/ijust/intent-planner/intent-to-spec"><img src="https://agentmods.dev/badge/skills/ijust/intent-planner/intent-to-spec.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.00047 | $0.05323 |
| Opus 5.5 | $0.00019 | $0.02129 |
| Sonnet 5.5 | $0.00009 | $0.01065 |
| Haiku 4.5 | $0.00005 | $0.00532 |
Grade A, and why
intent-to-spec 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 1mo 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 — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
intent-to-spec Skill
Core Mission
- Success Criteria:
- Reads current functionality within the user-specified scope (source scope: Intent subtree / packet group / steering constraints / cross-cutting requirements) read-only, binding the three layers with related downstream designs and existing verification results while preserving provenance and confirmation status (R1.1 / R1.2). Follow
rules/source-scope.mdfor source selection. - When the source scope is ambiguous, or the corresponding artifact is absent, generates no natural-language Spec and stops, showing the user what is ambiguous (the available scope) or which artifact is missing (the relevant skill to prepare it) (R1.3)
- Treats the projection sources (intent-tree / compass / packets / steering) read-only, and does not create, modify, or delete them (R1.4)
- Composes the natural-language Spec per the specified target format (the why-fronted upstream layout / the requirements-crossing integrated spec / their middle), and when no format is specified, uses the default and states explicitly in the output which format it was generated in (R2.1 / R2.4)
- Satisfies trace assignment, inferred marking, invariant preservation, and the supplemented-places list (done in Step 4; R3.1 / R3.2 / R3.3 / R3.4)
- Outputs the artifact as derived (regenerable) under
.intent/nl-spec/by full replacement, and never creates, modifies, or deletes any canonical artifact (intent-tree / compass / packets). Does not put operational boilerplate about derivation, source-of-truth status, Git tracking, or internal paths into the generated document (R4.1 / R4.2 / R4.3) - Does not modify application code in the intent-planning phase (R4.4). Follows the
intent-*naming convention, does not modify external spec tools or the kiro-* development environment, does not callmap-cc-sdd.md, and does not change the behavior of/intent-export-cc-sdd(R5.5)
- Reads current functionality within the user-specified scope (source scope: Intent subtree / packet group / steering constraints / cross-cutting requirements) read-only, binding the three layers with related downstream designs and existing verification results while preserving provenance and confirmation status (R1.1 / R1.2). Follow
Execution Steps
Step 1: Source interpretation (confirm scope and depth; do not generate if ambiguous/absent)
- Important-decision entry check: Read the target Intent Tree, Intent Compass, packets, and related Open Questions, and use
CONTRACT.mdto classify important decisions that change this generation's scope or authority. Where human judgment is needed, present a provisional answer, rationale, and conditions that would change the recommendation; pause only the affected scope until a decision, exclusion from scope, or scope-limited explicit continuation is obtained. However, documenting an undecided design in the sources as “unresolved” is not a design decision: do not stop generation or request approval merely to report it. This skill neither updates source materials nor approves designs. - When the user runs
/intent-to-spec, first interpret the argument's scope hint, format specification, and output-depth specification perrules/source-scope.md. For any axis the arguments alone do not uniquely determine, ask the user viaAskUserQuestionand wait for the answer before confirming (do not fill in by guessing). - Document-suite selection: When explicitly asked for “document suite,” “詳細文書群,” or an overall index with designs organized by category, read
rules/format-document-suite.mdand use its route instead of the subsequent single-document depth, mapping, and destination rules. Share scope confirmation, output-form selection, common reading, and fabrication checks. “Detailed” alone remains a single document. When depth is unspecified, offer “document suite (overall index and designs by category)” alongside the existing three levels in the same question; do not reask an explicit selection. Only when a thickness-fixed layout and a suite are both requested, clarify the intended structure. - Output-depth confirmation (per the "output-depth axis" in
rules/source-scope.md): confirm how deeply to write (brief / standard / detailed), riding the same dialogue completion as the range axes. When depth is made explicit in the arguments (e.g. "detailed," "in brief"), do not ask (do not add unnecessary questions). When it is not explicit, ask once, before generating, viaAskUserQuestion(present the three levels as peers, without putting a "reasonable default" up front = anchoring avoidance). This is deliberately asymmetric to how format is treated when unspecified (silently use the default): missing thickness is invisible to the reader, so it is confirmed before generating (details in the corresponding section of source-scope). - Output-form confirmation (DR189, multiple choice): confirm which form to output (
Markdown/self-contained HTML/Marp slide Markdown), riding the same position as the depth confirmation. When the form is made explicit in the arguments (e.g. "in HTML," "and Marp"), do not ask (do not add unnecessary questions). When it is not explicit, ask once, before generating, viaAskUserQuestion(multiple choice; present the three forms as peers). When unspecified / unanswered / dialogue is not possible, output only the defaultMarkdown(backward-compatible; the default form is provisional). Write only the chosen forms in Step 5. - Screen-material handling confirmation (DR190, fires only for a case with no screen-sketch record): only when the layout being generated deals with screens / touchpoints (an integrated design document, etc.) and the intent-tree's
## 画面ラフ参照(screen-sketch reference) is "none" (not out of scope, and no path/link either), ask the user once before generating, viaAskUserQuestion, to choose between "derive a screen-transition diagram with an inferred mark" and "only state 'no screen material'." Do not fire for a case where the screen sketch exists as a "path/link" or a case that is "out of scope" (if it exists, project it; if out of scope, do not raise a screen section). Do not ask when the handling is made explicit in the arguments. The body of the convention follows "Material for the screens / touchpoints section" inrules/format-integrated.md(a derived diagram must have an inferred mark; do not fabricate). - No-generation gate (fail-fast. R1.3): when the source scope is ambiguous (no axis is uniquely determined by arguments or dialogue) or the corresponding artifact is absent (the specified intent-tree / compass / packet / steering does not exist or is unfilled), generate no natural-language Spec and write nothing under
.intent/nl-spec/. Name and present what is ambiguous (the available scope: existing subtrees, packet list, presence of steering) or the missing artifact (the relevant skill to prepare it: discover / compass / packets, etc.), and stop. - Apply that gate according to the definition of missing foundational materials in
rules/source-scope.md. Do not stop solely because a legacy aggregate file is absent when split canonical files exist. Distinguish unresolved individual designs from insufficient reading, and generate the known scope. - Once scope and depth are confirmed, proceed to Step 2.
What ships with it
10 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.
- rules/fabrication-guard.md 9.5 KB
- rules/format-decision-memo.md 6.0 KB
- rules/format-document-suite.md 11 KB
- rules/format-integrated.md 23 KB
- rules/format-nonprogram.md 11 KB
- rules/format-stakeholder-onepager.md 5.2 KB
- rules/format-status-report.md 4.6 KB
- rules/format-upstream.md 14 KB
- rules/reader-vocabulary.md 5.0 KB
- rules/source-scope.md 22 KB
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.
- 1mo ago Changed · +8 lines · +2 tokens per session 713567656980
- 2mo ago First seen · 96 lines · 45 tokens per session scan A 9fee71fb096e
intent-to-spec is a skill published in the GitHub repository ijust/intent-planner (5 stars, last pushed 1mo ago), licensed MIT. It adds 47 tokens to every session and 5,323 once invoked, about $0.0002 per session on Opus 5.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-31.
Other skills, from other repositories
repo-hygiene
Use when the scheduled repo-hygiene workflow runs from GitHub Actions (or an operator dry-run) to scan the repository for small, certain docs/test/code hygiene issues and fix them as one batched branch.
test-failure-explorer
Import and query an existing Vitest 3.2 JSON report to explore test failures, file-level errors and original diagnostic evidence.
requirements-writer
Use when converting PM intake into a slice SPEC.md with observable acceptance outcomes, explicit scope, and advisory sibling build dependencies.
refocusing
Use when a long-running agent may have lost the product outcome, when context was compacted, when work has crossed a major boundary, or when a fresh path-based trace is needed before the next consequential action. Not for fresh-session orientation, waking an idle seat, or checkpoints.
orchestration-team
Use when coordinating assignments, selected review boundaries, or blocked work across a rig.
oversight-team
Use when you are a seat on the oversight pod (a standing monitor-mode rig that keeps OTHER rigs healthy), configuring or running the drift detectors, or choosing whether to intervene vs escalate. Covers the pull-not-poll posture, the v0 detectors (premature-park, process-drift, off-task, token-burn), the intervention…