Agents Builders

Install agent skills locally

Archived
install-agent-skills-locally

Created

Jun 25, 16:15

Started

Jun 25, 16:18

Completed

Jun 25, 20:28

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

install-agent-skills-locally

Repositories

mcritchie-studio

Release Train

Branch

feat/install-agent-skills-locally

QA URL

Production URL

devops tooling recovery

Acceptance Criteria

  • Canonical user-global skills tracked in studio repo
  • Installer syncs skills into ~/.claude/skills
  • check mode detects local skill drift
  • house-burn-down restores skills on fresh machine
  • /wrap migrated as first platform-owned skill

Expected Test Plan

  • unit
  • integration

Checks Run

  • [unit] ruby -Itest test/commands/install_agent_skills_test.rb -n /test_unit_/ — 3 runs, 11 assertions, 0 failures (wrap present in canonical source; /wrap trimmer degrades gracefully via [ -x ] guard; unknown mode exits 64)
  • [integration] ruby -Itest test/commands/install_agent_skills_test.rb -n /test_integration_/ — 6 runs, 15 assertions, 0 failures (sandboxed HOME+PROJECTS_DIR: install lands ~/.claude/skills/wrap/SKILL.md; idempotent; top-level README not mirrored; check passes then fails on modified + missing drift)

Agent Context

Goal: McRitchie Studio becomes the canonical, version-controlled home for the operator's USER-GLOBAL Claude Code skills so they survive a wiped machine and travel with the platform — exactly like the generated AGENTS.md/CLAUDE.md do today. EXTEND the existing proven mechanism, don't invent one: bin/install-agent-docs already cp's docs/agents/{index,claude}.md to $PROJECTS_DIR and already manages $HOME/.claude (settings.json), with an install/check (drift-detection) idiom. The repo ALSO already has .claude/skills/{nfl-refresh,nfl-rebuild} but those are PROJECT-scoped (only load when CWD=studio). This feature is for USER-GLOBAL skills that load in every session. Design: (1) a tracked canonical source dir for user-global skills, e.g. docs/agents/skills/<name>/SKILL.md; (2) extend bin/install-agent-docs (preferred — one 'match my machine to the platform' command) OR a sibling bin/install-agent-skills to cp those into ~/.claude/skills/<name>/ with a matching check mode (copy+check, NOT symlink, to mirror the existing idiom + drift detection); (3) wire the skills install into the recovery/bootstrap flow (docs/agents/system/house-burn-down.md + bootstrap.md + bin/ecosystem-build/bin/setup as appropriate) so a fresh machine restores skills. SEED with /wrap: the canonical SKILL.md currently lives standalone at ~/.claude/skills/wrap/SKILL.md (read it from there) — move the canonical copy into the repo source dir and let the installer own ~/.claude/skills/wrap. IMPORTANT: /wrap step 2 references a personal trimmer at ~/.claude/projects/-Users-alex-projects/memory/bin/trim-index — make /wrap degrade gracefully if that path is absent (describe the action, don't hard-fail), since the personal memory tooling is NOT platform-owned yet. Tests (backend shape, unit+integration): cover the installer copy/check logic — idempotent install, check detects drift, a skill lands in ~/.claude/skills — following the existing bin/ script test pattern (see test/lib/release_cli_test.rb and test/commands/agent_worktree_test.rb for how CLI scripts are exercised from Ruby; sandbox HOME to a temp dir so tests don't clobber the real ~/.claude). FOLLOW-UP (out of scope, note in PR): make the memory-hygiene tooling (trim-index) + memory system portable too; docs/agents/system/memory.md already exists as a hook.

Stage Timeline

Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. means the agent didn't report that metric.

  1. Created Designed
    Z Zapdos
    Zapdos
    Model
    Duration
    Tokens
    Cost
    Completed Jun 25, 16:15 · 1 day ago
    api
  2. Designed Building
    Z Zapdos
    Zapdos
    Model
    claude-opus-4-8
    Duration
    3 minutes
    Tokens
    Cost
    Started Jun 25, 16:15
    Completed Jun 25, 16:18 · 1 day ago
    cli
  3. Building Submitted
    Z Zapdos
    Zapdos
    Model
    claude-opus-4-8
    Duration
    about 2 hours
    Tokens
    Cost
    Started Jun 25, 16:18
    Completed Jun 25, 18:39 · 1 day ago
    cli
  4. Submitted Reviewed
    C Carl
    Carl primary
    S Shannon
    Shannon light
    Model
    claude-opus-4-8
    Duration
    about 1 hour
    Tokens
    Cost
    Started Jun 25, 18:39
    Completed Jun 25, 19:39 · 1 day ago
    cli
  5. Reviewed Assembled
    S Steffon
    Steffon
    Model
    Duration
    under a minute
    Tokens
    Cost
    Started Jun 25, 19:39
    Completed Jun 25, 19:40 · 1 day ago
  6. Assembled Shipped
    A Avi
    Avi
    Model
    Duration
    about 1 hour
    Tokens
    Cost
    Started Jun 25, 19:40
    Completed Jun 25, 20:28 · 1 day ago
  7. Shipped Archived
    8
    81fad33e-98b5-4075-8ed6-d0efe6cb5804
    Model
    claude-opus-4-8
    Duration
    about 1 hour
    Tokens
    55,467,838
    Cost
    ~$37.40
    Started Jun 25, 20:28
    Completed Jun 25, 21:15 · 1 day ago
    cli

Conversation

QA review feedback, agent handoffs, and follow-up notes for this task.

Comment 1 day ago

Review pair APPROVED + READY-TO-UNDRAFT (both): carl (heavy) + shannon (light). All 5 acceptance bullets verified — canonical docs/agents/skills/<name>/ tracked; bin/install-agent-docs mirrors skills into ~/.claude/skills with check/drift (cp+cmp, find -mindepth 2 keeps README out); recovery wired (ecosystem-build Phase 5b + house-burn-down/bootstrap/ecosystem-build docs); /wrap migrated. Carl diffed standalone vs repo SKILL.md: ONLY change is the REQUIRED trim-index graceful-degrade (Step 2 guard+else), rest byte-identical. Test sandboxes HOME/PROJECTS_DIR to tmpdir (9 runs/26 assertions, 0 fail); bash 3.2 set -u empty-array guarded. CI green (4/4). Un-drafted. Portable memory/trim-index tooling correctly scoped as follow-up.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

Dev

Actual