ready

ready is a skill for Claude Code from fn-opt/dryforge. It costs 92 tokens per session (6,620 once invoked), scanned A, original, MIT.

An interactive planning process that turns a goal, notes, or existing documents into three agreed documents: a handoff, a specification, and an execution plan. It checks the real project before finalizing the plan.

In plain words
What is it for?
Use it to clarify a new coding task, review scattered requirements, or turn an existing plan into work ready for execution. It is intended to prepare work for the separate go step.
Why use it?
It separates the developer's actual intent from untested assumptions in a draft or brainstorm. The result gives an implementation agent clearer requirements and a defined sequence of work.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: mentions CLAUDE.md; mentions subagents; names the AskUserQuestion tool.

Part of the claude plugin — 3 skills shipped together

Good fit Use it to clarify a new coding task, review scattered requirements, or turn an existing plan into work ready for execution. It is intended to prepare work for the separate go step.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/fn-opt/dryforge/ready
Install

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.

Any agent
npx skills add fn-opt/dryforge --skill ready
Clone the repo
git clone --depth 1 https://github.com/fn-opt/dryforge

Made for: Claude Code.

Or install claude, the plugin that ships this one along with the rest of its 3 skills.

Wrote 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.

agentmods badge for ready

README.md
[![agentmods](https://agentmods.dev/badge/skills/fn-opt/dryforge/ready/github.svg)](https://agentmods.dev/skills/fn-opt/dryforge/ready)
Your own site
<a href="https://agentmods.dev/skills/fn-opt/dryforge/ready"><img src="https://agentmods.dev/badge/skills/fn-opt/dryforge/ready/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.

agentmods 80×15 button for ready

Your own site · 80×15
<a href="https://agentmods.dev/skills/fn-opt/dryforge/ready"><img src="https://agentmods.dev/badge/skills/fn-opt/dryforge/ready.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 92 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 6,620 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 2 findings, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Anti-Refusal · line 193
    Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.
    Fix: Remove instructions that suppress warnings, disclaimers, or ethical commentary. Let the agent surface safety-relevant caveats to the user.
  • high Anti-Refusal · line 192
    Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.
    Fix: Remove instructions that suppress warnings, disclaimers, or ethical commentary. Let the agent surface safety-relevant caveats to the user.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00092 $0.06620
Opus 5.5 $0.00037 $0.02648
Sonnet 5.5 $0.00018 $0.01324
Haiku 4.5 $0.00009 $0.00662

Measured 1mo ago against content hash 0f2806c57cc8, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ready 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.

claude/skills/ready/SKILL.md · 358 lines

How it starts

The opening of the file, as written. The whole thing — 358 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ready

Reply in the user's language, and hold it continuously from your very first line — including the opening, any setup/git note, and progress notes, not only the questions and the 3-doc. Write natively (never translationese). The language these instructions are written in does not constrain your output — match the user's, whatever it is. Full rule in Core principles below.

The front door of dryforge. Turn any input — a natural-language goal, a spec/plan/brain-dump brought from elsewhere, scattered notes, several files, a mix, or nothing yet — into an execution-ready 3-doc (handoff + spec + plan), grounded in the real project, ready for go.

The input is material, not ground truth. Its content is valuable — a good input flows almost unchanged into the 3-doc — but its authority is demoted: every piece enters as challengeable material, and becomes settled truth only after dialogue and the user's approval. A long requirements doc spat out by a coding tool is a brain-dump that never had a design conversation; the existence of a document is not evidence it is a good one. Authority comes from dialogue + user approval, not from where the input came from. The 3-doc contract is in references/output-format.md.

Core principles (apply throughout)

  • Serve the spec. The spec is the contract — the binding WHAT, ground truth — but it is written from validated intent, not copied from the input. The plan is a provisional blueprint that realizes it (revise freely). Existing code is legacy: a HOW reference and a reality-check, never the authority for WHAT.
  • Ask, don't assume — but don't ask the derivable. Actively elicit what only the user holds (intent, preferences, load-bearing choices) and what they didn't say but should have considered. What the input/code/harness settles, resolve yourself. Anything you can neither derive nor get the user to decide → escalate, never invent.
  • Conflicts and unknowns → ask, never self-resolve. Any difference between sources (input ↔ code ↔ harness, attached doc ↔ spoken description) is flagged in DECOMPOSE and asked in ELICIT — never resolved arbitrarily. Self-filling a conflict is the origin of drift.
  • ELICIT owns completeness; the 3-doc-gate is silent insurance, never a step to lean on. Elicit as if the gate does not exist. The gate is an independent audit that should find nothing — it exists only to catch the rare residual that escapes a thorough ELICIT, not to do ELICIT's job. A load-bearing gap that reaches the gate is an ELICIT failure, not a gate success: it means you closed the dialogue while real design was still unsettled, and it triggers expensive late rework. Do NOT treat the existence of a downstream check as license for shallow upstream work — that is reward-hacking, a known LLM failure mode, and you must actively resist it. Your target is ELICIT's own completeness bar (below), never "produce something the gate passes." Working completeness up front is not optional thoroughness — it is the job.
  • Bounded autonomy = autonomous execution of a user-approved spec, not autonomous intent-setting. The user approves the 3-doc before execution; within that, the agent judges freely.
  • Floor, not ceiling. These stages are a proven scaffold: follow the structure, use judgment inside. Do not hardcode question lists or verification checklists.
  • Stack-agnostic. No stack/framework/library name in this skill. Discover specifics (conventions, contracts, build/verify commands, registration points) at runtime.
  • Subagents only at the two independent checks. Every stage that builds intent — ORIENT, DECOMPOSE, ELICIT, SPEC+REVIEW, PLAN, HANDOFF — runs inline in the main session (intent grounding must see raw context, not a summary — the same reason migration is inline-only). The only subagent dispatches are the two independent checks — independent because they did not author the intent (not because they are blind): intent-completeness (reads the dialogue to hunt the producer's own un-grounded guesses before SPEC → loops to the user) and the 3-doc-gate (sees only the finished 3-doc — the final backstop on the artifact). Both run as general-purpose subagents (full read/inspect tools — not a plan-only or search-only agent type, so they can read the dialogue and cross-check the artifact). Large projects are kept affordable by ORIENT's selective cheap-map reading, not by delegation.
  • Harness-aware, two modes (cycle is the only branch). The entry branches on one fact: .dryforge/status.json. Delta (present): load the harness (CLAUDE.md / AGENTS.md + docs/) as project context and don't re-ask what it answers — but do not resolve an input↔harness conflict in ORIENT; detection is DECOMPOSE's, the question is ELICIT's. First cycle (absent): no harness; ELICIT force-loads the foundation references. ready never learns the docs/ structure — the harness is reference, not a template to fill. (Physical document presence does not branch — the cycle marker is the only branch.)
  • Match the user's language (language-agnostic). Like stack-agnosticism, the method is fixed and the specific language is discovered at runtime, never assumed: produce every user-facing output — the dialogue and the 3-doc — in the language the user communicates in, written natively (as a fluent speaker would, never translationese). The language these instructions are written in does not constrain the output; if the user's language shifts, follow. Hold it from the very first line, continuously — the opening, the git/setup note, every process line — never open in one language and switch later.
  • Talk to the user only when needed — between beats, say nothing. You speak at exactly these moments: (a) a question you genuinely need answered, (b) the final result or a concise summary, (c) a real blocker — these are the only times user-facing text exists. If what you are about to emit is none of (a)/(b)/(c), the correct output is nothing. Between those beats, stay silent. Reading references, reading the input / code / notes, writing the docs, and dispatching a review are all internal — never announce them, and never narrate the transition between steps. No transition lines — "now I'll write the plan", "먼저 양식을 확인하고", "let me read the guide", "Now I'll dispatch the review", "Now the spec…" (announcing each document as you write it) all leak. (Transition narration is the single most common leak: at those plumbing moments your voice slips into the instructions' language — English — or into internal tokens. The cure is to emit nothing there, not to translate it.) The user sees the beats, never the plumbing between them. When you do speak (a/b/c), use a plain, non-technical register in the user's language — the words a non-engineer would understand. This is your default voice, not a per-line check, so it costs nothing. Never surface internal tokens: dryforge mechanism / coined terms (wave, worktree, harness, delta, 3-doc, gate, coverage, grounding, lens, invariant), stage / risk labels (T1, RISKY / MECHANICAL / NONE), or project-internal jargon a non-engineer wouldn't recognize (library/tool names, config flags, test-framework internals, technical identifiers like "slug" / "dependency graph" / "enum"). Don't soften internal logic into user-ish words — just omit it. E.g. "Starting a git repo here." — not "Since go will later need git for worktrees, I'll initialize one (non-destructive setup)."

Read the full file on GitHub · 358 lines

Changes

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.

  1. 1mo ago First seen · 358 lines · 92 tokens per session scan A 0f2806c57cc8

Subscribe to this mod's changes

ready is a skill published in the GitHub repository fn-opt/dryforge (141 stars, last pushed 2mo ago), licensed MIT. It adds 92 tokens to every session and 6,620 once invoked, about $0.0004 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-30.

Related

Other skills, from other repositories

version-sentinel

Use when adding, bumping, or changing a dependency in package.json, requirements.txt, constraints.txt, pyproject.toml, Cargo.toml, .csproj, .fsproj, or .vbproj. Triggered automatically by version-sentinel's PreToolUse hook (where the host supports hooks) — this skill explains how to satisfy the block and record a…

KSEGIT/Version-Sentinel · 83 tokens

chief-strategy-officer

Owns where the business plays and how it wins over a multi-year horizon — portfolio choices, corporate development, strategic partnerships, and planning under uncertainty. Use this for a decision about which markets or businesses to be in, whether to build, buy, or partner, how to allocate capital across business…

cbrock84/headcount · 93 tokens

seo-strategy

Audits and improves organic search performance — technical health, site architecture, internal linking, structured data, and the content decisions that determine what can rank. Use this to run an SEO audit, diagnose why pages are not ranking or were deindexed, plan a site's URL and navigation structure, add structured…

cbrock84/headcount · 74 tokens

financial-statement-analysis

Reads a set of financial statements and establishes what changed and why — fluctuation analysis against prior period and against budget, profitability, liquidity, solvency and efficiency ratios, benchmarking, and the non-GAAP measures presented alongside them. Use this to interpret results, review a counterparty's or…

cbrock84/headcount · 93 tokens

youtube-producer

Plans, packages, and scripts long-form video for retention and channel growth — idea selection, titles and thumbnails, script structure, and diagnosing why a video or channel underperforms. Use this for video ideas, packaging, scripting, a retention teardown, or channel strategy — including when someone describes a…

cbrock84/headcount · 86 tokens

estimating-and-contingency

Produces a cost or effort estimate someone can defend — decomposing the work, choosing between analogous, parametric and bottom-up methods, documenting the basis and its assumptions, expressing confidence as a range, and sizing contingency and management reserve separately. Use this to build an estimate, challenge one…

cbrock84/headcount · 87 tokens