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/capitalone/context-specs/wiki-initnpx skills add capitalone/context-specs --skill wiki-initgit clone --depth 1 https://github.com/capitalone/context-specsWrote 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/capitalone/context-specs/wiki-init)<a href="https://agentmods.dev/skills/capitalone/context-specs/wiki-init"><img src="https://agentmods.dev/badge/skills/capitalone/context-specs/wiki-init.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 | $0.00109 | $0.03004 |
| Opus 5 | $0.00055 | $0.01502 |
| Sonnet 5 | $0.00022 | $0.00601 |
| Haiku 4.5 | $0.00011 | $0.00300 |
Grade A, and why
wiki-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 3d 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 — 209 lines — stays where its author put it; the contents beside it link to each section on GitHub.
wiki-init
Stand up a standalone LLM-maintained wiki, step by step, as a guided expert session. The developer should finish understanding exactly what was created, why it matters, and how to use it — with every artifact reviewed and tweakable.
This wiki is not a project artifact. It is a durable knowledge base about a
domain and your general architecture best practices — knowledge that spans
projects. It lives outside any app codebase, in its own git repo. Its audience
is you, the human: the point is to build your mental model of the problem
space so that when you reach /intent, you can express sharper intent.
The pattern (and the credit)
The shape here is Andrej Karpathy's "LLM Wiki" idea: rather than RAG (retrieve-augment-generate at query time), you do the synthesis once, at ingest time, into a persistent, cross-linked set of markdown pages that compound as sources accumulate. The bookkeeping that makes humans abandon wikis — updating cross-references, reconciling pages, keeping the map current — is exactly what an LLM is good at. The human curates sources and asks questions; the LLM does the maintenance. Credit the idea to Karpathy's LLM Wiki by name when you explain it.
What wiki-init ships is the hardened version of that idea — the disciplines that
keep it from rotting past ~100 sources. See references/llm-wiki-pattern.md for the
provenance and what we kept vs. changed, and references/hardening-lessons.md for the
disciplines and why each one earns its place.
The philosophy (read this; teach it as you work)
Don't recite these — embody them, and surface the relevant one in plain language when it explains a move you're making.
- P1 — Synthesis at ingest, not at query. The whole value is that connections are
drawn once when a source lands, into durable pages — not re-derived on every
question.
/queryreads the synthesizedwiki/, never theraw/sources. If a question can't be answered fromwiki/, the answer is "ingest more," not "let me go read the raw docs." - P2 — The wiki is for the human. Pages are written to be read by you (and browsed in Obsidian), to build your model of the domain and its architecture. This is deliberately the opposite of an "AI-first vault." It is also the bright line against the project Expert, which is agent-first code memory: wiki = cross-project domain + architecture knowledge; Expert = per-project code memory.
- P3 — Cite or stay silent. Every non-trivial claim on a wiki page traces to at
least one
[[source]]. If you can't cite it, you don't write it — you say so and name a source to ingest. This is what makes the wiki trustworthy rather than a pile of confident guesses. - P4 — Plan before you write; everything reversible.
/ingestproposes a concrete change plan and waits for approval (unless--yolo). Combined with the wiki being its own git repo, nothing is ever an irreversible mutation — you can always see what changed and revert. Automation is "everything reversibly," not "everything always." - P5 — Three layers, one rule each.
raw/is immutable source material (never edited, except/ingestsaving a URL fetch).wiki/is LLM-synthesized, cross-linked pages._meta/is the ingest log + lint reports. The layering is what lets/querytrustwiki/and lets you trace any claim back to its raw origin. - P6 — The wiki compounds; the lint keeps it honest. Pages get rewritten as new
evidence arrives (a superseded claim is updated, the old version preserved as a dated
note — not silently appended-around).
/lintis the periodic garbage-collector: broken links, orphans, stale claims, contradictions — surfaced for review, only the safe categories auto-fixed. - P7 — Understanding feeds Intent. This is why you're building it. A richer wiki
means a sharper
/intent: you arrive at the PRD conversation already understanding the domain's concepts, the regulatory/architectural constraints, the trade-offs. Name this payoff to the user — it's the reason the phase exists. - P8 — Transparent, shared understanding. Explain → confirm → act → take feedback. The user ends able to drive the wiki themselves and knows why each piece is there.
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.
- assets/commands/ingest.md 6.9 KB
- assets/commands/lint.md 6.7 KB
- assets/commands/query.md 6.1 KB
- assets/gitignore.snippet 382 B
- assets/MOC.md.template 849 B
- assets/README.md.template 2.6 KB
- assets/WIKI-CONVENTIONS.md.template 6.0 KB
- references/domain-discovery.md 3.3 KB
- references/hardening-lessons.md 4.8 KB
- references/llm-wiki-pattern.md 4.0 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.
- 3d ago First seen · 209 lines · 109 tokens per session scan A 3b4c2966ab5b
wiki-init is a skill published in the GitHub repository capitalone/context-specs (41 stars, last pushed 9d ago), licensed Apache-2.0. It adds 109 tokens to every session and 3,004 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
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…