From 72d4b0dfd231d48f63bdf222b07d37ecc5456004 Mon Sep 17 00:00:00 2001 From: Trevin Chow Date: Tue, 17 Mar 2026 10:30:49 -0700 Subject: [PATCH] fix: add disable-model-invocation to beta skills and refine descriptions Beta skills now use disable-model-invocation: true to prevent accidental auto-triggering. Descriptions written as future stable descriptions with [BETA] prefix for clean promotion. Updated solutions doc and AGENTS.md promotion checklist to include removing the field. --- .../skill-design/beta-skills-framework.md | 20 ++++++++++--------- plugins/compound-engineering/AGENTS.md | 3 +++ .../skills/ce-plan-beta/SKILL.md | 3 ++- .../skills/deepen-plan-beta/SKILL.md | 3 ++- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/docs/solutions/skill-design/beta-skills-framework.md b/docs/solutions/skill-design/beta-skills-framework.md index 25157b7..7780cef 100644 --- a/docs/solutions/skill-design/beta-skills-framework.md +++ b/docs/solutions/skill-design/beta-skills-framework.md @@ -39,11 +39,12 @@ skills/ └── deepen-plan-beta/SKILL.md # New version ``` -### Naming conventions +### Naming and frontmatter conventions - **Directory**: `-beta/` - **Frontmatter name**: `-beta` (e.g., `ce:plan-beta`) -- **Description prefix**: `[BETA]` to make it visually obvious +- **Description**: Write the intended stable description, then prefix with `[BETA]`. This ensures promotion is a simple prefix removal rather than a rewrite. +- **`disable-model-invocation: true`**: Prevents the model from auto-triggering the beta skill. Users invoke it manually with the slash command. Remove this field when promoting to stable. - **Plan files**: Use `-beta-plan.md` suffix (e.g., `2026-03-17-001-feat-auth-flow-beta-plan.md`) to avoid clobbering stable plan files ### Internal references @@ -70,13 +71,14 @@ Beta skills must reference each other by their beta names: When the beta version is validated: 1. Replace stable `SKILL.md` content with beta skill content -2. Restore stable frontmatter: remove `[BETA]` prefix, restore stable `name:` -3. Update all internal references back to stable names -4. Restore stable plan file naming (remove `-beta` from the convention) -5. Delete the beta skill directory -6. Update README.md: remove from Beta Skills section, verify counts -7. Verify `lfg`/`slfg` work with the promoted skill -8. Verify `ce:work` consumes plans from the promoted skill +2. Restore stable frontmatter: remove `[BETA]` prefix from description, restore stable `name:` +3. Remove `disable-model-invocation: true` so the model can auto-trigger it +4. Update all internal references back to stable names +5. Restore stable plan file naming (remove `-beta` from the convention) +6. Delete the beta skill directory +7. Update README.md: remove from Beta Skills section, verify counts +8. Verify `lfg`/`slfg` work with the promoted skill +9. Verify `ce:work` consumes plans from the promoted skill ## Prevention diff --git a/plugins/compound-engineering/AGENTS.md b/plugins/compound-engineering/AGENTS.md index 258c0f6..715bd18 100644 --- a/plugins/compound-engineering/AGENTS.md +++ b/plugins/compound-engineering/AGENTS.md @@ -125,6 +125,8 @@ See `docs/solutions/skill-design/beta-skills-framework.md` for the full pattern. ### Beta Skill Rules - Beta skills use `-beta` suffix in directory name, skill name, and description prefix (`[BETA]`) +- Beta skills set `disable-model-invocation: true` to prevent accidental auto-triggering — users invoke them manually +- Beta skill descriptions should be the intended stable description prefixed with `[BETA]`, so promotion is a simple prefix removal - Beta skills must reference other beta skills by their beta names (e.g., `/deepen-plan-beta`, not `/deepen-plan`) - Beta plan output files use `-beta-plan.md` suffix to avoid clobbering stable plan files - Beta skills are not wired into `lfg`/`slfg` orchestration — invoke them directly @@ -135,6 +137,7 @@ When replacing a stable skill with its beta version: - [ ] Replace stable `SKILL.md` content with beta skill content - [ ] Restore stable frontmatter: remove `[BETA]` prefix from description, restore stable `name:` (e.g., `ce:plan` not `ce:plan-beta`) +- [ ] Remove `disable-model-invocation: true` so the model can auto-trigger the skill - [ ] Update all internal references back to stable names (`/deepen-plan` not `/deepen-plan-beta`) - [ ] Restore stable plan file naming (remove `-beta` from `-beta-plan.md` convention) - [ ] Delete the beta skill directory diff --git a/plugins/compound-engineering/skills/ce-plan-beta/SKILL.md b/plugins/compound-engineering/skills/ce-plan-beta/SKILL.md index c363580..f3230ef 100644 --- a/plugins/compound-engineering/skills/ce-plan-beta/SKILL.md +++ b/plugins/compound-engineering/skills/ce-plan-beta/SKILL.md @@ -1,7 +1,8 @@ --- name: ce:plan-beta -description: "[BETA] Transform feature descriptions or requirements into structured, decision-first implementation plans. Use when testing the new planning workflow. Produces plans focused on decisions, boundaries, and verification rather than pre-written implementation choreography." +description: "[BETA] Transform feature descriptions or requirements into structured implementation plans grounded in repo patterns and research. Use when the user says 'plan this', 'create a plan', 'write a tech plan', 'plan the implementation', 'how should we build', 'what's the approach for', 'break this down', or when a brainstorm/requirements document is ready for technical planning. Best when requirements are at least roughly defined; for exploratory or ambiguous requests, prefer ce:brainstorm first." argument-hint: "[feature description, requirements doc path, or improvement idea]" +disable-model-invocation: true --- # Create Technical Plan diff --git a/plugins/compound-engineering/skills/deepen-plan-beta/SKILL.md b/plugins/compound-engineering/skills/deepen-plan-beta/SKILL.md index a640371..73307c7 100644 --- a/plugins/compound-engineering/skills/deepen-plan-beta/SKILL.md +++ b/plugins/compound-engineering/skills/deepen-plan-beta/SKILL.md @@ -1,7 +1,8 @@ --- name: deepen-plan-beta -description: "[BETA] Stress-test an existing implementation plan and selectively strengthen weak sections with targeted research. Use when a plan from ce:plan-beta needs more confidence around decisions, sequencing, system-wide impact, risks, or verification." +description: "[BETA] Stress-test an existing implementation plan and selectively strengthen weak sections with targeted research. Use when a plan needs more confidence around decisions, sequencing, system-wide impact, risks, or verification. Best for Standard or Deep plans, or high-risk topics such as auth, payments, migrations, external APIs, and security. For structural or clarity improvements, prefer document-review instead." argument-hint: "[path to plan file]" +disable-model-invocation: true --- # Deepen Plan