Install any skill in seconds. Free to start, no credit card required.
Get Started Free →gmickel/flow-next-sync
Manually trigger plan-sync to update downstream task specs after implementation drift.
Passed 11 of 16 test cases with the skill, and 4 of 16 without it.
and 9 more in the full report
11 fixed4 passed either way6 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
For spec `fn-20-billing`, task `fn-20-billing.1` was updated 2 hours ago with status `done`, task `fn-20-billing.2` was updated 10 minutes ago with status `in_progress`, and task `fn-20-billing.3` is `todo`. Which task is selected as COMPLETED_TASK_ID?
| Checked | Without skill | With skill |
|---|---|---|
| Selects task fn-20-billing.1 as COMPLETED_TASK_ID because completed tasks take precedence over in-progress tasks. | Missed | Passed |
The instructions your model reads when the skill loads.
Manually trigger plan-sync to update downstream task specs.
CRITICAL: flowctl is BUNDLED - NOT installed globally. Define once; subsequent blocks use $FLOWCTL:
FLOWCTL="${CODEX_HOME:-$HOME/.codex}/scripts/flowctl"
[ -x "$FLOWCTL" ] || FLOWCTL="<plugin-root>/scripts/flowctl" # <plugin-root> = the directory two levels above this skill's SKILL.md file (the harness gave you that file's absolute path when the skill loaded); substitute it literally
[ -x "$FLOWCTL" ] || FLOWCTL=".flow/bin/flowctl"
Arguments: $ARGUMENTS
Format: <id> [--dry-run]
<id> - task ID fn-N-slug.M (or legacy fn-N.M, fn-N-xxx.M) or spec ID fn-N-slug (or legacy fn-N, fn-N-xxx), or a resolvable tracker handle (wor-17 / wor-17.M) that flowctl show maps to the linked spec/task (fn-52.10, R16)--dry-run - show changes without writingREPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
Parse $ARGUMENTS for:
ID--dry-run flag = DRY_RUN (true/false)Validate ID first (handle-recognition rule, R16):
flowctl show, not by a prefix check. A session that rejects a resolvable tracker handle as an unknown id — because it gated on "must start with fn-" — has broken this. Route the arg through $FLOWCTL show <ID> --json (Step 3); flowctl's widened resolver (fn-52.10) maps a tracker key (wor-17 / wor-17.M) to its linked spec/task, so a resolvable handle is the existing spec/task, never a new id. /flow-next:sync wor-17 therefore resolves the linked spec.flowctl show (Step 3): "Unknown ID. Use fn-N-slug (spec) / fn-N-slug.M (task), a tracker handle (wor-17), or legacy fn-N, fn-N-xxx."Detect ID type (use the canonical id from flowctl show):
test cases passed, vs 4 / 16 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.