Open-source agent skill for Claude Code + Codex

Factory / run 001 / public specimen

Your agent can write code.Factory makes it earnthe word delivered.

Give Factory a ticket, a Sentry issue, or a rough request. It isolates the work, turns the ask into testable acceptance criteria, proves each milestone, and stops with receipts. When it cannot prove the change, it says exactly why.

Isolated worktree
Consent stays explicit
Tests fail first
Then lose the fix and fail again
Fresh-context review
Milestones and whole branch
Executable gates
Claims answer to evidence
IntakeIsolateDiagnosePlanBuildProveStop

Runnable proof / not a product demo

Watch Factory reject a false delivery.

The redacted fixture preserves the failure shape that created the gate: five open blocking questions, two invalid statuses, and a delivery claim the record cannot support.

Recorded stateNot deliveredexit=1 · GATE: BLOCKED
5 unanswered2 invalid
terminalfactory gate
$ bash proof/terminal-gate/run.sh
checking manifest .......... ok
checking delivery answers .. 5 unanswered
checking reported checks ... 2 invalid

GATE: BLOCKED
delivery_status=not_delivered
exit=1

Why this verdict

  1. Five blocking questions have no recorded answer.
  2. Two acceptance criteria use the invalid status partly met.
  3. The requested delivered state is unsupported by the record.
What blocked means

The evidence is insufficient. Factory refuses to call the work delivered and names what is missing.

One request / seven gates

No victory lap without proof.

Each gate changes what the run is allowed to claim. Coding is only one phase of delivery.

  1. 01

    Intake

    Separate the reported symptom from evidence. Write acceptance criteria that can fail.

  2. 02

    Isolate

    Create a clean branch and worktree. Measure the baseline where the work will run.

  3. 03

    Diagnose

    Reproduce the problem, name the cause, and keep the unknowns visible.

  4. 04

    Plan

    Write the human plan first. Close blocking questions before code begins.

  5. 05

    Build

    Add the end-to-end test before implementation. Review one milestone at a time.

  6. 06

    Prove

    Remove the fix and watch the test fail. Review callers and whole-change invariants.

  7. 07

    Stop

    Run the terminal gate. Report the one state the evidence actually permits.

Read the complete delivery contract

Scars turned into gates

Every hard rule has a body behind it.

These rules came from observed delivery failures, including a bypass in Factory’s own gate.

015 + 2

Five unanswered questions still looked green

A run reached delivered with five open questions and two criteria marked partly met. Factory now permits only met, unrunnable, or failed—and the terminal gate rejects unanswered blockers.

02red → green → red

The test failed alone and passed in the suite

A concurrency test never created the real interleaving inside its own file. Factory now runs the whole test file, removes the fix, and makes the proof fail again.

03blocked ≠ delivered

The gate trusted a contradictory terminal

The old gate could validate delivered against state already recorded as blocked. The committed regression preserves the bypass and proves the current refusal.

The difference

Coding is one phase of delivery.

DecisionOrdinary coding agentFactory
Starting pointPromptSource evidence + testable criteria
WorkspaceCurrent checkoutIsolated worktree and branch
TestsRun after implementationFail, pass, remove fix, fail again
ReviewLatest diffMilestones + callers + invariants
FailureRetry or summarizeBounded loops + explicit blocked state
CompletionAgent says doneExecutable gate permits a claim
HandoffChat summaryMatrix, commits, receipts, gaps

Four honest endings

“Done” is too vague to ship.

A delivery system becomes trustworthy when it can distinguish success, accepted gaps, a real blocker, and the decision not to change code.

delivered

Every acceptance criterion is proven and the terminal gate passes.

delivered-with-gaps

Named checks could not run, and the user explicitly accepted those gaps.

blocked

A missing fact, decision, failed criterion, or exhausted loop prevents correct delivery.

intentionally-unchanged

Diagnosis shows that changing code is not the right treatment.

The argument

Your software factory needs the right to say “not delivered.”

More agents create more output. The durable advantage is a quality system that can refuse shipment and show another engineer exactly why.

Read the essay

Install

Bring your own agent.
Keep the gates.

Public source Verified from a clean repository on 2026-09-22.

# Claude Code
npx skills add oleg-koval/factory -g -a claude-code -y

# Codex
npx skills add oleg-koval/factory -g -a codex -y
See the verification boundary
OK

Built by Oleg Koval

Failures I no longer wanted to supervise twice.

Oleg is a lead engineer and fractional CTO with more than ten years of experience across fintech, e-commerce, mobility, automation, AI, and open source. Factory turns his operating principles—explicit contracts and observable failures—into an agent workflow.

More from Oleg

Your agent does not need a longer prompt.

It needs a delivery contract.

Watch Factory earn “delivered”