Delivery Factory · Concept
Delivery core concept.
A work item goes in, a pull request comes out. This page explains the idea in between: what is plain code, where a model is needed, and how a platform plugs in without the core knowing its name. Repo: github.com/agenticDraft/plugins
Built as plugins
Six Claude Code plugins. agentic-core drives the route and names no product. One platform pack, agentic-eds, says what each stage means for an Edge Delivery project. Four provider packs each fill one role: agentic-jira (tracker), agentic-github (scm), agentic-figma (design), agentic-playwright (browser).
Part one
The core
Everything in this part holds for any platform. The core defines the stages, the roles and the shapes; it never names a tracker, a design tool or a framework.
What it is
One command per ticket
Done by hand, delivering a ticket is a checklist. Done by one long prompt, it drifts.
One long prompt re-does work, carries every file it ever read, and nobody can say which step decided what. The core replaces it with one command, /agentic-core:run-route <item>. It reads the item, plans, builds, renders, compares against the design, lints, and stops for a human at the decisions that matter.
If you read only this
- A ticket goes in, a pull request comes out, from one command.
- The route is fixed: fifteen stages. The model never picks what comes next.
- Each stage runs as an isolated agent and reports back in five lines.
- Scripts decide what happens next; a model only does the work inside a stage. Three gates check the work, and a decision goes to a person.
- The core knows roles, not products. Jira, GitHub, Figma or EDS live in swappable packs.
Three layers
Where determinism stops
The core is not one program. It is three layers, and the useful thing to know is exactly where a model is needed.
No model, no tokens. A file goes in, one line and an exit code come out. Each script has its own test, so CI can prove this layer.
Markdown files that define each shape once: the result, the stages, the endings. Everything else points at them instead of restating them.
One skill, agentic-core:run-route. It owns control flow and nothing else. It is the only part that starts a stage, and it never reads what a stage wrote.
One run, step by step
What happens between command and pull request
Read top to bottom. Each row is one step, placed in the column that does the work.
Scroll the figure sideways to see every column.
readiness
The core's vocabulary
Everything the core knows
This is the whole vocabulary. A word outside it belongs to a pack.
Fifteen stages
Fixed, in the order a full route runs them. A pack implements a stage or declines it; no pack may add one. The three gates are outlined.
- intake
- readiness
- extract
- conventions
- serve
- baseline
- prototype
- verify-design
- plan
- plan-gate
- implement
- verify
- lint
- publish-gate
- deliver
Four roles
- tracker
- Where the work item lives.
- scm
- Where the change is published.
- design
- Where the design reference comes from.
- browser
- What renders and measures the page.
A stage calls a role, never a product. Project config binds each role to one provider pack.
The five-line result
## Result verdict: pass | warn | fail | question summary: <one sentence> artifacts: - <path written or updated> next_action: <short phrase, or "none">
Every stage ends with this block. The driver reads nothing else.
Verdicts
- pass
- Go to the next stage.
- warn
- Go on; the warning is recorded.
- fail
- The run ends. The driver never retries.
- question
- A person answers and the stage runs once more. With nobody to ask, the run ends
blocked.
Three gates, three endings
readiness, plan-gate and publish-gate check with scripts first, then a reviewing model looks only at what survives. A gate may not change the project; the driver checks that before and after.
The last stage passed. The pull request exists.
Something is missing: an answer, a login, a tool. The run says what and where.
A stage failed or broke a contract. The run names the stage.
Exactly one of the three ends every run.
Design against published guidance
How it lines up with Anthropic's advice
Each row pairs a design decision with the published guidance it matches.
intake cleans the item before anything acts on it.Part two
A platform pack: agentic-eds
One worked example of how a platform binds the core's stages. Everything in this part is the pack's, not the core's.
EDS is one swappable platform pack. A pack implements or declines each of the fifteen stages and never adds a new one. A React or Next.js pack could bind the same stages its own way, with no change to the core.
The default route
Fifteen stages, four of them conditional
From agentic-eds/pack.yaml. Conditions are checked once, after intake; a skipped stage passes control to the next one in the list.
Scroll the figure sideways to see the whole route.
intake learned about the ticket.