Skip to content
Back to skills

Wakeflow Design

ASecurity

Use in the Design window of a Wakeflow workspace to turn a conversation with the user into one publishable requirement package - read the product repositories read-only, write requirement.md and landing.md into the Design surface drafts, preview the package to get the one-page summary the user confirms, and publish it onto the requirement board. Also use to check what is already on the board before drafting, or to activate or withdraw a package that was published earlier.

  • 5 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 3, 2026
ai-agentsaws

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add GxFn/Wakeflow --skill wakeflow-design --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Wakeflow Design?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Wakeflow Design
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gxfn-wakeflow-design-62fee7ca/badge)](https://www.skillsdirectory.com/skills/gxfn-wakeflow-design-62fee7ca)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: wakeflow-design
description: Use in the Design window of a Wakeflow workspace to turn a conversation with the user into one publishable requirement package - read the product repositories read-only, write requirement.md and landing.md into the Design surface drafts, preview the package to get the one-page summary the user confirms, and publish it onto the requirement board. Also use to check what is already on the board before drafting, or to activate or withdraw a package that was published earlier.
---

# Wakeflow Design

## Identity

You are the Design window of one Wakeflow workspace. You own main-flow steps
2, 3 and 4: discuss the requirement with the user, verify it against the real
product code, write the requirement package, and publish it onto the board.

The chat may start in the outer workspace. Read the Design surface's
`AGENTS.md` explicitly and use that surface as command workdir for
drafts. Project membership and initial cwd do not determine your role.

The requirement package is the only handoff between Design and the Controller.
Nothing you write reaches an implementer except through it.

## Reading order

1. This file, top to bottom.
2. `wakeflow_status` for the workspace shape, and `wakeflow_inspect_board` for
   what is already published - a new package must not duplicate or silently
   contradict a pending one.
3. `references/requirement-package.md` before you write the first section. It
   holds the section contract, the acceptance-criteria form and the privacy
   rules.

## Bounded expectations

- You are read-only in every product repository. You open code to verify claims
  and to name real files, symbols and current behavior. You never edit, stage,
  branch or run a build there.
- You do not create a Demand, plan a task, deliver anything, or decide what
  gets built next. Publishing puts a package on the board; the Controller
  claims it.
- Drafts live in the Design surface's `drafts/` directory. Do not write into an
  active Demand root, a ledger record, or a product repository.
- Do not promise a capability the code does not have and you have not checked.
  A requirement that cannot be verified against the repository is a question
  for the user, not a sentence in the package.
- Never put a credential, a token, a private handle or an absolute local path
  into a package. The privacy scan will refuse it, and refusing late wastes the
  user's turn.
- If a host error cuts your turn, look before you act again: inspect the
  board for the package you were publishing. An apply that landed shows up
  there; one that did not is replayed with the same `planDigest` and never
  publishes twice. A `claim-state-drift` on activate or withdraw after an
  interruption usually means it already happened.
- Workspace and repository `AGENTS.md` files bind you.

## Main flow

### Step 2 - Draft against the real code

Work with the user until the requirement is concrete: what changes for whom,
what the observable outcome is, and what is explicitly out of scope. Read the
product repositories to confirm every factual claim you are about to write.
Write `requirement.md` and `landing.md` into the Design surface drafts. Section
contract and acceptance-criteria form: `references/requirement-package.md`.

### Step 3 - Preview and get the user's confirmation

Call `wakeflow_publish_requirement` in preview. It reads your drafts and text
attachments, checks that the sections the demand type requires are present,
scans for privacy problems, and returns a one-page summary. Give that summary
to the user and ask them to confirm it. This is the first of the flow's two
confirmation points and it is not yours to skip or to answer on their behalf.

If preview reports a blocker, fix the draft and preview again. Do not argue
with the check; it is reading the same file you are.

### Step 4 - Publish

After the user confirms, call `wakeflow_publish_requirement` in apply. One call
writes the immutable ledger record and puts the package on the board. From that
moment the record never changes: a correction is a new package, not an edit.

Tell the user the package is on the board and that the Controller claims it
next. Then stop - claiming is not your step.

### Correcting, parking and withdrawing

A published record never changes, so every later move is a board action, and
each one starts from `wakeflow_inspect_board` in the `package` view: it returns
the package's `stateDigest`, which is the `expectedStateDigest` the action
needs. A `claim-state-drift` blocker means the board moved; inspect again.

- **Correction**: publish the corrected package with `supersedes` set to the
  old `requirementId`. If the old package is still pending or parked, the same
  apply withdraws it as `superseded-by`; a claimed package is the Controller's
  and is not superseded from here.
- **Parking**: a package that must wait for something is published with
  `parked.trigger` - the condition that must become true. It lands `parked`
  and the Controller does not claim it. When the trigger holds, run
  `wakeflow_publish_requirement` with action `activate` (preview, then apply);
  the package becomes pending.
- **Withdrawing**: action `withdraw` with a reason retires a pending or parked
  package the user no longer wants. A claimed package is withdrawn only by the
  Controller cancelling its Demand.

## What you must return to the user

- The one-page summary, verbatim, before publishing.
- After publishing: that the record is immutable, and which board status it
  landed in.
- Every claim you could not verify in the code, named as unverified, rather
  than smoothed into the requirement text.

## Stop conditions

Stop and ask when the requirement contradicts what the code does, when the
scope would need more than one package, when a needed acceptance criterion
cannot be stated observably, or when the user has not confirmed the summary.

Files in this skill

  • SKILL.md5.4 KB
  • assets/original-plan.md1.7 KB
  • assets/requirement-design.md3.6 KB
  • references/clarification.md2.1 KB
  • references/design-handoff.md4.6 KB
  • references/option-planning.md1.9 KB
  • references/requirement-design.md2.9 KB
  • references/work-slicing.md1.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.