Tasks: Spec-conformant command skill names + Antigravity skills delivery

Mission: command-skill-names-and-antigravity-01M5DBWT · Topology: single_branch (WPs run sequentially in the repository root checkout on issue-6475-6470-command-skill-names). Inputs: spec.md, plan.md (read the Post-plan squad dispositions table — it overrides the concern text), research.md, data-model.md, occurrence_map.yaml.

Subtask Format: [Txxx] [P?] Description

Path Conventions

Source under src/, tests under tests/ mirroring the source tree, CI under .github/ and scripts/ci/, docs under docs/.

Work Package WP01: Red-first P0 reproductions (Priority: P0)

Goal: commit failing p0_repro tests for #6475 and #6470 through spec-kitty init before any fix. Independent test: both tests fail on the base commit with SPEC_KITTY_RUN_P0_REPRO=1.

Included Subtasks

T001 Write @pytest.mark.p0_repro(issue=6475) init repro asserting hyphenated, spec-valid command skills (WP01) T002 Write @pytest.mark.p0_repro(issue=6470) init repro asserting Antigravity command skills and no ~/.agent/workflows Spec Kitty files (WP01) T003 Capture the red run output into the mission traces and commit the tests alone (WP01)

Dependencies

None.

Risks & Mitigations

Vacuity: assert literals, never the naming authority; absolute normalised HOME.

Work Package WP02: Naming authority and invocation rewrite (Priority: P0)

Goal: one leaf module owns the command-skill name, path parsing (canonical vs legacy), the uniqueness assertion, legacy names and the agent-independent invocation rewrite; the renderer and the pack-skill renderer use it.

Included Subtasks

T004 Create skills/command_skill_names.py (name, rel path, parse canonical/legacy, LEGACY names, invocation rewrite, per-agent UI token) (WP02) T005 Build-time uniqueness check against charter skills, built-in pack skills, retired and legacy sets (WP02) T006 Command renderer uses the authority for name, description fallback and body invocation rewrite; _user_input_block text (WP02) T007 Pack-skill renderer: builtin: accepts both forms, renders spec-kitty-<cmd> (WP02) T008 Architectural gate: no other module composes spec-kitty.<cmd>/spec-kitty-<cmd> command-skill names (WP02)

Dependencies

WP01.

Work Package WP03: Installer, provider and doctor on the new names (Priority: P0)

Goal: the installer writes spec-kitty-<cmd>, classifies legacy dotted entries with the keep-edited rule on every repair path, skips a user folder at a canonical path with a warning, and doctor/init/ownership read the authority. Includes the init acceptance scenario.

Included Subtasks

T009 Installer: canonical paths, legacy class (owned+equal → delete, edited → keep+drop entry+warn), never drift-delete legacy (WP03) T010 Installer: canonical-path collision → per-path skip disposition, batch continues (WP03) T011 Manifest schema accepts canonical + legacy forms; verify() adds legacy and collisions, orphan scan keyed on the explicit set (WP03) T012 Provider command_skills.py, ownership.is_projected_skills_path, init helpers and _COMMAND_SKILL_AGENTS from the roster (WP03) T013 doctor skills reports legacy leftovers and collisions (read-only, never feeds --fix deletion by name) (WP03) T014 Acceptance scenario tests/scenarios/init/ for the collision + step check; update existing tests that pin the dotted path (WP03)

Dependencies

WP02.

Work Package WP04: Rename migration and new-invocation notice (Priority: P1)

Included Subtasks

T015 Migration 4.0.0rc8_command_skill_hyphen_names (clone-local, idempotent, config-aware, calls the installer) + order manifest entry (WP04) T016 Migration tests with prior-release dotted bytes, edited file, user folder, missing manifest, worktree, idempotence, ledger record (WP04) T017 init next-steps and upgrade report print the new invocation; release-note text hook (WP04)

Dependencies

WP03.

Work Package WP05: Antigravity command skills and project workflows archive (Priority: P0)

Included Subtasks

