Generate NPA Workflow
SkillDev toolsUse when inventing a new npa.workflow/v0.0.1 pipeline from the tool catalog — creative stage graphs, loops, gates, and reference YAML output.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Generate NPA Workflow skill
What this skill tells your AI
The instructions your AI receives, as published by nebius/nebius-physical-ai in skills/workflows/generate-npa-workflow/SKILL.md and read by ahel’s review.
When To Use
Load after author-npa-workflow when the task is to design a new pipeline
(not edit an existing reference spec). Use for creative mashups, customer demos, and
SkyPilot-to-spec conversions.
Design Recipe
- Pick tools first — only use
toolRefvalues fromnpa/src/npa/orchestration/npa_workflow/catalog.py. Add catalog entries before inventing shell. - Name the story — one sentence in
metadata.description(what flows where). - Config layout (beauty convention):
bucket,prefix, runtime knobs (vlm_backend, iteration counts)- blank line
- URI keys grouped (
*_uri) built froms3://{{config.bucket}}/{{config.prefix}}/…
- Graph patterns:
Pattern YAML shape Linear chain next:edgesFan-in deps needs:(ordering hints only)Fixed repeat loop.max: "{{config.attr}}"Dynamic exit loop.until: promote_checkpointRuntime branch transitions+writesDecision: trueon the decision state - Decision states — any state that writes
config.decision_urimust setwritesDecision: true(never rely on a magic state name likedecide). - Terminal — every completion leaf needs
terminal: true. - Validate early — missing
{{config.*}}and bad loop bounds fail atvalidate-spec, not at plan/execute.
Beauty Checklist
apiVersion: npa.workflow/v0.0.1+kind: Workflowat top- Fold long descriptions with
>undermetadata.description - One blank line between
configruntime keys and URI keys resourcesprofiles referenced bystates.*.resources- State
descriptionon every node inputs/outputswithuri+schemalabels when artifacts cross stages- Prefer
toolRefoverrun.shell
Creative Example (reference)
workflows/testing/tokenfactory-cosmos-gate.yaml — Token Factory
reason → Cosmos augment → VLM critique loop with promote / re-augment gate.
Generate + Verify
# 1. Write YAML under workflows/testing/
# 2. Validate structure + tokens + cycles
npa/.venv/bin/npa workbench workflow validate-spec <new.yaml> --json
# 3. Plan (use --assume-decision when transitions exist)
npa/.venv/bin/npa workbench workflow plan-spec <new.yaml> \
--run-id creative-demo --assume-decision loop_back --json
# 4. Register in tests — add filename to:
# - npa/tests/orchestration/npa_workflow/test_spec.py parametrize
# - npa/tests/smoke/test_npa_workflow_smoke.py parametrize
# - skills/index.yaml npa_workflow_yaml smoke list (optional)
npa/.venv/bin/python -m pytest npa/tests/orchestration/npa_workflow/ \
npa/tests/smoke/test_npa_workflow_smoke.py npa/tests/smoke/test_all_workflow_yamls.py -q
Anti-Patterns
- Do not add sim2real
engine.pystages — specs invoke catalog tools only. - Do not use Jinja,
eval, or shell for control flow. - Do not create transition cycles — validation rejects unbounded graphs.
- Do not hardcode bucket/project IDs — use
example-bucketplaceholders.
Signals
- GitHub stars
- 28
- Forks
- 15
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
generate-npa-workflow- Source
- github.com/nebius/nebius-physical-ai