One operator interface for both toolkits (operator decision 2026-08-04): - vendor/autonomic-recipe-maintainer: ARM pinned as a submodule at acd5cfb (latest). - scripts/gen-cctest-skills.py: generates a cctest-<name> wrapper pair (.opencode canonical + .claude thin) for every ARM skill — frontmatter carries ARM's own description tagged [recipe-maintainer/cctest]; body points at the canonical submodule SKILL.md, sets cwd/sandbox context, and states the policy overrides (auto-merge-style ARM flows need per-run operator opt-in; never touch cc-ci infra from an ARM skill; submodule is read-only here). Re-run after every submodule bump. - 30 cctest-* wrappers generated. - /help: cctest family section + situation-table rows + the cc-ci-vs-cctest rule of thumb. cctest = the recipe-maintainer test server; these skills run against it + the ARM sandbox, never against the cc-ci CI server/swarm.
606 B
606 B
name, description
| name | description |
|---|---|
| cctest-opencode-sync | [recipe-maintainer/cctest] Ensure every Claude skill has a corresponding OpenCode skill alias (Wraps the autonomic-recipe-maintainer skill /opencode-sync; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-opencode-sync.) |
cctest-opencode-sync (thin wrapper)
The canonical definition of this skill lives in the opencode position:
.opencode/skills/cctest-opencode-sync/SKILL.md
Read that file. It in turn wraps the ARM submodule skill
vendor/autonomic-recipe-maintainer/.opencode/skills/opencode-sync/SKILL.md.