| name | skunkworksify |
| description | Bring a legacy or out-of-date skunkworks executor repo up to the current template standard. Use this skill whenever: you're asked to 'upgrade', 'modernize', 'sync with template', 'bring up to speed', 'add gates', or 'skunkworksify' a repo that was originally forked or cloned from skunkworks-template but has fallen behind on infrastructure. This skill upgrades harnessing and tooling only — it never touches strategy code, scoring logic, venue integrations, or executor business logic. |
Skunkworksify
Upgrade a legacy skunkworks-derived executor repo to the current template standard.
The canonical template repo is recallnet/skunkworks-template on GitHub. Skills are committed files — they come with the repo on clone. Updates work via normal git workflows.
What this skill does NOT do
- Touch strategy code, scorer logic, or venue adapter implementations
- Change configs for existing strategy variants
- Modify live/paper runtime behavior
Before you start
git remote add template git@github.com:recallnet/skunkworks-template.git 2>/dev/null
git fetch template main
git checkout -b skunkworksify-$(date +%Y%m%d)
Procedure
Phase 1: Root infrastructure
Pull these root files from the template. Diff before overwriting if they exist locally:
for file in turbo.json pnpm-workspace.yaml .gitignore .npmrc .prettierignore; do
git show template/main:"$file" > /tmp/template-"$file"
diff "$file" /tmp/template-"$file" || true
done
For package.json, merge only the scripts block — don't overwrite deps. Remove any old skill scripts (skills:update, skills:check, skills:bootstrap, skills:pull-third-party) if present.
Pull hook files:
git checkout template/main -- .husky/pre-commit .husky/pre-push .husky/pre-merge-commit .husky/post-checkout
Verify: git diff --cached shows only expected changes.
Phase 2: QA scripts
Pull from template:
git checkout template/main -- \
scripts/qa/check-experiment-docs.ts \
scripts/qa/check-executor-strategy-overview-docs.ts \
scripts/qa/check-agent-learnings.ts \
scripts/qa/lib/
Remove old skill management scripts if they exist locally:
rm -f scripts/skills-check.ts scripts/skills-update.ts scripts/skills-update-lib.ts scripts/skills-agent-scope.ts scripts/bootstrap-skills.sh scripts/check-skills.sh scripts/pull-third-party-skills.sh skills-lock.json
rm -f scripts/__tests__/skills-check.test.ts scripts/__tests__/skills-update.test.ts scripts/__tests__/skills-lifecycle.test.ts
Verify: pnpm test:repo passes.
Phase 3: Skills
Skills are committed files in .agents/skills/. Pull from template:
rm -rf .claude/skills .pi/skills
git checkout template/main -- .agents/skills/ .claude/skills .pi/skills
Verify: ls .agents/skills/ shows skills. ls .claude/skills/ works.
Phase 4: Packages
For each missing package under packages/:
git checkout template/main -- packages/<name>
For packages that exist, diff before overwriting. Keep local extensions; replace if it's just drift.
Verify: pnpm build succeeds.
Phase 5: Docs
mkdir -p docs/{how-to,reference,explanation,observations,decisions,executors,runbooks,templates}
git checkout template/main -- docs/reference/experiments.md docs/INDEX.md docs/how-to/sync-template-updates.md 2>/dev/null || true
Verify: pnpm docs:lint passes.
Phase 6: Experiment docs
For every executor under executors/ (excluding *-template):
- Create
experiments/ if missing
- Migrate legacy
experiment.md → experiments/<variant>.md
- Ensure frontmatter exists:
---
status: testing
reviewed: <today>
---
Verify: npx tsx scripts/qa/check-experiment-docs.ts passes.
Phase 7: Full QA
pnpm install
pnpm build
pnpm qa
Common issues:
- eslint cache stale:
rm -rf packages/*/node_modules/.cache
- Missing experiment docs: Phase 6 incomplete
- Pre-commit hooks reference removed scripts: Phase 2 incomplete
Verify: pnpm qa exits 0.
Phase 8: Report
# Skunkworksify Report
**Date:** <today>
**Template:** <template HEAD sha>
| Phase | Status |
|-------|--------|
| 1. Infrastructure | DONE/NA |
| 2. QA scripts | DONE/NA |
| 3. Skills | DONE/NA |
| 4. Packages | DONE/NA |
| 5. Docs | DONE/NA |
| 6. Experiment docs | DONE/NA |
| 7. Full QA | DONE/FAILED |
## Remaining operator action
- [ ] Fill experiment doc placeholders
- [ ] Wire writeSessionSummary into shutdown paths
- [ ] Bump `reviewed:` dates on every future commit
Keeping current
See docs/how-to/sync-template-updates.md for ongoing sync cadence.
To see what skills the template currently ships, list .agents/skills/ after pulling from template.