Borrowing it
Nothing to install: this file belongs to Black-coffe/vulyk. 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/Black-coffe/vulyk/main/.claude/commands/vulyk-plan.mdgit clone --depth 1 https://github.com/Black-coffe/vulykWrote 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/commands/black-coffe/vulyk/vulyk-plan)<a href="https://agentmods.dev/commands/black-coffe/vulyk/vulyk-plan"><img src="https://agentmods.dev/badge/commands/black-coffe/vulyk/vulyk-plan/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/commands/black-coffe/vulyk/vulyk-plan"><img src="https://agentmods.dev/badge/commands/black-coffe/vulyk/vulyk-plan.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.00049 | $0.02611 |
| Opus 5.5 | $0.00020 | $0.01044 |
| Sonnet 5.5 | $0.00010 | $0.00522 |
| Haiku 4.5 | $0.00005 | $0.00261 |
Grade A, and why
vulyk-plan 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 yesterday.
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 — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Plan: "$ARGUMENTS"
- Deliverable first. Decide what the owner gets back: changed code or a document. A request to
validate, audit, monitor, assess, research, compare, or "make me a spec / a plan / a report" is study
work, and so is
--study. Study work never cuts a story, dispatches a worker or opens a council: writedocs/specs/<slug>/brief.md(step 2), recon as in step 3 with at most two scouts, and writedocs/specs/<slug>/report.md: findings withfile:lineevidence, what was not read or run, options with the recommended one first and why, and the candidate stories the owner could approve next time (a list, not story files). Commit it asstudy(<slug>): <title>and stop. The owner turns a report into code by running/vulyk-planagain, in their own words. When both readings are genuinely possible, ask one question. - Tier. Classify per the constitution's routing table and announce it with a one-line reason. Tier 0:
do it now, no paperwork. Tier 1-4 continue. The floor:
brief.mdwith## Asksat Tier 1+, verbatim## Requirementsquotes in stories at Tier 2+,wave-check.shandtrace-check.shwhenever stories exist. - Brief. Write
docs/specs/<slug>/brief.md: the request verbatim as a>blockquote, piped throughbash scripts/redact.sh, with the date. A bug report's error text, stack trace and reproduction go in verbatim too. Everything downstream traces back to this file, so never paraphrase it. When the request carries a stack trace, runbash scripts/trace-autopsy.sh docs/specs/<slug>/brief.mdright after:autopsy.mdbeside the brief lists its repo frames, each code line and the last commits that touched it at HEAD (a lead, not a verdict). - Recon. Read
memory/memory.mdand the relevantmemory/map/slices first. A targeted question about a file or two: read them yourself. Dispatchdrone-scoutonly for broad or unmapped territory: Tier 1 none (one if the location is unknown), Tier 2 at most one, Tier 3 at most two, Tier 4 at most four, in parallel. A frame line inautopsy.mdmakes the location known: Tier 1-2 send no scout for it. Tier 2-4: runbash scripts/symbol-map.sh --exact <file>once per file the plan is likely to name (one call on many files is cut at 1536 bytes after a few) and keep every output: the planner dispatch receives it. Checklist, Tier 2-4: meta-tests, docs/ADR,.env.example, re-exports, sibling files with the same pattern. 3a. Horizon, Tier 2-4 on new ground (ADR-022). Skip it for study work, Tier 0-1, no-question mode and--no-horizon;--horizonruns it anyway. New ground is a recon fact: take two to four terms that name the asked capability (its nouns and verbs, not the project's) and Grep them inmemory/memory.md,memory/map/and the source. Zero hits on the capability fires the step; a hit on its container (a folder or file family, such as.claude/commands/for a new command) does not count. An empty repo fires it too. A request inside existing code gets no horizon and no extra question. Announce it in one line in the owner's language: the terms, where they were searched, that the step runs, and that in the default permission mode the three lenses may ask for web search (a refusal is safe: their outside facts come backне подтверждено). VULYK grants no web permission itself. Then dispatchdrone-horizonthree times in one message,lens: altitude,depthandrange, each with the brief path, a one-paragraph recon summary (what was not found and where it was looked for) and the Profile rows Configurations that exist today and Owner language copied verbatim, with no model parameter. Each returns up to three proposals:what,why,cost,check,sources,status,kind(gaporextension) and anask line. A lens that fails or returns nothing is noted, and the step goes on with the others. Cut the candidates to at most three: merge duplicates, and drop what contradicts the Profile's Configurations that exist today or the repo, or is not tied to the owner's goal. A keptkind: gapstays a gap only when you name the ask or the verbatim request fragment that fails without it, and write that fragment beside it; otherwise relabel itextension. Number the kept proposalsH1-H3. Writedocs/specs/<slug>/horizon.md: the terms and where they were searched, every candidate with its verdict (kept, merged or dropped, one-line reason), and the kept proposals, numbered, with their fields and, for a gap, the fragment it rests on. Proposals never go intobrief.mdby themselves; only what the owner picks in the grill does. - Grill, Tier 2-4. Follow
templates/grill.md; it owns every rule of the round, horizon questions included. Its output lands inbrief.mdas## Answersthen## Asks. Tier 1 skips it:## Asksis the task phrase as item 1. - Plan. Tier 1-2: write plan.md yourself from
templates/plan.md. Tier 3-4: dispatchqueen-plannerwith the brief, scout reports, the symbol-map output and map pointers; Tier 4 also consultslead-architecton the central design fork, and both Tier 4 dispatches carrymodel: <top_model>(bash scripts/top-model.sh). Tier 3 passesmodel: <p>fromp="$(bash scripts/model-profile.sh --role planner)"only when it is notopus(else no model parameter). At Tier 3-4, whenbash scripts/model-profile.sh --role routineprintshaiku, add the lineroutine stories: model: haikuto the planner's brief. Aqueen-plannerorlead-architectdispatch that returns the Fable-limit refusal (an error carryingYou've reached your Fable limit/model_requires_usage_credits, or a text that starts withAgent terminated early due to an API errorand carriesreached your Fable limit; a quote is not it) and was not already onopusis redispatched once with the same prompt andmodel: opus; then,<from>the model it was passed (""when none):bash scripts/journal.sh docs/specs/<slug> 01-spec "fallback: <agent> plan <from> -> opus (Fable limit; ADR-015 exception)" "plan",bash scripts/telemetry.sh record fable_limit_fallback 1 0 --spec <slug> --ref <slug>:plan:<agent> --model fable --agent <agent>, and one sentence to the owner, in the owner's language; then go on. A second refusal stops planning and is reported as it is today. No other error is retried this way. - Stories, from
templates/story.md, with nomodel:line (the worker's frontmatter decides):model: opusonly for a long-horizon or judgment-heavy story, with the reason in one line (ADR-015);model: haikufor a routine or reusable story (helpers, boilerplate, a repeated pattern) only when--role routineprintshaiku, with the reason in one line. At Tier 1-2 you build them yourself in order, so cut by review unit: Tier 1 exactly one story, Tier 2 one to three. At Tier 3-4 each story is one worker's job, and it earns its own worker only when it runs in parallel with its wave-mates on disjoint## Files; fold the rest together. A story that adds a branch, a loop, a parser, or handling of money, security or data writes is markedred: requiredby you, the planner, and names the test that fails when that logic breaks: a test file in its own## Fileswhose path appears in its## Verification(sostamp-redseals it), withred_reason:prefilled when the assertion is known. A marked story gets noworker-teststory in a later wave; its test is in the same story. One such test, not coverage, and a trivial change names none. - Check.
bash scripts/wave-check.sh docs/specs/<slug>andbash scripts/trace-check.sh docs/specs/<slug>. Fix what they report in the story files now, including any## Verificationsegment that is not a## Commandscell. - Coverage, Tier 3-4. Dispatch
drone-coveragewith exactly two paths, brief.md and plan.md. An absent or partial ask rides forward as a## Assumptionsline in plan.md, never silently. - Close the plan.
- Tier 1 runs straight through:
bash scripts/cycle.sh briefed docs/specs/<slug> --commit --mode mini-brief, then/vulyk-build <slug>in this session. - Tier 2-4 stop for approval by default. Show the plan in the owner's language: the tier, the stories
by wave (one line each), the
## Assumptions, and what the build will spend (Tier 2: you build, one reviewer per round; Tier 3-4: the workers and seats). Wait. On approval, fill**Approved:**with the owner and the date, runbash scripts/journal.sh docs/specs/<slug> 02-approved "approved by <owner>" branch, and commit the spec directory (vulyk(<slug>): approved;chore(vulyk-<slug>): approvedwhen the Profile's Commit convention names conventional commits, ascycle.shwrites it). A "no" or a change request reopens steps 5-7 once; a second one is a new brief. - Straight-through opt-in, only with
--goor when the grill's last answer asked for it: instead of waiting,bash scripts/cycle.sh briefed docs/specs/<slug> --commit(--mode assumedin no-question mode) and continue.
- Tier 1 runs straight through:
- Launch.
- Tier 2 after approval: tell the owner to
/clearand run/vulyk-build <slug>in a fresh session. The build needs the files, not this planning conversation. Stop here. - Tier 2 with
--go, and Tier 3-4: run/vulyk-build <slug>now.
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.
- yesterday Changed · +7 lines 4ae0cbaa9afa
- 2d ago Changed · +18 lines 3f5d1d67d29a
- 5d ago Changed · +17 lines dbef06c3873e
- 10d ago Changed · +4 lines f2d065a3f382
- 13d ago Changed · +4 lines aee34861c821
- 1mo ago Changed · +1 lines 91932860aa5d
- 1mo ago Changed · -13 lines · +9 tokens per session c2d9adfce036
- 1mo ago Changed · +1 lines 8d89a556c013
- 1mo ago Changed · +53 lines · +23 tokens per session 8ce5130a7b3d
- 1mo ago First seen · 17 lines · 17 tokens per session scan A 47fca013c74b
vulyk-plan is a command published in the GitHub repository Black-coffe/vulyk (2 stars, last pushed today), licensed MIT. It adds 49 tokens to every session and 2,611 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 commands, from other repositories
audit-agents-skills
Audit quality of agents, skills, and commands in a Claude Code project.
security-audit
Comprehensive security audit of your project AND Claude Code configuration. Analyzes secrets exposure, injection surfaces, dependencies, hook security, and produces a scored security posture assessment.
audit-quiz-coverage
Find quiz coverage gaps from recent guide/CHANGELOG/CC-releases changes and propose new questions.
worktree
Create a git worktree for isolated feature/fix work.
sync
Check guide/landing synchronization status.
diff-docs
Compare official Anthropic docs baseline vs current snapshot (no network — instant).