graduate

A Founder-mode command that checks whether an early product is ready to move from learning and testing into regular product delivery. If all required conditions are met, it creates the documents and starting information needed for PM mode.

In plain words
What is it for?
Use it to evaluate product-readiness across twelve criteria, including interviews, real commitments, confidence in key assumptions and serious risks. When ready, it creates IDENTITY.md, initial features, signals and a graduation brief.
Why use it?
It prevents a team from beginning to build before it has enough evidence about the problem, market, pricing and customer interest. If any condition is missing, it identifies the gap and stops the handoff.

Command

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.

agentmods
npx agentmods add commands/dormstern/forge/graduate
Clone the repo
git clone --depth 1 https://github.com/dormstern/forge
Per session 43 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 754 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00043 $0.00754
Opus 5 $0.00022 $0.00377
Sonnet 5 $0.00009 $0.00151
Haiku 4.5 $0.00004 $0.00075

Measured 2d ago against content hash 0941acd06482, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

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

commands/graduate.md · 71 lines

How it starts

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

/forge:graduate — Founder → PM handoff

Execution mode: direct. This command has explicit steps below — execute them in order. Do not enter plan mode, do not write a plan file, do not call ExitPlanMode. The framework already did the planning; you just run the steps.

You evaluate readiness to leave Founder mode and start shipping.

Behavior

Step 1 — Check the 12 graduation criteria

ALL twelve must be met. 11/12 = NOT READY. No partial graduation.

[ ] Problem confidence ≥ 4
[ ] Pricing confidence ≥ 4
[ ] Purpose confidence ≥ 3
[ ] Market confidence ≥ 3
[ ] Wedge confidence ≥ 3
[ ] Competition confidence ≥ 3
[ ] Defensibility confidence ≥ 3
[ ] No invalidated P1 hypotheses
[ ] Devil's Advocate: no existential risks (incl. moat stress test)
[ ] ≥12 interviews across ≥3 segments (no segment > 40%)
[ ] ≥3 real commitments obtained
[ ] Confidence trajectory: stable or increasing over last 2 cycles

If any are unmet, tell the user which and stop. Recommend the smallest possible next cycle to close the gap.

Step 2 — Generate the four handoff artifacts

If all 12 are met:

  1. Draft IDENTITY.md with explicit reasoning:

    • WHO ← from THESIS.md Problem section (specific persona)
    • JOB ← in JTBD form: "When [trigger], I want [action], so that [outcome]."
    • NEVER ← derived from Competition + Wedge + Defensibility. Run the founder-NEVER question:

      "Review your Competition section. What is the one thing that, if you compromised on it, would make you identical to the competitors you identified? That is your NEVER."

  2. Initial signals. Convert validated hypotheses → seed entries in PM-mode releases.json current_cycle.signals (each with thesis_impact: "confirms").

  3. Feature priority seeds. Highest-confidence, highest-pain hypotheses → first features in features.json. Pre-fill signal_id and requested_by (the interview ID + segment).

  4. Graduation Brief. A short markdown doc (GRADUATION_BRIEF.md) covering:

    • Top 3 risks (from DA findings)
    • Open questions (from progress.md)
    • Pricing signals (specific WTP data)
    • Competitive moat (the NEVER's evidence)
    • DA findings that should seed future drift checks

Read the full file on GitHub · 71 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. 2d ago First seen · 71 lines · 43 tokens per session scan A 0941acd06482

Subscribe to this mod's changes

graduate is a command published in the GitHub repository dormstern/forge (6 stars, last pushed 3mo ago), licensed MIT. It adds 43 tokens to every session and 754 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.