Method

From idea to merged,
in seven moves.

An opinionated lifecycle for shipping with agents. The same primitives run underneath whether you invoke them via slash command, MCP tool, or CLI. Skip what doesn't fit — the spine is what matters, not every step.

Lifecycle

How a ticket moves from idea to merged.

Seven phases, each with the state change it triggers in Hydrant and the primitive running underneath. The slash commands are Claude Code reference; the same primitives run via MCP tool or CLI.

  1. 01

    Shape

    Capture intent at the right altitude. The output is a ticket someone could pick up cold — problem, scope, acceptance criteria, metadata in proper fields, not prose.

    Hydrant
    Issue created in inbox. Labels, milestone, dependencies wired in one shot.
    Primitive
    mcp__hydrant__create_issue + set_dependencies
    Reference
    /create-issue
  2. 02

    Refine

    Compare the issue against what the codebase actually requires. Fill the gaps the request glossed over — scope, acceptance criteria, sibling overlap, label or milestone routing.

    Hydrant
    Description rewritten. Missing fields filled. Epic-sized work split into siblings.
    Primitive
    get_issue + search + update_issue
    Reference
    /refine
  3. 03

    Nail

    Make every sentence survive the question “what specifically does this mean in our codebase?” Resolve weasel verbs, ground vague references, extract inline metadata into proper fields.

    Hydrant
    Readiness flips to ready. Soft prose tightened. Sibling overlap flagged.
    Primitive
    update_issue + set_dependencies
    Reference
    /nail
  4. 04

    Prep

    Triage gate before any code lands. Read the issue, scan the codebase, surface ambiguity, mint the branch from the canonical name.

    Hydrant
    Status moves to todo. Branch created from origin/main. Blockers surfaced explicitly.
    Primitive
    get_issue (with context) + git
    Reference
    /prep
  5. 05

    Go

    Implement. Plan, build, verify — with the issue, decisions, dependencies, and adjacent code on hand from the start of the run, not chased mid-task.

    Hydrant
    Status flips to inProgress. Issue auto-assigned. Code lands on the branch.
    Primitive
    update_issue + git + your editor
    Reference
    /go
  6. 06

    Preflight

    Final pre-PR quality gate. Lint, build, tests, then an adversarial review for production safety. Findings matter more than summaries.

    Hydrant
    Local-only. No state change until the gates pass.
    Primitive
    bun run lint + bun run build + bun run test:vitest
    Reference
    /preflight
  7. 07

    Yeet

    Ship. Detects where the branch is in the pipeline and picks up — commit, push, PR, merge, cleanup. Leaves main clean and the next branch ready to start.

    Hydrant
    PR opened. On merge, status moves to done and the branch is deleted.
    Primitive
    git + gh + update_issue
    Reference
    /yeet
Distribution

Bring the workflow with you.

The methodology lives in plain SKILL.md files inside .agents/skills/. Any compatible harness reads the same workflow — the slash command a particular harness exposes is a reference implementation, not the method itself. Distribution lands soon.

Claude CodeCodexCursorOpenCode
SoonPlanned

One command installs the workflow.

An npx installer that pulls the seven workflow skills into your repo, pinned to a version, with a prompt for which harness you run.

npx skills add hydrant/workflow-skills
LaterPlanned

Teach a fresh harness your team's lived workflow.

A guided flow that converts the way your team actually ships — observed from your activity, not a generic template — into harness-agnostic SKILL.md files.

/hydrant-learn
Dogfood

This is how the team building Hydrant ships features using Hydrant.

Every issue you see on this page — the seven phases, the distribution plan, the audit trail — moved through this same loop on its way to production. We ship from the graph, not from a chat thread.

Tickets shipped (30d)
47
Avg shape → yeet
4h 12m
Decisions linked
128
Harnesses on file
4

Placeholders — live counters land with the public dashboard.

Closed beta · invite only ]

Run the loop on your
own work next.