Skip to content

flow: global storage, list command, and dynamic parameters#18

Merged
skapoor8 merged 2 commits into
mainfrom
flow-global-list-params
Jul 9, 2026
Merged

flow: global storage, list command, and dynamic parameters#18
skapoor8 merged 2 commits into
mainfrom
flow-global-list-params

Conversation

@skapoor8

@skapoor8 skapoor8 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Changes

Extends the flow skill so users can build reusable, parameterized pipelines that combine multiple skills.

  • --global / -g storage — save flows under ~/.codevoyant/flows/ (reusable across every project) instead of the local .codevoyant/flows/. Resolution is local-first then global; --global forces the global copy. New references/flow-dir.md centralizes this for all workflows.
  • flow list — enumerate every flow across both scopes with step counts, status, and parameters. Fixes the previously broken/contradictory list alias (SKILL.md said list→status, help.md said list→review; neither listed anything).
  • Dynamic parameters{{placeholders}} in any step, resolved at run time: bare text after the name binds to {{input}}, --set key=value binds named params, anything still unset is prompted for once. flow new records the parameter set in flow.md.
  • Auto flow-context (step→step data) — each step subagent ends with a HANDOFF: line; the orchestrator captures it and threads an accumulating context block into later step prompts, so e.g. a PR number from /pr open reaches a later /pr address without re-typing.
  • save forwards input — composite skills generated from a parameterized flow pass their text through to /flow go.
  • Templates (flow-template.md, step-template.md), help.md, and docs/skills/flow.md updated.

Example:

/flow new ship "/spec new {{input}}" "/spec go" "/git commit" "/pr open" --global
/flow go ship "add OAuth login to settings"
/flow list

Validation

  • mise run skills:validateflow PASSES (2 remaining failures in dev-docs/docs are pre-existing, identical on main)
  • mise run docs:build — clean; docs/skills/flow.md renders
  • All five flow name-taking workflows (new/go/status/save/list) resolve --global via the shared flow-dir.md
  • Existing tests pass

Future Work

  • Named-output references ({{steps.pr_open.number}}) as a deterministic alternative to LLM-mediated flow context, if precision is ever needed.
  • A flow rm / flow edit for lifecycle management of saved (esp. global) flows.

@skapoor8 skapoor8 self-assigned this Jul 7, 2026
@skapoor8 skapoor8 marked this pull request as ready for review July 8, 2026 01:17
@skapoor8 skapoor8 force-pushed the flow-global-list-params branch from 2fcfeef to e87f81e Compare July 9, 2026 02:48

@skapoor8 skapoor8 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Self-review evaluated against stated intent. 5 comments (2 BLOCKING, 2 CONSIDER, 1 NOTE) on whether the flow actually chains interactive skills. All findings have since been addressed in commit 4d43708 (non-interactive step contract + NEEDS_INPUT escalation, persisted/reloaded flow context, and authoring guidance for per-step inputs and artifact chaining) — comments retained for the record.

Comment thread skills/flow/references/step-template.md Outdated
Comment thread skills/flow/references/workflows/go.md
Comment thread skills/flow/references/workflows/go.md
Comment thread skills/flow/references/workflows/go.md
Comment thread skills/flow/references/workflows/go.md Outdated
skapoor8 added 2 commits July 8, 2026 23:47
- --global stores flows under ~/.codevoyant/flows, reusable across
  projects; list enumerates local + global flows (fixes the old
  list->status alias)
- dynamic {{parameters}}: bare text binds to {{input}}, --set for named
  params, prompt for anything unset; step outputs thread forward as flow
  context, persisted so an interrupted flow resumes with it
- chain interactive skills safely: steps run non-interactively and, when
  a step can't resolve a decision, escalate one NEEDS_INPUT question to
  the user and re-run; authoring guidance for per-step inputs and
  producer -> consumer artifact handoff
Reviews judge whether a change delivers its stated purpose, not just
whether the code is clean. Add an INTENT ALIGNMENT dimension, checked
first: read the PR/MR title and description as the intent, trace the
headline use case end-to-end, and flag anything that undercuts it as
BLOCKING even when the code is well-formed. The summary leads with an
intent verdict.
@skapoor8 skapoor8 force-pushed the flow-global-list-params branch from 4d43708 to 5d284fa Compare July 9, 2026 03:47
@skapoor8 skapoor8 merged commit f8b95f5 into main Jul 9, 2026
2 checks passed
@skapoor8 skapoor8 deleted the flow-global-list-params branch July 9, 2026 03:51
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 1.56.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant