Materialise a definition of workflow as a working flow workspace — workflow.md with its graph, one step contract per step with real stubs, item cards, measures, integration bindings, platform context-pack and check stubs, and the first generated board — so a human or agent can take over from a running skeleton rather than a blank page. Use after defining or ingesting a workflow, when standing up a second stream, or when an existing workspace needs missing pieces filled in. Part of the flow-driven family.
84%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
A folder that passes flow_lint.py, generates a board, and produces a sensible run card on
the first flow_next.py — with every stub carrying a starting point rather than a TODO.
The test: a person who was not in the definition workshop can read the workspace and run a
cycle.
A definition of workflow (from flow-driven-define or flow-driven-ingest), even a rough
one. Plus: where the work lives today, who owns the stream, and any items currently in flight.
skills/flow-driven/templates/:
workflow.md, steps/<id>.md per step, measures.md, integrations.md, AGENTS.md,
and the directories items/, platform/{context,prompts,checks}/, improvements/,
learnings/, reviews/.flow-config block first — including unit and unit_outcome — and lint
it before writing any prose. A graph that does not validate makes every downstream file a
guess, and a workspace with no stated unit cannot be checked against anything.run: human with an empty run_ref is an honest, common answer;platform/context/<pack>.md from the template with the provenance section filled in and
the knowledge section seeded from whatever exists — even three bullet points and a link.
For every verify_with, create the check stub with its sceptic's brief. An unreferenced
pack file is worse than none: it looks like coverage.items/<slug>/item.md per live item, at the step the
evidence says it is on — not where anyone wishes. Missing hypotheses stay missing; that is
a finding for the first cycles, not an embarrassment to paper over.flow-log.csv chronologically. This is the ONE
sanctioned hand-touch of that file, done before the first board run, so cycle time and
rework are computable from day one.flow_lint.py until clean, then flow_board.py,
then flow_next.py. Read what the board says out loud — the first board is usually the
most informative artefact the team has had in months.reviews/YYYY-MM-DD-scaffold.md): what was created, what
was defaulted and needs a human, the board's first three headlines, and the first cycle's
likely move.TODO. A stub that cannot be improved into something
real in ten minutes is not a stub, it is a gap — say so in the brief.step_entered to make
ages look better breaks every metric that follows.board.md, flow-log.csv, exports/.flow_lint.py: zero violations; every remaining warning is deliberate and named in the brief.unit and unit_outcome are stated, and the items carded actually match that unit.flow_next.py produces a sensible run card on the first run.skills/flow-driven/templates/ — every file this skill instantiates.skills/flow-driven/references/workflow-definition.md — the contract being satisfied.skills/flow-driven/example/fiy-content-engine/ — what a filled-in workspace looks like.flow-driven-run for the first cycle.yyeret/portfolio-pdlc
cb337f8
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.