Workflow to Skill Compiler
Convert source workflows into portable Skills. Preserve behavior, not file shape.
Compilation rules
- Define one user job for the Skill. If the source mixes unrelated jobs, split it before conversion.
- Trace the source workflow from trigger to evidence, decisions, actions, validation, and stop conditions.
- Write Skill metadata for discovery. The
description must say when to use the Skill, not merely what topic it contains.
- Keep the main
SKILL.md focused on execution. Move deep reference material into references/ and deterministic mechanical helpers into scripts/.
- Replace source-repository assumptions with portable contracts. Remove absolute paths, personal machine locations, private aliases, hidden environment assumptions, and undocumented dependencies.
- Preserve meaningful gates. Do not flatten approval, safety, testing, evidence, or verification steps just to make the Skill shorter.
- Prefer host capabilities over unnecessary bundled runtime code. Add MCP only when the workflow genuinely needs external data/actions that cannot be represented honestly as Skill guidance.
- Keep tool names capability-oriented where possible so the Skill can travel across compatible hosts.
- When the workflow touches files, repositories, generated artifacts, or local workspace state, integrate the
host-workspace-operator contract. Prefer read/list/search/grep for discovery, patch/write only for authorized mutations, shell for repository commands, and sandbox-python-executor for deterministic Python work.
- Add
agents/openai.yaml only when interface metadata, product targeting, invocation policy, icons, or documented MCP tool dependencies materially improve the Skill. Do not invent dependencies for host-native filesystem, shell, patch, search, or Python tools.
- Run public-distribution review before packaging. Internal workflows may contain capabilities that should never be mirrored into a public Skill.
Workspace-capability compilation
When the source workflow includes operations such as:
- reading files
- listing directories
- searching concepts or filenames
- exact grep/regex lookup
- creating or editing files
- applying focused patches
- running tests or repository commands
- deterministic Python/file processing
represent those operations as host-native capability requirements in the Skill instructions. Do not hard-code one product's tool names unless the current host contract requires it.
For generated Plugins, the main Autopilot should install the canonical workspace Skill with:
python3 <autopilot-skill>/scripts/install_host_workspace_skill.py <target-plugin>
The installer is intentionally non-destructive. If the target already contains a customized host-workspace-operator, review it instead of overwriting it.
Quality gate
Reject the compilation if:
- it is mostly a pasted prompt with no operating logic
- it cannot explain its trigger and completion condition
- it depends on files that will not exist after installation
- it silently drops source validation or approval gates
- multiple Skills are near-duplicates with different names
- the Skill description is so broad that it will collide with unrelated workflows
- generated instructions claim tools or permissions the Plugin does not actually provide
- mutation operations are mixed into read-only discovery without a clear authorization boundary
- the Skill says it searched, read, wrote, patched, ran shell, or executed Python without host evidence
Handoff
After compilation, pass the Skill set and its workspace-capability needs to plugin-experience-architect. The experience brief should state which host-native operations the Plugin benefits from and which are mutation-capable. Then run the main Autopilot generation and validation gates.
1---2name: workflow-to-skill-compiler3description: Use when a repository has a valuable agentic workflow, prompt chain, playbook, command, or runbook that should become a portable ChatGPT/Codex Skill without losing its real decision logic.4---56# Workflow to Skill Compiler78Convert source workflows into portable Skills. Preserve behavior, not file shape.910## Compilation rules11121. Define one user job for the Skill. If the source mixes unrelated jobs, split it before conversion.132. Trace the source workflow from trigger to evidence, decisions, actions, validation, and stop conditions.143. Write Skill metadata for discovery. The `description` must say when to use the Skill, not merely what topic it contains.154. Keep the main `SKILL.md` focused on execution. Move deep reference material into `references/` and deterministic mechanical helpers into `scripts/`.165. Replace source-repository assumptions with portable contracts. Remove absolute paths, personal machine locations, private aliases, hidden environment assumptions, and undocumented dependencies.176. Preserve meaningful gates. Do not flatten approval, safety, testing, evidence, or verification steps just to make the Skill shorter.187. Prefer host capabilities over unnecessary bundled runtime code. Add MCP only when the workflow genuinely needs external data/actions that cannot be represented honestly as Skill guidance.198. Keep tool names capability-oriented where possible so the Skill can travel across compatible hosts.209. When the workflow touches files, repositories, generated artifacts, or local workspace state, integrate the `host-workspace-operator` contract. Prefer read/list/search/grep for discovery, patch/write only for authorized mutations, shell for repository commands, and `sandbox-python-executor` for deterministic Python work.2110. Add `agents/openai.yaml` only when interface metadata, product targeting, invocation policy, icons, or documented MCP tool dependencies materially improve the Skill. Do not invent dependencies for host-native filesystem, shell, patch, search, or Python tools.2211. Run public-distribution review before packaging. Internal workflows may contain capabilities that should never be mirrored into a public Skill.2324## Workspace-capability compilation2526When the source workflow includes operations such as:2728- reading files29- listing directories30- searching concepts or filenames31- exact grep/regex lookup32- creating or editing files33- applying focused patches34- running tests or repository commands35- deterministic Python/file processing3637represent those operations as host-native capability requirements in the Skill instructions. Do not hard-code one product's tool names unless the current host contract requires it.3839For generated Plugins, the main Autopilot should install the canonical workspace Skill with:4041```bash42python3 <autopilot-skill>/scripts/install_host_workspace_skill.py <target-plugin>43```4445The installer is intentionally non-destructive. If the target already contains a customized `host-workspace-operator`, review it instead of overwriting it.4647## Quality gate4849Reject the compilation if:5051- it is mostly a pasted prompt with no operating logic52- it cannot explain its trigger and completion condition53- it depends on files that will not exist after installation54- it silently drops source validation or approval gates55- multiple Skills are near-duplicates with different names56- the Skill description is so broad that it will collide with unrelated workflows57- generated instructions claim tools or permissions the Plugin does not actually provide58- mutation operations are mixed into read-only discovery without a clear authorization boundary59- the Skill says it searched, read, wrote, patched, ran shell, or executed Python without host evidence6061## Handoff6263After compilation, pass the Skill set and its workspace-capability needs to `plugin-experience-architect`. The experience brief should state which host-native operations the Plugin benefits from and which are mutation-capable. Then run the main Autopilot generation and validation gates.