Specify a webhook-driven task for OpenClaw
Describe event inputs, validation, deduplication, and intended actions before integration work.
5,443,579 AI resources indexedWorking toward the world’s largest AI resource index.
Generate multi-CLI distribution packages from the Claude Code plugin. Converts shared skills, package assets, and runtime payloads for OpenCode, Codex CLI, and Pi under dist/. Run after changing plugin components to keep distributions in sync.
--- name: sync-tools-98d71f55e9e1 description: 'Regenerate the Codex distribution copy of the plugin skills, and the copies of the shipped verify tool, and check them for drift. Run after changing anything under claude-plugins/*/skills. OpenCode, Pi and Cursor read the source tree directly and need no sync.' user-invocable: true metadata: internal: true --- # /sync-tools — distribution sync Every host reads the same skill files. The Claude Code plugins under `claude-plugins/` are the source; OpenCode (`dist/opencode/plugin/index.js`), Pi (repo-root `package.json`, `pi.skills`) and Cursor (`claude-plugins/*/.cursor-plugin/plugin.json`, whose plugin root is the source plugin directory) point straight at `claude-plugins/*/skills`. Only Codex needs a copy, because it installs a plugin into its own cache, and that copy is generated: ```bash python3 scripts/sync_dist.py # regenerate dist/codex/plugins/*/skills byte-identically from source python3 scripts/sync_dist.py --check # exit 1 on any drift (tests/test_dist_skill_references.py runs this) ``` The same commands copy the verification tool setup-project ships (`setup-project/references/harness/verify` and `verify.mts`) to `scripts/` and into the eval scaffolds that embed it, and check those copies too. Run the first command after any change under `claude-plugins/*/skills`, then commit the regenerated tree with the change. There is no per-host rewrite: shipped skill text names no host primitive (`tests/test_skill_frontmatter.py` enforces that), so a copy is a copy. ## Hand-maintained packaging files These are not generated. Edit them when what they describe changes: | File | What it carries | |------|-----------------| | `dist/codex/plugins/manifest-dev/.codex-plugin/plugin.json`, `dist/codex/plugins/manifest-dev-tools/.codex-plugin/plugin.json` | Codex plugin manifests; `version` must equal the source plugin's `.claude-plugin/plugin.json` version | | `.agents/plugins/marketplace.json` | Codex marketplace registry pointing at the two plugin directories | | `dist/opencode/plugin/index.js`, `dist/opencode/plugin/package.json` | OpenCode plugin entry (registers the source skill dirs and slash-command wrappers); `version` tracks `manifest-dev`'s | | `dist/opencode/AGENTS.md` | OpenCode instructions file the plugin registers | | `dist/pi/prompts/*.md` | Pi prompt-template aliases (`/do`, `/auto`, `/babysit-pr`) | | `claude-plugins/*/.cursor-plugin/plugin.json`, `.cursor-plugin/marketplace.json` | Cursor plugin manifests and marketplace; `version` must equal the source plugin's | | `dist/codex/README.md`, `dist/opencode/README.md`, `dist/pi/README.md`, `dist/cursor/README.md` | Per-host install and update instructions | Version bumps follow the repo's Versioning rules; this skill does not bump anything.--- name: sync-tools-98d71f55e9e1 description: 'Regenerate the Codex distribution copy of the plugin skills, and the copies of the shipped verify tool, and check them for drift. Run after changing anything under claude-plugins/*/skills. OpenCode, Pi and Cursor read the source tree directly and need no sync.' user-invocable: true metadata: internal: true --- # /sync-tools — distribution sync Every host reads the same skill files. The Claude Code plugins under `claude-plugins/` are the source; OpenCode (`dist/opencode/plugin/index.js`), Pi (repo-root `package.json`, `pi.skills`) and Cursor (`claude-plugins/*/.cursor-plugin/plugin.json`, whose plugin root is the source plugin directory) point straight at `claude-plugins/*/skills`. Only Codex needs a copy, because it installs a plugin into its own cache, and that copy is generated: ```bash python3 scripts/sync_dist.py # regenerate dist/codex/plugins/*/skills byte-identically from source python3 scripts/sync_dist.py --check # exit 1 on any drift (tests/test_dist_skill_references.py runs this) ``` The same commands copy the verification tool setup-project ships (`setup-project/references/harness/verify` and `verify.mts`) to `scripts/` and into the eval scaffolds that embed it, and check those copies too. Run the first command after any change under `claude-plugins/*/skills`, then commit the regenerated tree with the change. There is no per-host rewrite: shipped skill text names no host primitive (`tests/test_skill_frontmatter.py` enforces that), so a copy is a copy. ## Hand-maintained packaging files These are not generated. Edit them when what they describe changes: | File | What it carries | |------|-----------------| | `dist/codex/plugins/manifest-dev/.codex-plugin/plugin.json`, `dist/codex/plugins/manifest-dev-tools/.codex-plugin/plugin.json` | Codex plugin manifests; `version` must equal the source plugin's `.claude-plugin/plugin.json` version | | `.agents/plugins/marketplace.json` | Codex marketplace registry pointing at the two plugin directories | | `dist/opencode/plugin/index.js`, `dist/opencode/plugin/package.json` | OpenCode plugin entry (registers the source skill dirs and slash-command wrappers); `version` tracks `manifest-dev`'s | | `dist/opencode/AGENTS.md` | OpenCode instructions file the plugin registers | | `dist/pi/prompts/*.md` | Pi prompt-template aliases (`/do`, `/auto`, `/babysit-pr`) | | `claude-plugins/*/.cursor-plugin/plugin.json`, `.cursor-plugin/marketplace.json` | Cursor plugin manifests and marketplace; `version` must equal the source plugin's | | `dist/codex/README.md`, `dist/opencode/README.md`, `dist/pi/README.md`, `dist/cursor/README.md` | Per-host install and update instructions | Version bumps follow the repo's Versioning rules; this skill does not bump anything.
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.