# Localize Overdeck skills

status: ACTIVE
task IDs: #1
source request: Owner requested: “move all /od-* skills to be local skill of overdeck, not global of claude. push deploy”. Owner then required `/od-emergency` to MUST NOT create a worktree unless writing code, with verification, commit, push, and deployment end-to-end. Meaning: every `od-*` skill belongs to Overdeck project-local `.claude/skills/`, must no longer be installed or exposed from Claude global `~/.claude/skills/`, and delivery includes verification, commit, push, and local deployment.

## Acceptance criteria

- Every repository-owned `od-*` skill is canonical under `.claude/skills/`.
- `modules/workstation/claude/skills/` contains no `od-*` skill.
- Deployment removes legacy global `~/.claude/skills/od-*` entries without affecting unrelated global skills.
- Fresh deployment installs/exposes the local skills only when working in Overdeck.
- `/od-emergency` works in the current workspace for non-code response and creates a worktree only when writing code.
- Skill content and executable modes remain intact.
- Deployment tests cover migration/removal and project-local availability.
- Focused tests pass without warnings.
- Change is committed, pushed to `main`, deployed locally, and installed paths are verified.

## Preserved WIP

- Worktree: `/home/user/Projects/overdeck/.worktrees/localize-od-skills`.
- Branch: `wt/localize-od-skills`, based on `origin/main` at `924664313`.
- Shared main checkout WIP remains untouched.

## Constraints

- Agent-facing skill docs move byte-for-byte except the owner-required `/od-emergency` worktree rule.
- Do not modify unrelated global skills.
- Use existing deployment ownership patterns; no duplicate sync mechanism.
- Install before landing applies because Claude skill installation is local runtime infrastructure.
- Push/deploy requested explicitly; direct-land only if standard guarded shipping cannot deliver promptly.

## Execution steps

1. Trace current skill source, deployment, and cleanup behavior.
2. Move all repository `od-*` skill trees into `.claude/skills/`.
3. Extend deployment with exact legacy-global cleanup and tests.
4. Run focused deployment/skill validation.
5. Deploy candidate to live runtime and prove project-local discovery plus global absence.
6. Commit, reconcile latest `origin/main`, push, deploy landed source, and re-prove.

## Current receipt

- Owner correction applied: `/od-emergency` now MUST remain in current workspace for measurement, diagnosis, runtime actions, and non-code recovery; it creates an isolated worktree only before first code edit.
- Project-local skill contract verified: local path exists, legacy repository-global source is absent, audience line and numbered 1–10 response ladder are present.
- Full Claude workstation test scope passes: 119 passed, 11 skipped, 17 subtests; `git diff --check` clean.

## Next executable action

Commit the correction, reconcile current `origin/main`, direct-land, deploy landed source, then prove installed project-local `/od-emergency` and absent legacy global source.
