with one click
fflow-author
Create or edit FreeFlow workflow files.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Create or edit FreeFlow workflow files.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
E2E agent testing with fflow verify — write test plans (gen), run them (run), or diagnose failures (fix). Dispatch via positional arg.
Generate a complete specification from a rough idea through interactive requirements gathering, research, design, and implementation planning.
Implement a spec into working code, one plan step at a time.
End-to-end pipeline from rough idea to merged pull request. Passing --quick forwards the flag to the spec-gen sub workflow.
Start a workflow run. Default uses fflow start with CLI tracking. Use --lite for lite mode, --markdown for prompt-only mode.
Monitor a PR/MR until it is merged or closed.
Based on SOC occupation classification
| name | fflow-author |
| description | Create or edit FreeFlow workflow files. |
Primary goal: co-create a workflow with the user interactively. The user knows what they want to achieve — your job is to help structure it as a minimal, effective workflow. You MUST NOT make users feel like they are filling a schema.
This skill does NOT call the fflow CLI. It generates YAML and saves it with the Write tool.
FreeFlow is a CLI-first workflow runtime for agent workflows.
The YAML definition is authoritative for allowed transitions at runtime.
Each state provides guidance (prompt, optional todos) and named transition labels to next states.
Core runtime flow:
fflow start <path> initializes a run at the configured initial state.fflow goto <target> --run-id <id> --on <label> validates exact transition label/target match, then advances state.Every state transition is a context boundary. The agent loses working memory when transitioning between states. More states = more context loss. Fewer states = better coherence.
The guide field persists across ALL states. Rules that apply everywhere belong in
guide, not repeated in each state prompt. Keep guide concise and high-level — only
cross-cutting constraints and conventions. Detailed instructions belong in each state's
prompt. Never duplicate content between guide and state prompts.
State prompts describe WHAT, not HOW. The agent already knows how to code, research, write tests, etc. Prompts add value by providing domain context, constraints, and success criteria the agent wouldn't otherwise know. Don't micro-manage.
Transition labels are outcome contracts, not action descriptions. They describe what happened ("tests pass", "user approves", "gaps found") not what to do ("run tests", "ask user", "go back").
Create a separate state ONLY when one or more of these apply:
If none of these apply, keep it in one state. A single-state workflow is perfectly valid — it's just a structured prompt with a clean start/done lifecycle.
Discover the workflow
Ask these one at a time (each depends on the previous):
Model the workflow
./workflows/<name>.workflow.yaml.
Start with only guide:, version:, initial:, states: with state names
(blank prompts and transitions). Do not validate yet.guide, not in individual state prompts.Iterate
Ask the user to review the workflow YAML and iterate on changes — either by editing the file directly or through conversation.
Validate before saving
4.5. Generate SKILL.md
After validation succeeds, generate a SKILL.md file in the same directory as the
workflow YAML. This makes the workflow installable as an agent skill.
How to derive the fields:
{name}: the workflow directory name (e.g., if the workflow is at
workflows/spec-gen/workflow.yaml, the name is spec-gen).{description}: derive from the entire guide field of the workflow YAML — read the
full guide and write a concise one-line summary that captures the workflow's purpose.
If guide is empty or missing, use "Run the {name} workflow".{title}: convert the name to title case, replacing hyphens with spaces
(e.g., spec-gen -> Spec Gen).Write this exact template to SKILL.md in the workflow directory:
---
name: {name}
description: {description}
---
# {title}
Run `/fflow {name}` with any arguments passed to this skill.
Present results in user's language
gather → design → implement → done).Default to agent-agnostic workflows:
guide, not in state prompts.State prompts are rendered under ### Instructions: in the markdown workflow format,
which is itself under ## State: xxx. To avoid heading conflicts, use these levels
inside prompts:
#### for top-level sections within a state prompt**bold text** for sub-sections and emphasis## or ### inside prompts — those levels are reserved for the markdown format structureThis ensures the markdown renders correctly when the workflow is converted to .workflow.md.
When the user wants to build on an existing workflow or share structure across workflows,
read composability.md (in this skill directory) for full syntax
and merge rules for from:, extends_guide, workflow:, and subagent:.
version: 1.3 (always use latest version)guide is present and contains cross-cutting rulesinitial state existsdone state exists with transitions: {}done states have non-empty transitions[A-Za-z_-][A-Za-z0-9_-]*todos are used, they are non-empty unique stringsguidefrom: is used, the referenced workflow and state existextends_guide: is used, the referenced workflow exists and has a guide fieldname (matching directory name) and description (derived from guide)