orchestrate-stage
Skill172 starsChanged 2 months agoApache-2.0View on GitHub
Run one stage of the OpenTaint pipeline by coordinating leaf subagents and deterministic joins. Use when a separate OpenTaint pipeline stage needs to be executed
In this repository15 other files it gives its agents.
- analyze-external-methodsSkill
- analyze-findingsSkill
- appsec-agentSkill
- assemble-lib-rulesSkill
- build-projectSkill
- create-dataflow-modelSkill
- create-pass-through-modelSkill
- create-ruleSkill
- create-test-projectSkill
- debug-ruleSkill
- discover-attack-surfaceSkill
- generate-pocSkill
- report-analyzer-issueSkill
- run-scanSkill
- triage-dependenciesSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Run the bundled script to get the setup overview before proceeding to the reference's instructions:
- Very specific: line 33
Use uv run <skill-dir>/scripts/get_status.py at a stage gate or join, or when an updated list of remaining work is needed.
- Distinctive: line 52
don't read a leaf skill's contents unless genuinely needed
- Distinctive: line 53
never bundle multiple steps into one dispatch
- Very specific: line 54
when a rule or model does not converge after its leaf's retries, load <skill-dir>/references/escalation.md, settle that item, and continue.
- Distinctive: line 64
don't author or edit tracking state owned by a script or leaf.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Run one stage
Complete one bounded stage of the OpenTaint security workflow. Dispatch its independent work to leaf subagents within the resource caps and run the deterministic plan/join scripts its reference names. All durable state lives under the project's .opentaint/ tree.
Workflow
Match the stage keyword to its reference and read it fully:
sources → <skill-dir>/references/sources.md
model-round → <skill-dir>/references/model-round.md
sinks → <skill-dir>/references/sinks.md
triage → <skill-dir>/references/triage.md
poc → <skill-dir>/references/poc.md
escalation → <skill-dir>/references/escalation.mdRun the bundled script to get the setup overview before proceeding to the reference's instructions:
uv run <skill-dir>/scripts/get_status.py --fullUse uv run <skill-dir>/scripts/get_status.py at a stage gate or join, or when an updated list of remaining work is needed. It is the read-only view of the current stage.
Finish with one concise summary: counts completed and terminal items with one-line causes. Never paste file contents.
Dispatching
Launch leaf subagents from the project root. They inherit that working directory, so omit project-root. One dispatch loads exactly one leaf skill and performs only that skill's task. Follow this template when dispatching subagent:
Invoke the Skill <skill-name> first, then follow its instructions precisely
Inputs:
<id-or-flag>: <value>Pass language from get_status.py --full to every language-coupled leaf.
Universal rules:
- trust the returned summary; open an artifact only when the summary does not resolve the result
- don't read a leaf skill's contents unless genuinely needed
- never bundle multiple steps into one dispatch
- when a rule or model does not converge after its leaf's retries, load
<skill-dir>/references/escalation.md, settle that item, and continue. Only a blocker shared by every remaining item stops the stage
Fan-out and caps:
get_status.py --fullprintsglobalandheavycaps; the heavy leaves in these stages arecreate-ruleandcreate-dataflow-model. Never exceed either cap; reduceglobalby 1 for the rest of the stage when a leaf is rate-limited- fan out independent units and dispatch the next queued unit as each slot frees
- block on native agent completion. Never use Monitor, a background command, or resume-polling to wait inside this agent
Key constraints
- don't author or edit tracking state owned by a script or leaf; write directly only where the selected reference explicitly assigns it
- read pipeline state through
get_status.py, not by hand — don't re-derive it with glob/grep/python3 -c/YAML scans over.opentaint/tracking,results, or the*.yaml. If its output doesn't settle the question, re-runget_status.py --fullbefore opening any file; hand-scanning the tree balloons the run's context
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

