[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M73CEM188W15WGKZGS80NJAS":3,"skill-same:01M73CEM188W15WGKZGS80NJAS":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M73CEM188W15WGKZGS80NJAS","promote-variant",null,"Guides Phase B promotion of a completed Phase A prototype to an official workspace variant template. Use when: PROMOTION_CHECKLIST conditions are all met, ready to create templates\u002Fco-\u003Cname>\u002F.","5throck\u002Fai-workspace-standards","5throck","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10958964?v=4","01M73BFEH0V0VS483TW4JD49JW","01M73BFEJ5VQZJHJSFTVPAZGDM",25,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002F5throck\u002Fai-workspace-standards\u002Fblob\u002Fmain\u002Fskills\u002Fpromote-variant\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: promote-variant\ndescription: >\n  Guides Phase B promotion of a completed Phase A prototype to an official workspace variant template.\n  Use when: PROMOTION_CHECKLIST conditions are all met, ready to create templates\u002Fco-\u003Cname>\u002F.\nstatus: active\nscope: common\nl2_propagate: false\nversion: 1.4.0\nowner: pm\nlast_reviewed: 2026-11-08\nrelates_to:\n  - skill: create-variant\n    type: follows\n  - skill: sync\n    type: follows\nmetadata:\n  type: process\n  triggers:\n    - promote variant\n    - Phase B\n    - variant promotion\n    - promote to template\n    - create template from prototype\n---\n\n# Skill: promote-variant\n\n## When to Use\n\nUse this skill after all `PROMOTION_CHECKLIST.md` conditions are satisfied in `Projects\u002F\u003Cvariant-name>\u002F`.\n\n**Prerequisites**:\n- All PROMOTION_CHECKLIST.md conditions show Done\n- `bun scripts\u002Faudit.ts` passes (0 errors)\n- `bun run agent:verify` passes (0 errors)\n- User has reviewed `_ORIGIN.md §Manual Phase B Steps`\n- **No promotion hold**: the source project's `variant.json` must NOT contain\n  `promotionHold: { hold: true }`. A hold blocks `l3-to-variant-pipeline.ts`\n  (Phase 0.5) and `project-to-variant.ts` mechanically and cannot be bypassed\n  with `--force` — the owner removes the hold only after the user approves the\n  promotion in plain language. Green readiness checks are not an approval.\n\n---\n\n## Phase B Process\n\n### Step 1: Final verification\n\n```bash\ncd Projects\u002F\u003Cvariant-name>\n\n# Verify all conditions\nbun run agent:verify          # Conditions 1, 5\nbun scripts\u002Fvalidate-skills.ts  # Condition 2\nbun scripts\u002Faudit.ts          # Conditions 3, 4\n\n# Review PROMOTION_CHECKLIST.md manually\n# Conditions 6, 7 require human review\n```\n\n- [ ] `docs\u002Fcontext.md` contains no project-only sections (purification diff empty or already mirrored into `docs\u002F\u003Cvariant>.context.md`)\n\nAll conditions must show Done before proceeding.\n\n### Step 1.5: Verify country-profile readiness\n\nRun the country-profile criteria rows from `docs\u002Ftemplates\u002FPROMOTION_CHECKLIST-template.md` (Criteria 1) — these gate promotion for both country-shipping and region-neutral variants:\n\n- [ ] `country_config` valid (if the prototype ships country profiles): `supported` list declared, `default: null` (region-neutral default), and every `supported` code has a `docs\u002Fcountries\u002F\u003CCODE>.md` profile with matching frontmatter `code`\n- [ ] Country-specific assets (skills, env keys) registered in `country_scoped_assets` in both schema copies - nothing ships unregistered, and there are no variant-local forks of registry-governed scoped skills\n- [ ] Region-neutral default intact: docs and agents reference a jurisdiction only via the active country profile or explicit `(CC: ...)` markers - no hardcoded target-jurisdiction assumptions in default paths\n\nA region-neutral prototype passes by confirming the second and third checks only (no unregistered scoped assets leaked in).\n\n### Step 2: Update pre-promotion metadata\n\nBefore running the pipeline, update these fields in `Projects\u002F\u003Cvariant-name>\u002F`:\n\n**`variant.json`**:\n- Confirm `inherits_common` matches current workspace common version\n- `phaseAComplete`: leave as `false` (pipeline sets this)\n\n**`_ORIGIN.md`**:\n- Confirm §Manual Phase B Steps lists all domain-specific folders\n- Confirm §Reconcile Survival Notes is complete\n\n### Step 3: Run l3-to-variant-pipeline.ts\n\n```bash\n# From workspace root C:\\git\\\nbun scripts\u002Fl3-to-variant-pipeline.ts \\\n  --l3-path=Projects\u002F\u003Cvariant-name> \\\n  --name=co-\u003Cvariant-name> \\\n  --type=\u003Csecurity|development|design|consulting|collaboration|lecture|game|abap-development|safety> \\\n  --description=\"\u003Cvariant-description>\" \\\n  --auto-fix-agents-md \\\n  --auto-fix-pm-md\n```\n\nExpected output:\n- `templates\u002Fco-\u003Cvariant-name>\u002F` created\n- Common files reconciled (duplicates removed)\n- Platform parity validated\n- Domain skills materialized into all three skill roots (`skills\u002F`, `.claude\u002Fskills\u002F`, `.gemini\u002Fskills\u002F`) — no manual copying (generate-variant.ts ≥ 1.12.0)\n- Agent `lifecycle` frontmatter preserved on the variant copy — no post-run backfills (generate-variant.ts ≥ 1.12.0)\n- VARIANT-INJECT markers ensured in `docs\u002Fco-\u003Cvariant-name>.context.md` even when the L3 source overwrites the marker-rich skeleton\n- Context purification: N project-only section(s) merged into docs\u002F\u003Cvariant>.context.md, M superseded stub(s) dropped (Phase 4.7 gate: PASS)\n- `AGENTS.md` regenerated with the full roster (`--auto-fix-agents-md`, via `regenerate-agents-md.ts --source`)\n\n### Step 4: Manual copy — pipeline-excluded directories\n\nCheck `_ORIGIN.md §Manual Phase B Steps` for domain-specific folders NOT scanned by the pipeline.\n\nCommon exclusions (must copy manually):\n```bash\n# Domain-specific directories (not auto-scanned by reconcile):\ncp -r Projects\u002F\u003Cvariant-name>\u002Fworkflows  templates\u002Fco-\u003Cvariant-name>\u002Fworkflows\ncp -r Projects\u002F\u003Cvariant-name>\u002Fregulations  templates\u002Fco-\u003Cvariant-name>\u002Fregulations\ncp -r Projects\u002F\u003Cvariant-name>\u002Fevidence-models  templates\u002Fco-\u003Cvariant-name>\u002Fevidence-models\ncp -r Projects\u002F\u003Cvariant-name>\u002Findustry-profiles  templates\u002Fco-\u003Cvariant-name>\u002Findustry-profiles\n# Add others per _ORIGIN.md\n```\n\n### Step 5: Verify common skills in generated template\n\n```bash\nls templates\u002Fco-\u003Cvariant-name>\u002F.claude\u002Fskills\u002F\nls templates\u002Fco-\u003Cvariant-name>\u002F.gemini\u002Fskills\u002F\n```\n\nIf common skills were stripped by reconcile (identical to L0), manually restore:\n```bash\ncp -r templates\u002Fcommon\u002F.claude\u002Fskills\u002F. templates\u002Fco-\u003Cvariant-name>\u002F.claude\u002Fskills\u002F\ncp -r templates\u002Fcommon\u002F.gemini\u002Fskills\u002F. templates\u002Fco-\u003Cvariant-name>\u002F.gemini\u002Fskills\u002F\n```\n\n> **Reconcile boundary**: `l3-to-variant-pipeline.ts` strips files from L2 that are identical to L0. Skills (`.claude\u002Fskills\u002F`, `.gemini\u002Fskills\u002F`) are **excluded from reconcile** and must always be present in L2. If skills are missing after pipeline run, restore them manually from `templates\u002Fcommon\u002F.claude\u002Fskills\u002F` and `templates\u002Fcommon\u002F.gemini\u002Fskills\u002F`.\n\n### Step 6: Verify new-project.ts picks up the new variant\n\n`bun scripts\u002Fnew-project.ts` automatically detects valid variants from `templates\u002F` at runtime — **no manual update required**.\n\nVerify detection works:\n```bash\nbun scripts\u002Fnew-project.ts --help\n# Should list co-\u003Cname> in the available variants output\n```\n\n### Step 6.5: Verify platform-mirror coverage\n\nBefore running validate-templates.ts, confirm skill-mirror parity is complete\nacross all five platform mirrors (`PLATFORM_MIRROR_DIRS` in\n`scripts\u002Flib\u002Fplatforms.ts` is the SSOT — .claude, .gemini, .agents, .codex, .hermes):\n\n```bash\n# Verify every platform mirror carries the .claude\u002F set (SSOT-first convention):\nfor m in .gemini .agents .codex .hermes; do\n  diff \u003C(ls templates\u002Fco-\u003Cvariant-name>\u002F.claude\u002Fskills\u002F) \\\n       \u003C(ls templates\u002Fco-\u003Cvariant-name>\u002F$m\u002Fskills\u002F) || true\ndone\n# Or heal directly:\nbun scripts\u002Fsync-skills.ts --dir templates\u002Fco-\u003Cvariant-name>\n```\n\nCheck that:\n- [ ] All commands in `.claude\u002Fcommands\u002F` have a matching file in `.gemini\u002Fcommands\u002F` (or explicit `gemini-parity: skip` frontmatter)\n- [ ] All skills in `.claude\u002Fskills\u002F` have a matching file in every platform mirror's `skills\u002F` (or `mirror-parity: skip`)\n- [ ] Every mirror SKILL.md carries the same frontmatter version as the skills\u002F SSOT (VA-07 enforces; the 2026-10-08 co-deck html-build staleness class)\n- [ ] `GEMINI.md` variant context section identical to `CLAUDE.md` variant context section\n- [ ] Each `agents\u002F*.md` file has Section C (Antigravity Integration)\n\nIf any gap found: fix before running validate-templates.ts.\n\n### Step 7: Run validate-templates.ts\n\n```bash\n# From workspace root C:\\git\\\nbun scripts\u002Fvalidate-templates.ts\n```\n\nFix any P-01 parity failures before proceeding.\n\n### Step 8: Update lifecycle metadata\n\n**`templates\u002Fco-\u003Cvariant-name>\u002Fvariant.json`**:\n```json\n{\n  \"status\": \"beta\",\n  \"lifecycle\": {\n    \"statusSince\": \"\u003Ctoday-date>\",\n    \"lastTransition\": \"beta -> promoted on \u003Ctoday-date>\",\n    \"stablePromotedOn\": null\n  }\n}\n```\n\n**`Projects\u002F\u003Cvariant-name>\u002Fvariant.json`**:\n```json\n{\n  \"phaseAComplete\": true\n}\n```\n\n### Step 9: Run tag-template.ts\n\nAfter all template changes are committed and verified:\n\n```bash\n# From workspace root C:\\git\\\nbun scripts\u002Ftag-template.ts\n```\n\nThis publishes a `template-v{VERSION}` git tag.\n\n### Step 10: Update workspace AGENTS.md\n\nAdd the new variant to the workspace root `AGENTS.md` if it has a unique agent roster that should be documented.\n\nRun:\n```bash\nbun run agent:verify\n```\n\n---\n\n## Post-Promotion Checklist\n\n- [ ] `templates\u002Fco-\u003Cname>\u002F` created and passes validate-templates.ts\n- [ ] Bilingual user guide authored: `templates\u002Fco-\u003Cname>\u002Fdocs\u002Fuser-guide.md` + `docs\u002Fuser-guide_ko.md` per the User-Guide Standard (enforced by validate-templates WS-11; reference: `templates\u002Fco-work\u002Fdocs\u002F`)\n- [ ] co-\u003Cname> added to all 6 index READMEs — root `README.md` \u002F `README_ko.md` \u002F `README_es.md` \u002F `README_ja.md` (tree + variant table) and `templates\u002FREADME.md` \u002F `templates\u002FREADME_ko.md` (enforced by WS-12)\n- [ ] `bun scripts\u002Fnew-project.ts` correctly lists co-\u003Cname> in `--help` output (auto-detected from `templates\u002F`)\n- [ ] `templates\u002Fco-\u003Cname>\u002Fvariant.json` status is `beta` with correct lifecycle dates\n- [ ] `Projects\u002F\u003Cvariant-name>\u002Fvariant.json` has `phaseAComplete: true`\n- [ ] `tag-template.ts` run and tag published\n- [ ] Workspace AGENTS.md updated (if needed)\n- [ ] `SECURITY.md` completed (not just stub)\n- [ ] All FIVE platform skill mirrors (`.claude\u002F`, `.gemini\u002F`, `.agents\u002F`, `.codex\u002F`, `.hermes\u002F` — the `PLATFORM_MIRROR_DIRS` SSOT in `scripts\u002Flib\u002Fplatforms.ts`) carry the variant's mirrorable skills at the SSOT version (or `mirror-parity: skip` declared); `bun scripts\u002Fsync-skills.ts --dir templates\u002Fco-\u003Cname>` heals, validate-templates variant-mirror-parity + VA-07 enforce\n- [ ] `.gemini\u002Fcommands\u002F` mirrors `.claude\u002Fcommands\u002F` (or gemini-parity: skip declared)\n- [ ] All `agents\u002F*.md` have Section C: Antigravity Integration\n- [ ] L3 project `scripts\u002FSCRIPTS.md` passes `bun scripts\u002Fverify-scripts.ts --verify` (no ghost entries, no PAIR MISSING)\n- [ ] Variant `scripts\u002F\u003Cvariant>\u002FSCRIPTS.md` sub-registry exists and lists all variant-specific scripts\n\n---\n\n## Testing the New Variant\n\nAfter Phase B, verify `bun scripts\u002Fnew-project.ts` creates a working instance:\n\n```bash\n# Bare names scaffold under Projects\u002F:\nbun scripts\u002Fnew-project.ts \"my-test-project\" --variant co-\u003Cname>\n\n# Verify created project structure:\nls Projects\u002Fmy-test-project\u002F\n```\n\n---\n\n## Previous Skill\n\n\u003C- `skills\u002Fcreate-variant\u002FSKILL.md` — Phase A creation process\n\n## Skill Graph Note\n\nSince `l3-to-variant-pipeline.ts` v1.21.2, Phase 6.5 regenerates and verifies the\npromoted variant's scope skill graph automatically. If it reports non-zero (e.g. older\ngenerator in the promoted output), run manually:\n`bun scripts\u002Fgenerate-skill-graph.ts --scope co-\u003Cname> && bun scripts\u002Fverify-skill-graph.ts --scope co-\u003Cname>`\n(ADR-0060 Amendment 6; `tests\u002Fadd-variant-relations.ts` can backfill typed relations\nfrom the variant's new procedure corpus — idempotent).\n","# Skill: promote-variant\n\n## When to Use\n\nUse this skill after all `PROMOTION_CHECKLIST.md` conditions are satisfied in `Projects\u002F\u003Cvariant-name>\u002F`.\n\n**Prerequisites**:\n- All PROMOTION_CHECKLIST.md conditions show Done\n- `bun scripts\u002Faudit.ts` passes (0 errors)\n- `bun run agent:verify` passes (0 errors)\n- User has reviewed `_ORIGIN.md §Manual Phase B Steps`\n- **No promotion hold**: the source project's `variant.json` must NOT contain\n  `promotionHold: { hold: true }`. A hold blocks `l3-to-variant-pipeline.ts`\n  (Phase 0.5) and `project-to-variant.ts` mechanically and cannot be bypassed\n  with `--force` — the owner removes the hold only after the user approves the\n  promotion in plain language. Green readiness checks are not an approval.\n\n---\n\n## Phase B Process\n\n### Step 1: Final verification\n\n```bash\ncd Projects\u002F\u003Cvariant-name>\n\n# Verify all conditions\nbun run agent:verify          # Conditions 1, 5\nbun scripts\u002Fvalidate-skills.ts  # Condition 2\nbun scripts\u002Faudit.ts          # Conditions 3, 4\n\n# Review PROMOTION_CHECKLIST.md manually\n# Conditions 6, 7 require human review\n```\n\n- [ ] `docs\u002Fcontext.md` contains no project-only sections (purification diff empty or already mirrored into `docs\u002F\u003Cvariant>.context.md`)\n\nAll conditions must show Done before proceeding.\n\n### Step 1.5: Verify country-profile readiness\n\nRun the country-profile criteria rows from `docs\u002Ftemplates\u002FPROMOTION_CHECKLIST-template.md` (Criteria 1) — these gate promotion for both country-shipping and region-neutral variants:\n\n- [ ] `country_config` valid (if the prototype ships country profiles): `supported` list declared, `default: null` (region-neutral default), and every `supported` code has a `docs\u002Fcountries\u002F\u003CCODE>.md` profile with matching frontmatter `code`\n- [ ] Country-specific assets (skills, env keys) registered in `country_scoped_assets` in both schema copies - nothing ships unregistered, and there are no variant-local forks of registry-governed scoped skills\n- [ ] Region-neutral default intact: docs and agents reference a jurisdiction only via the active country profile or explicit `(CC: ...)` markers - no hardcoded target-jurisdiction assumptions in default paths\n\nA region-neutral prototype passes by confirming the second and third checks only (no unregistered scoped assets leaked in).\n\n### Step 2: Update pre-promotion metadata\n\nBefore running the pipeline, update these fields in `Projects\u002F\u003Cvariant-name>\u002F`:\n\n**`variant.json`**:\n- Confirm `inherits_common` matches current workspace common version\n- `phaseAComplete`: leave as `false` (pipeline sets this)\n\n**`_ORIGIN.md`**:\n- Confirm §Manual Phase B Steps lists all domain-specific folders\n- Confirm §Reconcile Survival Notes is complete\n\n### Step 3: Run l3-to-variant-pipeline.ts\n\n```bash\n# From workspace root C:\\git\\\nbun scripts\u002Fl3-to-variant-pipeline.ts \\\n  --l3-path=Projects\u002F\u003Cvariant-name> \\\n  --name=co-\u003Cvariant-name> \\\n  --type=\u003Csecurity|development|design|consulting|collaboration|lecture|game|abap-development|safety> \\\n  --description=\"\u003Cvariant-description>\" \\\n  --auto-fix-agents-md \\\n  --auto-fix-pm-md\n```\n\nExpected output:\n- `templates\u002Fco-\u003Cvariant-name>\u002F` created\n- Common files reconciled (duplicates removed)\n- Platform parity validated\n- Domain skills materialized into all three skill roots (`skills\u002F`, `.claude\u002Fskills\u002F`, `.gemini\u002Fskills\u002F`) — no manual copying (generate-variant.ts ≥ 1.12.0)\n- Agent `lifecycle` frontmatter preserved on the variant copy — no post-run backfills (generate-variant.ts ≥ 1.12.0)\n- VARIANT-INJECT markers ensured in `docs\u002Fco-\u003Cvariant-name>.context.md` even when the L3 source overwrites the marker-rich skeleton\n- Context purification: N project-only section(s) merged into docs\u002F\u003Cvariant>.context.md, M superseded stub(s) dropped (Phase 4.7 gate: PASS)\n- `AGENTS.md` regenerated with the full roster (`--auto-fix-agents-md`, via `regenerate-agents-md.ts --source`)\n\n### Step 4: Manual copy — pipeline-excluded directories\n\nCheck `_ORIGIN.md §Manual Phase B Steps` for domain-specific folders NOT scanned by the pipeline.\n\nCommon exclusions (must copy manually):\n```bash\n# Domain-specific directories (not auto-scanned by reconcile):\ncp -r Projects\u002F\u003Cvariant-name>\u002Fworkflows  templates\u002Fco-\u003Cvariant-name>\u002Fworkflows\ncp -r Projects\u002F\u003Cvariant-name>\u002Fregulations  templates\u002Fco-\u003Cvariant-name>\u002Fregulations\ncp -r Projects\u002F\u003Cvariant-name>\u002Fevidence-models  templates\u002Fco-\u003Cvariant-name>\u002Fevidence-models\ncp -r Projects\u002F\u003Cvariant-name>\u002Findustry-profiles  templates\u002Fco-\u003Cvariant-name>\u002Findustry-profiles\n# Add others per _ORIGIN.md\n```\n\n### Step 5: Verify common skills in generated template\n\n```bash\nls templates\u002Fco-\u003Cvariant-name>\u002F.claude\u002Fskills\u002F\nls templates\u002Fco-\u003Cvariant-name>\u002F.gemini\u002Fskills\u002F\n```\n\nIf common skills were stripped by reconcile (identical to L0), manually restore:\n```bash\ncp -r templates\u002Fcommon\u002F.claude\u002Fskills\u002F. templates\u002Fco-\u003Cvariant-name>\u002F.claude\u002Fskills\u002F\ncp -r templates\u002Fcommon\u002F.gemini\u002Fskills\u002F. templates\u002Fco-\u003Cvariant-name>\u002F.gemini\u002Fskills\u002F\n```\n\n> **Reconcile boundary**: `l3-to-variant-pipeline.ts` strips files from L2 that are identical to L0. Skills (`.claude\u002Fskills\u002F`, `.gemini\u002Fskills\u002F`) are **excluded from reconcile** and must always be present in L2. If skills are missing after pipeline run, restore them manually from `templates\u002Fcommon\u002F.claude\u002Fskills\u002F` and `templates\u002Fcommon\u002F.gemini\u002Fskills\u002F`.\n\n### Step 6: Verify new-project.ts picks up the new variant\n\n`bun scripts\u002Fnew-project.ts` automatically detects valid variants from `templates\u002F` at runtime — **no manual update required**.\n\nVerify detection works:\n```bash\nbun scripts\u002Fnew-project.ts --help\n# Should list co-\u003Cname> in the available variants output\n```\n\n### Step 6.5: Verify platform-mirror coverage\n\nBefore running validate-templates.ts, confirm skill-mirror parity is complete\nacross all five platform mirrors (`PLATFORM_MIRROR_DIRS` in\n`scripts\u002Flib\u002Fplatforms.ts` is the SSOT — .claude, .gemini, .agents, .codex, .hermes):\n\n```bash\n# Verify every platform mirror carries the .claude\u002F set (SSOT-first convention):\nfor m in .gemini .agents .codex .hermes; do\n  diff \u003C(ls templates\u002Fco-\u003Cvariant-name>\u002F.claude\u002Fskills\u002F) \\\n       \u003C(ls templates\u002Fco-\u003Cvariant-name>\u002F$m\u002Fskills\u002F) || true\ndone\n# Or heal directly:\nbun scripts\u002Fsync-skills.ts --dir templates\u002Fco-\u003Cvariant-name>\n```\n\nCheck that:\n- [ ] All commands in `.claude\u002Fcommands\u002F` have a matching file in `.gemini\u002Fcommands\u002F` (or explicit `gemini-parity: skip` frontmatter)\n- [ ] All skills in `.claude\u002Fskills\u002F` have a matching file in every platform mirror's `skills\u002F` (or `mirror-parity: skip`)\n- [ ] Every mirror SKILL.md carries the same frontmatter version as the skills\u002F SSOT (VA-07 enforces; the 2026-10-08 co-deck html-build staleness class)\n- [ ] `GEMINI.md` variant context section identical to `CLAUDE.md` variant context section\n- [ ] Each `agents\u002F*.md` file has Section C (Antigravity Integration)\n\nIf any gap found: fix before running validate-templates.ts.\n\n### Step 7: Run validate-templates.ts\n\n```bash\n# From workspace root C:\\git\\\nbun scripts\u002Fvalidate-templates.ts\n```\n\nFix any P-01 parity failures before proceeding.\n\n### Step 8: Update lifecycle metadata\n\n**`templates\u002Fco-\u003Cvariant-name>\u002Fvariant.json`**:\n```json\n{\n  \"status\": \"beta\",\n  \"lifecycle\": {\n    \"statusSince\": \"\u003Ctoday-date>\",\n    \"lastTransition\": \"beta -> promoted on \u003Ctoday-date>\",\n    \"stablePromotedOn\": null\n  }\n}\n```\n\n**`Projects\u002F\u003Cvariant-name>\u002Fvariant.json`**:\n```json\n{\n  \"phaseAComplete\": true\n}\n```\n\n### Step 9: Run tag-template.ts\n\nAfter all template changes are committed and verified:\n\n```bash\n# From workspace root C:\\git\\\nbun scripts\u002Ftag-template.ts\n```\n\nThis publishes a `template-v{VERSION}` git tag.\n\n### Step 10: Update workspace AGENTS.md\n\nAdd the new variant to the workspace root `AGENTS.md` if it has a unique agent roster that should be documented.\n\nRun:\n```bash\nbun run agent:verify\n```\n\n---\n\n## Post-Promotion Checklist\n\n- [ ] `templates\u002Fco-\u003Cname>\u002F` created and passes validate-templates.ts\n- [ ] Bilingual user guide authored: `templates\u002Fco-\u003Cname>\u002Fdocs\u002Fuser-guide.md` + `docs\u002Fuser-guide_ko.md` per the User-Guide Standard (enforced by validate-templates WS-11; reference: `templates\u002Fco-work\u002Fdocs\u002F`)\n- [ ] co-\u003Cname> added to all 6 index READMEs — root `README.md` \u002F `README_ko.md` \u002F `README_es.md` \u002F `README_ja.md` (tree + variant table) and `templates\u002FREADME.md` \u002F `templates\u002FREADME_ko.md` (enforced by WS-12)\n- [ ] `bun scripts\u002Fnew-project.ts` correctly lists co-\u003Cname> in `--help` output (auto-detected from `templates\u002F`)\n- [ ] `templates\u002Fco-\u003Cname>\u002Fvariant.json` status is `beta` with correct lifecycle dates\n- [ ] `Projects\u002F\u003Cvariant-name>\u002Fvariant.json` has `phaseAComplete: true`\n- [ ] `tag-template.ts` run and tag published\n- [ ] Workspace AGENTS.md updated (if needed)\n- [ ] `SECURITY.md` completed (not just stub)\n- [ ] All FIVE platform skill mirrors (`.claude\u002F`, `.gemini\u002F`, `.agents\u002F`, `.codex\u002F`, `.hermes\u002F` — the `PLATFORM_MIRROR_DIRS` SSOT in `scripts\u002Flib\u002Fplatforms.ts`) carry the variant's mirrorable skills at the SSOT version (or `mirror-parity: skip` declared); `bun scripts\u002Fsync-skills.ts --dir templates\u002Fco-\u003Cname>` heals, validate-templates variant-mirror-parity + VA-07 enforce\n- [ ] `.gemini\u002Fcommands\u002F` mirrors `.claude\u002Fcommands\u002F` (or gemini-parity: skip declared)\n- [ ] All `agents\u002F*.md` have Section C: Antigravity Integration\n- [ ] L3 project `scripts\u002FSCRIPTS.md` passes `bun scripts\u002Fverify-scripts.ts --verify` (no ghost entries, no PAIR MISSING)\n- [ ] Variant `scripts\u002F\u003Cvariant>\u002FSCRIPTS.md` sub-registry exists and lists all variant-specific scripts\n\n---\n\n## Testing the New Variant\n\nAfter Phase B, verify `bun scripts\u002Fnew-project.ts` creates a working instance:\n\n```bash\n# Bare names scaffold under Projects\u002F:\nbun scripts\u002Fnew-project.ts \"my-test-project\" --variant co-\u003Cname>\n\n# Verify created project structure:\nls Projects\u002Fmy-test-project\u002F\n```\n\n---\n\n## Previous Skill\n\n\u003C- `skills\u002Fcreate-variant\u002FSKILL.md` — Phase A creation process\n\n## Skill Graph Note\n\nSince `l3-to-variant-pipeline.ts` v1.21.2, Phase 6.5 regenerates and verifies the\npromoted variant's scope skill graph automatically. If it reports non-zero (e.g. older\ngenerator in the promoted output), run manually:\n`bun scripts\u002Fgenerate-skill-graph.ts --scope co-\u003Cname> && bun scripts\u002Fverify-skill-graph.ts --scope co-\u003Cname>`\n(ADR-0060 Amendment 6; `tests\u002Fadd-variant-relations.ts` can backfill typed relations\nfrom the variant's new procedure corpus — idempotent).\n",{"name":5,"owner":23,"scope":24,"status":25,"version":26,"metadata":27,"relates_to":35,"description":41,"l2_propagate":19,"last_reviewed":42},"pm","common","active","1.4.0",{"type":28,"triggers":29},"process",[30,31,32,33,34],"promote variant","Phase B","variant promotion","promote to template","create template from prototype",[36,39],{"type":37,"skill":38},"follows","create-variant",{"type":37,"skill":40},"sync","Guides Phase B promotion of a completed Phase A prototype to an official workspace variant template. Use when: PROMOTION_CHECKLIST conditions are all met, ready to create templates\u002Fco-\u003Cname>\u002F.\n",1794096000000,"main","1162ccc568cf90c01b3886d6143cbfd851a37883","skills\u002Fpromote-variant",9,"https:\u002F\u002Fgithub.com\u002F5throck\u002Fai-workspace-standards","https:\u002F\u002Fgithub.com\u002F5throck","Experienced in digital transformation, enterprise IT, startup acceleration, and business strategy. Focused on building practical systems that connect technolo","2026-11-14 21:22:34",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add 5throck\u002Fai-workspace-standards --skill promote-variant",{"tool":57,"command":58},"bunx","bunx skills add 5throck\u002Fai-workspace-standards --skill promote-variant",{"tool":60,"command":61},"pnpm","pnpm dlx skills add 5throck\u002Fai-workspace-standards --skill promote-variant","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002F5throck\u002Fai-workspace-standards\u002Fblob\u002Fmain\u002Fskills\u002Fpromote-variant\u002FSKILL.md",true,[],[66,72,78,84,91,98],{"skillNo":67,"name":68,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":18},"01M73HG1JK5J3A3AMG6WNH8V6E","discovery","https:\u002F\u002Fgithub.com\u002F5throck\u002Fai-workspace-standards\u002Fblob\u002Fmain\u002Ftests\u002Fprocedures-fixtures\u002Ftemplates\u002Fco-fixt\u002Fskills\u002Fdiscovery\u002FSKILL.md",[],[],{"skillNo":73,"name":74,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":18},"01M73HG0VZMCNH9YJX8ERV6R7C","x","https:\u002F\u002Fgithub.com\u002F5throck\u002Fai-workspace-standards\u002Fblob\u002Fmain\u002Ftests\u002Fprocedures-fixtures\u002Ftemplates\u002Fco-bad\u002Fskills\u002Fx\u002FSKILL.md",[],[],{"skillNo":79,"name":80,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":18},"01M73HFZR1J6DMW5BRXG1ND6ET","root-skill","https:\u002F\u002Fgithub.com\u002F5throck\u002Fai-workspace-standards\u002Fblob\u002Fmain\u002Ftests\u002Fprocedures-fixtures\u002Fskills\u002Froot-skill\u002FSKILL.md",[],[],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":18},"01M73HFSYWV2FPF895DK295NCV","update-bun-packages","Scans, updates, and upgrades Bun dependencies and packages across the AI workspace (L0) or standalone project (L2\u002FL3) while ensuring lockfile consistency, package.json version bumps, and security compliance. Use when: updating bun dependencies, upgrading packages to @latest, checking outdated packages in workspace or templates.","https:\u002F\u002Fgithub.com\u002F5throck\u002Fai-workspace-standards\u002Fblob\u002Fmain\u002Ftemplates\u002Fcommon\u002Fskills\u002Fupdate-bun-packages\u002FSKILL.md",[],[],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":18},"01M73HFPZ7G1AHF80CDEJ94SZ9","ui-ux-design-intelligence","Provides comprehensive UI\u002FUX design capabilities including design system creation, component design, visual hierarchy, and user-centered design principles. Use when: building design systems, creating visual designs, designing UI components, or establishing design specifications.","https:\u002F\u002Fgithub.com\u002F5throck\u002Fai-workspace-standards\u002Fblob\u002Fmain\u002Ftemplates\u002Fcommon\u002Fskills\u002Fui-ux-design-intelligence\u002FSKILL.md",[],[],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":18},"01M73HFMBER8AQEX2HF02JE2G4","translate","Translation helper for README and documentation files with diff preview and guidance","https:\u002F\u002Fgithub.com\u002F5throck\u002Fai-workspace-standards\u002Fblob\u002Fmain\u002Ftemplates\u002Fcommon\u002Fskills\u002Ftranslate\u002FSKILL.md",[],[]]