Skip to content

feat(skills): add workflow-creator - #105

Merged
houko merged 1 commit into
mainfrom
feat/workflow-creator-skill
Sep 13, 2026
Merged

houko merged 1 commit into
mainfrom
feat/workflow-creator-skill

Conversation

@houko

@houko houko commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

Adds the workflow-creator prompt-only skill, the remaining scope item of librefang/librefang#6934 (the workflow_create tool itself merged as librefang/librefang#7857).

What it teaches

  • When a workflow is the right shape at all, and when a one-off agent_send is better — a workflow that never runs again is a name permanently taken on the daemon.
  • The step contract: name / agent / prompt_template required, {{input}} vs output_var vs declared inputs, depends_on switching execution from sequential to topological, and the error_mode / mode vocabularies.
  • All four StepAgent shapes — bare string, {"name": …}, {"id": …}, {"type": …} — with guidance on which to reach for. {"type": …} is find-or-spawn, so it is what makes a workflow stand up on an instance where nothing is pre-registered.
  • How required_skills behaves: checked after agent resolution and before the prompt is built, resolved against the registry independently of the agent's allowlist, with the three failure classes its error text distinguishes.
  • input_schema, including that the type key is param_type rather than type, and what the {{var}}-scanning fallback costs a caller when the schema is omitted.
  • Six failure modes with the reason each is rejected, and the durability / no-ownership properties of a registered workflow.

Provenance

Written against the implementation on librefang/librefang@main — WorkflowStep, StepAgent, Workflow::validate, and build_created_workflow — rather than against the issue's sketch of the API, so the ceilings and key spellings are the ones the tool actually enforces.

Verification

The copy pinned in librefang/librefang's registry snapshot is loaded in CI by crates/librefang-runtime/tests/workflow_creator_skill.rs (librefang/librefang#7873): it registers as prompt-only through the same SkillRegistry::load_all path an operator's install takes, clears the load-boundary prompt-injection scan, is order-independent in the rendered skill block, and has its quoted ceilings checked against the live workflow_create schema rather than hardcoded numbers.

SKILL.md only, no skill.toml — matching every other entry here, and deliberate: a skill.toml beside a SKILL.md suppresses the auto-convert, and without a companion prompt_context.md the entire prompt body is dropped with no error.

Teaches an agent to compose a workflow with the `workflow_create` tool that LibreFang ships as a builtin: when a workflow beats a one-off `agent_send`, the four agent-binding shapes and why `{"type": …}` find-or-spawn makes a workflow portable, how `required_skills` fails a step before it bills an LLM call, and the creation-time validations an author is most likely to trip.

Written against the tool's implementation rather than its issue description, and the copy pinned in librefang/librefang's registry snapshot is loaded by `crates/librefang-runtime/tests/workflow_creator_skill.rs`, which checks the ceilings quoted here against the live tool schema.

Refs librefang/librefang#6934
@houko
houko enabled auto-merge (squash) August 24, 2026 22:27
@houko
houko disabled auto-merge September 13, 2026 16:16
@houko
houko merged commit b0f7c86 into main Sep 13, 2026
3 checks passed
@houko
houko deleted the feat/workflow-creator-skill branch September 13, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant