Skip to content

#3 Vendor the cohort's agent skills - #4

Merged
gregoryfoster merged 12 commits into
mainfrom
3-vendor-skills
Sep 30, 2026
Merged

gregoryfoster merged 12 commits into
mainfrom
3-vendor-skills

Conversation

@gregoryfoster

@gregoryfoster gregoryfoster commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Closes #3.

What

This follows managing-skills, with broker#15 as the precedent.

  • Submodules skills-vendor/gregoryfoster-skills (c90e3c2) and skills-vendor/obra-superpowers (v6.4.2, 8ca22db). Both are public upstream tips.
  • 22 skills symlinked into skills/ and .claude/skills/. The .claude/skills/ links go through ../../skills/<name>, so an override shadows the vendor copy in both discovery systems. The selection and the reasons for it are in docs/SKILLS.md and Vendor the cohort's agent skills: gregoryfoster/skills, obra/superpowers, a brainstorming override, the auto-refresh hook #3.
  • brainstorming override, observo's minimal pattern. It is upstream v6.4.2 verbatim except that docs/superpowers/specs/ becomes docs/specs/, in SKILL.md and spec-document-reviewer-prompt.md. visual-companion.md and scripts/ stay vendor symlinks. synced-from: is recorded so the doctor can report drift.
  • .skills/doctor.sh, plus .skills/worktree_venv = none. The deploy unit's WorkingDirectory is this checkout, so a worktree must not share its .venv.
  • The auto-refresh SessionStart hook, both halves, installed by install-refresh.sh.
  • Ruff extend-excludes skills-vendor/. Upstream's Python failed our lint in 8 places and 6 files. .gitignore gains .worktrees/, .claude/worktrees/ and .claude/settings.local.json.
  • docs/SKILLS.md, plus AGENTS.md changes: an Agent Skills pointer, a Detail Docs line, and a Workflow convention (issue → branch → PR, branches in worktrees).
  • tests/test_skills.py pins the symlink chain, the override frontmatter, the override's nested links, both hook halves (install-refresh.sh --check) and the doctor copy.

Worth a look

Verification

  • The test was red before the install (6/6 failing) and green after.
  • A mutation check: removing settings.json, pointing a .claude/skills link straight at the vendor, and blanking synced-from: each fail exactly the intended test.
  • The vendored pre-ship.sh passes: ruff check, ruff format --check, and 158 tests passed with 30 integration tests deselected.
  • bash .skills/doctor.sh exits 0.
  • The integration suite didn't run; nothing here touches the bus.

Code review, round 1 (CR --fix)

There were seven findings, all fixed, with one commit each (431daa6..e74b41f). Nothing was held back.

# Finding Commit
1 Merges now happen on GitHub, so this checkout's main lags origin/main, and the refresh hook's push is rejected until someone pulls. AGENTS.md now says to git pull --ff-only after every merge 431daa6
2 A new worktree has no venv, no .wheelhouse and no submodules, so uv sync can't resolve co-core. SKILLS.md now has a provisioning recipe, verified on a throwaway worktree c79d225
3 .gitignore's .wheelhouse/ didn't match the symlinked wheelhouse a worktree carries fa8abfb
4 The test didn't check that a vendor link's target name matches the link's own name 207db73
5 writing-plans filenames now start with the issue number, matching AGENTS.md's <issue>-<slug> bd7c548
6 Added a guard against committing a mayfly channel URL, using upstream's pattern, as broker does. A planted URL fails it bbc8b06
7 SKILLS.md links its follow-ups to gregoryfoster/skills#342, gregoryfoster/skills#343 and #5, and notes that worktree-destroy.sh rejects squash merges e74b41f

After the last fix, the gate passed with 159 tests and 30 integration tests deselected, and the doctor exited 0.

Not in this PR

These are separate decisions, as they were in broker#15: curating-context's weekly cadence and write guard, SocratiCode, processor's row on upstream's .skills/cohort roster, and tailoring the doc-check lists.

🤖 Generated with Claude Code

gregoryfoster and others added 4 commits September 30, 2026 19:21
Submodules under skills-vendor/, 22 skills symlinked into skills/ and
.claude/skills/ (via ../../skills/<name>), and a brainstorming override:
upstream v6.4.2 with docs/superpowers/specs/ redirected to docs/specs/.
.skills/doctor.sh installed; .skills/worktree_venv = none because this
checkout is the unit's WorkingDirectory. Ruff skips skills-vendor/;
.gitignore covers the worktree roots and settings.local.json.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both halves: the vendor symlink and its .claude/settings.json entry,
via install-refresh.sh. Once per UTC day, on main only; commits and
pushes the submodule bump itself.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ook halves

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… -> PR

The vendored shipping-work Step 3 and using-git-worktrees Phase 4 merge
to main locally; AGENTS.md now says that does not apply here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gregoryfoster and others added 7 commits September 30, 2026 19:54
…talls while it lags

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n, doctor, wheelhouse, uv sync

Verified on a throwaway worktree: the doctor initialises both submodules,
uv sync resolves co-core through the linked wheelhouse, tests pass; destroy
needs --force once submodules are initialised.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…y the directory

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…er, as AGENTS.md names plans

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream's leak pattern over git ls-files --cached --others --exclude-standard,
what git add -A would take; broker carries the same guard.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#342, skills#343, #5)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r exits 4

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Vendor the cohort's agent skills: gregoryfoster/skills, obra/superpowers, a brainstorming override, the auto-refresh hook

1 participant