T018 Add antigravity to the roster; remove from AGENT_COMMAND_CONFIG, AGENT_DIRS, AGENT_DIR_TO_KEY; one configured_slash_agents() filter; fix every consumer (WP05) T019 Init/agent config/capability matrix/path matrix wording for Antigravity (WP05) T020 Migration 4.0.0rc8_retire_antigravity_workflows: archive marker-proven files to .kittify/backups/antigravity-workflows/, symlink refusal, never the dir/foreign files, install skills when configured (WP05) T021 Tests: registry invariants, init --ai antigravity, migration fixtures (WP05)

Dependencies

WP03.

Work Package WP06: Home-folder writer scoped to configured agents (Priority: P1)

Included Subtasks

T022 Startup passes configured slash agents (none outside a project); agent config add triggers its write (WP06) T023 Freshness stamp per key; scoped calls write it; short-circuit for healthy requested keys; schema field forces first rebuild (WP06) T024 ~/.agent/workflows owned cleanup via inventory retire / strict marker+bytes proof; symlink refusal (WP06) T025 Tests incl. startup timing guard and cleanup fixtures (WP06)

Dependencies

WP05.

Work Package WP07: Spec-conformant frontmatter projection and limits (Priority: P1)

Included Subtasks

T026 skills/skill_frontmatter.py: allowed fields, root classification, projection, validation rules mirroring skills-ref (WP07) T027 Command skills render spec-only frontmatter; charter/pack skill install and verifier apply the root projection; global ~/.agents/skills writer too (WP07) T028 Plugin bundles: Claude native projection, Codex/Copilot spec projection (WP07) T029 Pack skill validation: rendered name ≤64, description incl. Triggers ≤1024 (WP07) T030 Tests + architectural gate: one frontmatter authority (WP07)

Dependencies

WP03.

Work Package WP08: Agent Skills validator in CI (Priority: P2)

Included Subtasks

T031 scripts/ci/validate_agent_skills.py (shipped tree projected + generated project) using skills-ref==0.1.1 (WP08) T032 Always-on ci-router.yml job + router-gate needs + CI wiring tests (WP08) T033 Show the check failing on a seeded bad skill (WP08)

Dependencies

WP07.

Work Package WP09: Docs, ADR, agent tables and changelog (Priority: P2)

Included Subtasks

T034 ADR docs/adr/4.x/2026-10-20-1-... amending 2026-04-07-1 (+ pointer in the old ADR) (WP09) T035 CLAUDE.md / AGENTS.md agent tables; docs occurrences per the occurrence map; docs index/freshness (WP09) T036 docs/changelog/CHANGELOG.md [Unreleased] entry with release note (new invocations, downgrade caveat) (WP09)

Dependencies

WP04, WP05, WP06, WP07, WP08.

Work Package WP10: open-packs text fix and pin bump (Priority: P2)

Included Subtasks

T037 open-packs PR: packs/internal/README.md names the hyphenated command-skill folders (WP10) T038 Bump the internal (and, if changed, built-in) pin with charter pack vendor, make sync-packs, verify (WP10)

Dependencies

WP09.

Dependency & Execution Summary

WP01 → WP02 → WP03 → {WP04, WP05, WP07} → WP06 (after WP05), WP08 (after WP07) → WP09 → WP10. Single-branch topology runs them one at a time in this order: WP01, WP02, WP03, WP04, WP05, WP06, WP07, WP08, WP09, WP10.

Requirements Coverage Summary

WPRequirements
WP01FR-001, FR-008, SC-004
WP02FR-001, FR-002, FR-003, FR-017, FR-016
WP03FR-001, FR-004, FR-007, FR-019, FR-020, NFR-001
WP04FR-005, FR-006, NFR-002
WP05FR-008, FR-009, FR-010, NFR-005
WP06FR-011, NFR-003
WP07FR-012, FR-013, FR-014, NFR-004
WP08FR-015, SC-001
WP09FR-018, FR-006
WP10FR-016

Subtask Index (Reference)

SubtaskDescriptionWPParallel
T001-T003P0 reprosWP01
T004-T008naming authorityWP02
T009-T014installer/provider/doctorWP03
T015-T017rename migrationWP04
T018-T021AntigravityWP05
T022-T025home writerWP06
T026-T030frontmatterWP07
T031-T033CI validatorWP08
T034-T036docsWP09
T037-T038open-packsWP10