Declarative workflow engine that drives a CLI-only GitHub issue lifecycle — implementation, review, merge, translation follow-up, and documentation follow-up — using configurable agent roles and commands.
Resources
9Install
npx skillscat add nikan/leo-claude Install via the SkillsCat registry.
Leo Claude
Declarative workflow engine driven by workflow.yml. The YAML file is the single source of truth — changing it changes the skill behavior.
How to use
Read and parse workflow.yml before doing anything else. Every setting, stage, role, branch rule, handoff field, completion criterion, and failure rule is defined there.
Execution rules
- Parse
workflow.ymlat the start of every invocation. Do not cache or assume prior values. - Walk the
stageslist in order. Each stage has anid, optionalrole, optionalcondition,steps, andrules. - Resolve roles from the
rolesmap. Use the configuredbinandargsto invoke each role's CLI binary. - Resolve branches using
branches.pattern, substituting the appropriate prefix frombranches.prefixes. - Evaluate
conditionon conditional stages. Skip the stage if the condition is not met. - Follow
on_failuredirectives:haltstops the workflow;goto <stage_id>loops back. - Pass handoff context listed in the
handoffarray to every role at every stage transition. - Check
completioncriteria at the end. The workflow is done only when all listed conditions are satisfied. - On any failure, follow the matching rule from the
failuremap. If no rule matches, usefailure.unknown.
Inputs
Defined under inputs in workflow.yml. Currently:
issue(required) — GitHub issue number or full URLtarget_branch(optional) — overridesbranches.target_base
Preflight
The preflight section lists required_tools and checks scripts. Run all checks before any stage. Any failure is a hard stop.
Extending the workflow
To add a stage, append an entry to the stages list in workflow.yml. To add a role, add it to the roles map and reference it from a stage. To change branch naming, edit branches.pattern or branches.prefixes. No other files need to change.