Repository navigation
feat(personal): rename first-mate-skill to personal and vendor Pocock's skills - #8
Merged
Merged
Conversation
…'s skills The kit is the author's personal layer, not a delivery vehicle for one skill, so it is now `personal` (directory, spec name, CI matrix, validator, test runner). Add all 27 skills that mattpocock/skills (MIT, Copyright (c) 2026 Matt Pocock) promotes in its Claude Code plugin, vendored at a pinned commit: the 20 under skills/engineering and the 7 under skills/productivity. Files are verbatim copies except one rename: upstream's code-review is installed as pocock-code-review because the playbook kit ships a different skill called code-review into the same directory. scripts/vendor-pocock-skills regenerates the files, the generated block of spec.yaml, the lock file (commit, per-file sha256, attribution, local changes) and the table of local differences in docs/vendored-skills.md. It pins how many references each file must have, stops if upstream's promoted-skill list changes, and treats the archive and the lock file as untrusted. Credit ships with the copies: NOTICE, both MIT licences (Matt Pocock; HumanLayer, whose show-me skill the pr skill adapts) installed under ~/.agents/licenses, a README credit section, AGENTS.md for agents, and docs/vendored-skills.md for maintainers. scripts/verify fails if any of that goes missing or a licence changes. scripts/verify also checks every vendored file against the lock and that the rename is consistent. The repository link check skips fenced code blocks, with a regression test, so upstream example links need no patching. ADR 0002 records the decisions. Not run: a live sandbox, gitleaks, or pip-audit.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Renames the
first-mate-skillkit topersonaland adds all 27 skills that Matt Pocock's Claude Code plugin promotes (mattpocock/skills, MIT), vendored at a pinned commit, with credit and maintainer docs shipped alongside.Upstream's
code-reviewis installed aspocock-code-review: the playbook kit ships a differentcode-reviewinto the same~/.agents/skills. The script rewrites the skill'sname:, its display name, and the 4 skills that call it. Everything else is byte-identical to upstream.Credit. The skills are Matt Pocock's.
NOTICE, the README, anddocs/vendored-skills.mdsay so, and his MIT notice ships into the sandbox. Hisprskill adapts HumanLayer'sshow-me(88 of 93 non-blank lines of its Summary section match); HumanLayer's MIT notice ships too, pinned by sha256.docs/vendored-skills.mdalso carries a script-generated table of every local difference from upstream and the steps to update.Also: the repo link check now skips fenced code blocks (two upstream skills have example links in fences), and CI matrix / validator / test runner use the new name. ADR 0002 records the decisions.
Evidence
first-mate-skill/scripts/verify21 checks;pytest scripts/tests29 tests.After:
personal/scripts/verify27 checks (adds lock match for all 80 vendored files, generated-record mode/path, rename consistency, credit files and licence hashes);pytest scripts/tests69 tests.vendor-pocock-skills --checkreproduces the committed tree.verify: edited vendored file, stray file, barecode-review, a skill installed ascode-review,name:/directory mismatch, a vendored record changed to0777, deletedNOTICE, edited or unlisted HumanLayer licence, removedpr/CREDITS.md.spec.yamlrecords, symlinked parents, malformed lock, size cap, CRLF round-trip, a changed upstream promoted list, upstream text reaching the generated doc.ruff check/ruff format --check,shellcheck,validate-kits.py --patterns(6 kits valid),pytest scripts/tests,run-kit-tests.py personal,scan_unsafe_shell.py personal(0 errors),acq kit validate personal.acq runsandbox on either backend;gitleaksandpip-audit(the CIsecurityjob); the msb creation-time cost of 84 per-file copies (previously 3).Merge Danger
Door: two-way. Revert restores the old kit.
Blast Radius: one kit's consumers.
&dir=first-mate-skillat a SHA from after this merge must change it to&dir=personal. Refs pinned at earlier SHAs keep working.teachfills whatever directory it runs in;handoffwrites to the OS temp directory.Rollback
Revert this PR. No other kit depends on
personal.Security impact
No credentials, egress, startup commands, or ports. The payload is plain-text instructions that steer an agent that can run commands, so review the diff of any re-vendoring. The vendoring script runs on the host only (the only network use), refuses non-regular or non-UTF-8 archive members, unsafe file names, and oversized archives, and treats the lock file and upstream text as untrusted.
AI assistance
AI-assisted (OpenCode, claude-sonnet-5.5). Several rounds of adversarial review in a sub-agent; blockers fixed. Requires human review before merge.