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/andyrids/icm-spec/initnpx skills add andyrids/icm-spec --skill initgit clone --depth 1 https://github.com/andyrids/icm-specWhat 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 | $0.00037 | $0.00652 |
| Opus 5 | $0.00018 | $0.00326 |
| Sonnet 5 | $0.00007 | $0.00130 |
| Haiku 4.5 | $0.00004 | $0.00065 |
Grade A, and why
init 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 2d 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.
What it actually says
Scaffold ICM into this repository
First, run uv --version through Bash. If it fails, stop and scaffold nothing: every gate this
plugin ships runs through uv, and a gate that cannot start is treated as a non-blocking error,
so the tree would carry enforcement that silently fails open. Tell the user to install uv
(https://docs.astral.sh/uv/getting-started/installation/) and re-run /icm:init.
Then copy the tree under ${CLAUDE_SKILL_DIR}/templates/ into the repository root. The
operation is idempotent: a destination file that already exists is left untouched, and
re-running reports exists per file rather than rewriting anything.
Mapping, template path to destination:
| Template | Destination |
|---|---|
AGENTS.md |
AGENTS.md |
CONTEXT.md |
CONTEXT.md |
CHANGELOG.md |
CHANGELOG.md |
gitignore |
.gitignore |
specs/README.md |
specs/README.md |
plans/README.md |
plans/README.md |
ICM/** (all files) |
ICM/** |
Then:
- If
.gitignorealready existed, append any template lines it is missing (the stageoutput/ignore is load-bearing) instead of overwriting. - Point
CLAUDE.mdatAGENTS.md: create a symlink where the platform allows it, otherwise write aCLAUDE.mdcontaining only@AGENTS.md. - Copy every
output/.gitkeepandshared/.gitkeepso the empty directories survive a clone. - Report one line per file -
writtenorexists- and finish by naming the two entry points:/icm:specify <feature request>for work that changes whatspecs/**declares, and/icm:express <change request>for work that conforms to a spec already committed. The rootCONTEXT.mdis the authority on choosing between them.
Do not tailor the copied files to the project during init. They are the factory configuration;
project-specific reference material (ICM/_config/reference-toolchain-*.md) is added by the
user as tools come into play.
The one exception is the [Project name] identity block at the top of AGENTS.md, which is a
placeholder rather than configuration. Leave it as written and tell the user it is theirs to fill
in - an unfilled identity block is visible, whereas a guessed one is not.
What ships with it
25 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.
- templates/AGENTS.md 3.6 KB
- templates/CHANGELOG.md 589 B
- templates/CONTEXT.md 1.2 KB
- templates/gitignore 258 B
- templates/ICM/_config/reference-standard-changelog.md 650 B
- templates/ICM/_config/reference-standard-markdown.md 7.6 KB
- templates/ICM/_config/reference-standard-naming.md 2.2 KB
- templates/ICM/_config/reference-standard-spec.md 8.8 KB
- templates/ICM/_config/reference-standard-techspec.md 2.0 KB
- templates/ICM/_config/reference-standard-validation.md 7.1 KB
- templates/ICM/_config/reference-standard-yagni.md 1.8 KB
- templates/ICM/express-change/CONTEXT.md 2.1 KB
- templates/ICM/express-change/stages/01-change/CONTEXT.md 1.8 KB
- templates/ICM/process-plan/CONTEXT.md 1.9 KB
- templates/ICM/process-plan/shared/.gitkeep 0 B
- templates/ICM/process-plan/stages/01-specification/CONTEXT.md 1.8 KB
- templates/ICM/process-plan/stages/01-specification/output/.gitkeep 0 B
- templates/ICM/process-plan/stages/02-implementation/CONTEXT.md 1.2 KB
- templates/ICM/process-plan/stages/02-implementation/output/.gitkeep 0 B
- templates/ICM/process-plan/stages/03-verification/CONTEXT.md 1.5 KB
- templates/ICM/process-plan/stages/03-verification/output/.gitkeep 0 B
- templates/ICM/process-plan/stages/04-documentation/CONTEXT.md 1.3 KB
- templates/ICM/process-plan/stages/04-documentation/output/.gitkeep 0 B
- templates/plans/README.md 6.9 KB
- templates/specs/README.md 5.1 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.
- 2d ago First seen · 52 lines · 37 tokens per session scan A 6ed3dc408245
init is a skill published in the GitHub repository andyrids/icm-spec (2 stars, last pushed 14d ago), licensed Apache-2.0. It adds 37 tokens to every session and 652 once invoked, about $0.0002 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-31.
Other skills, from other repositories
tldr
Generate a review-oriented TLDR of GitHub Spec Kit artifacts (spec.md and/or plan.md) as a self-contained HTML dashboard plus a Markdown version, to make reviewing those files in a pull request faster. Use this skill whenever the user wants to review, summarize, "TLDR", skim, or get an overview of a Spec Kit spec.md…
tldr-delete
Remove generated speckit-tldr output — the .tldr.html and .tldr.md files and the specs/ /tldr/ directories that hold them — so these local review artifacts are not committed into a pull request. Use this skill whenever the user wants to delete, remove, clean, clear, or "clean up" the TLDRs that the tldr skill…
create-mcp-server
Build, iterate, and evaluate Model Context Protocol (MCP) servers that expose external services as tools an LLM can call. Covers schema/tool design, error handling, pagination, MCP Inspector testing, and an eval set. Use when asked to "build an MCP server", "create an MCP tool", "wrap this API as MCP", "expose X to…
model-compatibility
Model family compatibility matrix covering loaders, resolutions, samplers, CFG, VAE, ControlNet, and LoRA compatibility for SD 1.5, SDXL, Flux, SD3, and video models.
comfyui-node-registry
Authoring & publishing ComfyUI custom nodes to the Comfy Registry, covering node structure, pyproject.toml spec, comfy-cli publishing, and CI.
civitai
Discover Civitai models with the BUILT-IN downloadmodel action:"searchcivitai" and install/generate them locally. Find a checkpoint/LoRA/embedding on Civitai, download it into ComfyUI, and use its trigger words. Optionally pair the official Civitai MCP for community features (images browsing, posting, collections).