skills: vendor autonomic-recipe-maintainer + expose all its skills as /cctest-*
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.
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-init-instance
|
||||
description: "[recipe-maintainer/cctest] Deploy all maintained recipes to the active test instance from scratch (Wraps the autonomic-recipe-maintainer skill /init-instance; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-init-instance.)"
|
||||
---
|
||||
|
||||
# cctest-init-instance (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/init-instance/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-intro
|
||||
description: "[recipe-maintainer/cctest] Explain what this project is and how to get started (Wraps the autonomic-recipe-maintainer skill /intro; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-intro.)"
|
||||
---
|
||||
|
||||
# cctest-intro (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/intro/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-new-recipe-guide
|
||||
description: "[recipe-maintainer/cctest] Guide for developing a new Co-op Cloud recipe from scratch (Wraps the autonomic-recipe-maintainer skill /new-recipe-guide; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-new-recipe-guide.)"
|
||||
---
|
||||
|
||||
# cctest-new-recipe-guide (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/new-recipe-guide/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-opencode-sync
|
||||
description: "[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 (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/opencode-sync/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-check
|
||||
description: "[recipe-maintainer/cctest] Fetch a Co-op Cloud recipe and check for available upgrades (Wraps the autonomic-recipe-maintainer skill /recipe-check; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-check.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-check (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-check/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-create-pr
|
||||
description: "[recipe-maintainer/cctest] Push local recipe commits to git.autonomic.zone and open a PR against an upstream-synced main branch (Wraps the autonomic-recipe-maintainer skill /recipe-create-pr; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-create-pr.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-create-pr (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-create-pr/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-deploy
|
||||
description: "[recipe-maintainer/cctest] Deploy the local recipe checkout to the test instance (Wraps the autonomic-recipe-maintainer skill /recipe-deploy; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-deploy.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-deploy (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-deploy/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-guidelines
|
||||
description: "[recipe-maintainer/cctest] Guidelines for all recipe operations including local change preservation, version format, and secrets (Wraps the autonomic-recipe-maintainer skill /recipe-guidelines; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-guidelines.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-guidelines (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-guidelines/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-init
|
||||
description: "[recipe-maintainer/cctest] Create a new test instance and recipe-info for a recipe (Wraps the autonomic-recipe-maintainer skill /recipe-init; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-init.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-init (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-init/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-logging
|
||||
description: "[recipe-maintainer/cctest] Logging instructions for maintaining detailed operation logs in the logs directory (Wraps the autonomic-recipe-maintainer skill /recipe-logging; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-logging.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-logging (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-logging/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-new-tag
|
||||
description: "[recipe-maintainer/cctest] Bump the recipe version and create an annotated git tag (Wraps the autonomic-recipe-maintainer skill /recipe-new-tag; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-new-tag.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-new-tag (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-new-tag/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-overview
|
||||
description: "[recipe-maintainer/cctest] Check all maintained recipes and recommend what to upgrade (Wraps the autonomic-recipe-maintainer skill /recipe-overview; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-overview.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-overview (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-overview/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-review
|
||||
description: "[recipe-maintainer/cctest] Review a recipe for Co-op Cloud best practices (Wraps the autonomic-recipe-maintainer skill /recipe-review; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-review.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-review (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-review/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-test-all
|
||||
description: "[recipe-maintainer/cctest] Run tests for all maintained recipes, deploying each one at a time (Wraps the autonomic-recipe-maintainer skill /recipe-test-all; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-test-all.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-test-all (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-test-all/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-test-backup
|
||||
description: "[recipe-maintainer/cctest] Test backing up and restoring a recipe's test instance (Wraps the autonomic-recipe-maintainer skill /recipe-test-backup; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-test-backup.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-test-backup (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-test-backup/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-test-new
|
||||
description: "[recipe-maintainer/cctest] Test a recipe's first-time initialization from scratch (Wraps the autonomic-recipe-maintainer skill /recipe-test-new; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-test-new.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-test-new (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-test-new/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-test-update
|
||||
description: "[recipe-maintainer/cctest] Test upgrading a recipe's test instance using abra app deploy (Wraps the autonomic-recipe-maintainer skill /recipe-test-update; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-test-update.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-test-update (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-test-update/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-test
|
||||
description: "[recipe-maintainer/cctest] Run all tests for a Co-op Cloud recipe (Wraps the autonomic-recipe-maintainer skill /recipe-test; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-test.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-test (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-test/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-upgrade-apply
|
||||
description: "[recipe-maintainer/cctest] Execute a planned recipe upgrade — apply changes, deploy, test, commit/tag (Wraps the autonomic-recipe-maintainer skill /recipe-upgrade-apply; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-upgrade-apply.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-upgrade-apply (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-upgrade-apply/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-upgrade-cron-all
|
||||
description: "[recipe-maintainer/cctest] Autonomous weekly upgrade run — overview all recipes, upgrade each end-to-end (sequentially by default, parallel with --parallel), open PRs (Wraps the autonomic-recipe-maintainer skill /recipe-upgrade-cron-all; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-upgrade-cron-all.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-upgrade-cron-all (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-upgrade-cron-all/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-upgrade-full
|
||||
description: "[recipe-maintainer/cctest] Plan and apply a recipe upgrade end-to-end, no human review in the middle (Wraps the autonomic-recipe-maintainer skill /recipe-upgrade-full; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-upgrade-full.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-upgrade-full (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-upgrade-full/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-upgrade-plan
|
||||
description: "[recipe-maintainer/cctest] Create a detailed upgrade plan for a recipe (Wraps the autonomic-recipe-maintainer skill /recipe-upgrade-plan; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-upgrade-plan.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-upgrade-plan (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-upgrade-plan/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-recipe-upstream
|
||||
description: "[recipe-maintainer/cctest] From a git.autonomic.zone review-PR URL, fetch the branch + tag locally and emit the commands to open the upstream PR on git.coopcloud.tech (Wraps the autonomic-recipe-maintainer skill /recipe-upstream; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-recipe-upstream.)"
|
||||
---
|
||||
|
||||
# cctest-recipe-upstream (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/recipe-upstream/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-setup-sandbox
|
||||
description: "[recipe-maintainer/cctest] Guide for setting up a sandboxed environment to run the agent with recipe-maintainer (Wraps the autonomic-recipe-maintainer skill /setup-sandbox; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-setup-sandbox.)"
|
||||
---
|
||||
|
||||
# cctest-setup-sandbox (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/setup-sandbox/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-switch-default-instance
|
||||
description: "[recipe-maintainer/cctest] Switch the default test instance (b1cc or t1cc) for all recipe operations (Wraps the autonomic-recipe-maintainer skill /switch-default-instance; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-switch-default-instance.)"
|
||||
---
|
||||
|
||||
# cctest-switch-default-instance (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/switch-default-instance/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-sync-secrets
|
||||
description: "[recipe-maintainer/cctest] Sync Docker secrets from the test server into recipe-info/testsecrets/ (Wraps the autonomic-recipe-maintainer skill /sync-secrets; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-sync-secrets.)"
|
||||
---
|
||||
|
||||
# cctest-sync-secrets (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/sync-secrets/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-t1cc-start
|
||||
description: "[recipe-maintainer/cctest] Provision the t1cc DigitalOcean test server and deploy Traefik (Wraps the autonomic-recipe-maintainer skill /t1cc-start; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-t1cc-start.)"
|
||||
---
|
||||
|
||||
# cctest-t1cc-start (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/t1cc-start/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-t1cc-stop
|
||||
description: "[recipe-maintainer/cctest] Destroy the t1cc DigitalOcean test server via terraform (Wraps the autonomic-recipe-maintainer skill /t1cc-stop; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-t1cc-stop.)"
|
||||
---
|
||||
|
||||
# cctest-t1cc-stop (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/t1cc-stop/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-test-context-reset
|
||||
description: "[recipe-maintainer/cctest] Undeploy all apps from the test server except traefik (Wraps the autonomic-recipe-maintainer skill /test-context-reset; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-test-context-reset.)"
|
||||
---
|
||||
|
||||
# cctest-test-context-reset (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/test-context-reset/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: cctest-test-setup
|
||||
description: "[recipe-maintainer/cctest] Verify the test environment is configured correctly (Wraps the autonomic-recipe-maintainer skill /test-setup; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-test-setup.)"
|
||||
---
|
||||
|
||||
# cctest-test-setup (cctest wrapper)
|
||||
|
||||
**Canonical procedure:** `vendor/autonomic-recipe-maintainer/.opencode/skills/test-setup/SKILL.md`
|
||||
— read it and follow it. This wrapper only sets context + policy.
|
||||
|
||||
**Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the
|
||||
recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or
|
||||
its shared swarm. Execute with the submodule as your working directory:
|
||||
`cd /srv/cc-ci-orch/vendor/autonomic-recipe-maintainer`. If the ARM environment is not yet
|
||||
configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances),
|
||||
run `/cctest-intro` / `/cctest-setup-sandbox` first.
|
||||
|
||||
**Policy overrides (cc-ci-orchestrator conventions win):**
|
||||
- Anything that would **merge a recipe PR or push a recipe main without review** requires
|
||||
explicit operator opt-in per run — the cc-ci standing rule is recipe upgrade PRs are
|
||||
operator-merged, and ARM skills that say otherwise (e.g. full-auto upgrade flows) do NOT
|
||||
inherit blanket authorization here.
|
||||
- Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly
|
||||
timers) from an ARM skill — cc-ci work goes through the cc-ci skills.
|
||||
- The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via
|
||||
a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.
|
||||
@@ -52,6 +52,19 @@ Then present the roster grouped as follows, and close with the situation guide.
|
||||
- **hetzner-server-recovery** — when a Hetzner host is unreachable over SSH/tailscale: API
|
||||
reboot, rescue mode, GRUB generation selection (submenu ids are `1>N`), console access.
|
||||
|
||||
**Recipe-maintainer toolkit (`/cctest-*` — the ARM sandbox + cctest test server, NOT cc-ci)**
|
||||
The full autonomic-recipe-maintainer skill set, vendored as a pinned submodule
|
||||
(`vendor/autonomic-recipe-maintainer`) and exposed with the `cctest-` prefix — ~30 skills for
|
||||
hands-on recipe work against the recipe-maintainer **cctest** test server and local abra
|
||||
sandbox: `/cctest-intro` (start here), `/cctest-recipe-overview`, `/cctest-recipe-init`,
|
||||
`/cctest-recipe-deploy`, `/cctest-recipe-test*`, `/cctest-recipe-upgrade-plan|apply|full`,
|
||||
`/cctest-new-recipe-guide`, sandbox/instance management (`/cctest-setup-sandbox`,
|
||||
`/cctest-t1cc-start|stop`), and more — enumerate with `ls .opencode/skills | grep ^cctest-`.
|
||||
**Rule of thumb:** verifying/shipping against the CI pipeline → the cc-ci skills above;
|
||||
exploratory or hands-on recipe development on a test instance → `/cctest-*`. cc-ci policy
|
||||
overrides apply (auto-merge-style ARM flows need per-run operator opt-in; never touch cc-ci
|
||||
infra from an ARM skill). After a submodule bump run `scripts/gen-cctest-skills.py`.
|
||||
|
||||
## "What do you want to do?"
|
||||
|
||||
| Situation | Do this |
|
||||
@@ -66,6 +79,8 @@ Then present the roster grouped as follows, and close with the situation guide.
|
||||
| "Update this orchestrator's OS/deps" | `/cc-ci-orchestrator-update` |
|
||||
| "Add <recipe> to what we maintain" | `/recipe-enroll <recipe>` |
|
||||
| "A host is unreachable" | `hetzner-server-recovery` |
|
||||
| "Hack on / bootstrap a recipe in a sandbox" | `/cctest-recipe-init`, `/cctest-recipe-deploy`, `/cctest-recipe-test` |
|
||||
| "New to recipe work, where do I start?" | `/cctest-intro` |
|
||||
| "What needs my review?" | `/cc-ci-status` → its open-PR section lists CVE-urgent + ready-to-merge PRs |
|
||||
|
||||
**Standing conventions** (all skills follow these): PRs are opened for visibility and merged
|
||||
|
||||
Reference in New Issue
Block a user