Skip to content

Sync mattpocock skills and stop formatting vendored skills - #2019

Merged
kmcginnes merged 3 commits into
mainfrom
worktree-sync-mattpocock-skills
Jul 30, 2026
Merged

kmcginnes merged 3 commits into
mainfrom
worktree-sync-mattpocock-skills

Conversation

@kmcginnes

@kmcginnes kmcginnes commented Jul 30, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Updates the vendored mattpocock/skills to upstream HEAD — the first sync since #1913 — and fixes the formatter churn that was making these syncs hard to review.

  • Exclude vendored skills from oxfmt. .agents/skills/ holds skills vendored verbatim from upstream; .claude/skills/ .codex/skills/ .kiro/skills/ link to them. Formatting them rewrote content we don't own, so every sync diff filled with our own reformatting (emphasis markers, list spacing, code-fence normalization) burying the real changes. The ignore is scoped to the vendored skills/ subtree rather than the whole harness directory, so first-party agent config (e.g. .kiro/settings/) is still formatted. Doing this first means the sync commit is purely upstream — 11 of the 22 initially-touched files turned out to be pure formatter churn with zero upstream change.
  • Sync the 21 vendored skills via pnpx skills update -p. Content is now byte-identical to upstream. Substantive changes:
    • wayfinder — "investigation tickets" become decision tickets; research tickets resolve via parallel `/research` subagents on throwaway branches, and are exempt from the one-ticket-per-session rule
    • prototype — prototypes are captured as a primary source on a throwaway branch rather than deleted; main keeps only the validated decision
    • to-tickets — local output is one file per ticket under `.scratch//issues/` instead of a single root `tickets.md`
    • setup-matt-pocock-skills — leads with recommended answers; skips the triage-label and monorepo sections when they don't apply
    • grilling — broadened from plans to any decision or idea; facts come from the environment, not just the codebase
    • improve-codebase-architecture — scope the scan to git-log hot spots first (YAGNI)
    • ask-matt — routing text follows the above
    • Also vendors the new per-skill agents/openai.yaml files (Codex UI metadata plus the implicit-invocation policy mirroring disable-model-invocation)
  • Add the resolving-merge-conflicts skill, new upstream since the last sync.

Note for reviewers

docs/agents/issue-tracker.md is deliberately left alone. Upstream now defaults its PR-as-request-surface flag off, but ours is on — a deliberate choice from #1863 with a documented `gh pr` triage workflow. That's an upstream default change for fresh setups, not a correction to us.

On the formatter ignore: scoping to skills/ rather than the whole harness dir follows the vendored-code principle (ignore the subtree you didn't author). There's no documented recommendation from oxc or Anthropic either way; the trade-off is that a harness later vendoring content outside skills/ would silently start getting reformatted.

Validation

  • `pnpm checks` passes — 0 lint warnings/errors, formatting correct across 926 files, typecheck clean across all 3 packages
  • `pnpm test` passes — 2278 tests across 198 files
  • Verified the vendored tree is byte-for-byte identical to upstream mattpocock/skills HEAD
  • Verified oxfmt honours `ignorePatterns` for explicit file paths too, so the lint-staged pre-commit hook no longer rewrites vendored files
  • Verified all 22 skills are symlinked in both `.claude/skills/` and `.kiro/skills/`, with no missing, extra, or broken links
  • Confirmed first-party agent config (`.kiro/settings/lsp.json`) is still formatted under the narrowed ignore

Docs-only change — no runtime code touched.

Related Issues

Check List

  • I confirm that my contribution is made under the terms of the Apache 2.0 license.
  • I have verified `pnpm checks` passes with no errors.
  • I have verified `pnpm test` passes with no failures.
  • I have covered new added functionality with unit tests if necessary.
  • I have updated documentation if necessary.

`.agents/skills/` holds skills vendored verbatim from upstream repos, and
`.claude/skills/` `.codex/skills/` `.kiro/skills/` link to them. Formatting
them rewrites content we don't own, so every skill sync diff fills with our
own reformatting — emphasis markers, list spacing, code-fence normalization —
burying the real upstream changes.

Scope the ignore to the vendored `skills/` subtree rather than the whole
harness directory, so first-party agent config (e.g. `.kiro/settings/`) is
still formatted.
Refresh the 21 vendored skills via `pnpx skills update -p`. Content is now
byte-identical to upstream, since the formatter no longer rewrites it.

Substantive upstream changes:

- wayfinder — "investigation tickets" become decision tickets; research
  tickets resolve via parallel /research subagents on throwaway branches,
  and are exempt from the one-ticket-per-session rule
- prototype — prototypes are captured as a primary source on a throwaway
  branch rather than deleted; main keeps only the validated decision
- to-tickets — local output is one file per ticket under
  .scratch/<feature>/issues/ instead of a single root tickets.md
- setup-matt-pocock-skills — leads with recommended answers, skips the
  triage-label and monorepo sections when they don't apply
- grilling — broadened from plans to any decision or idea; facts come from
  the environment, not just the codebase
- improve-codebase-architecture — scope the scan to git-log hot spots first
- ask-matt — routing text follows the above

Also vendors the new per-skill agents/openai.yaml files (Codex UI metadata
and the implicit-invocation policy mirroring disable-model-invocation).

Leaves docs/agents/issue-tracker.md alone: upstream now defaults the
PR-as-request-surface flag off, but ours is deliberately on.
A short procedure for working an in-progress merge or rebase: read the
primary sources behind each conflicting change before resolving a hunk,
preserve both intents where they're compatible, run the project's checks,
and always finish the merge rather than aborting.

Vendored verbatim from upstream, symlinked into .claude/ and .kiro/ like
the rest.
@kmcginnes kmcginnes changed the title Sync mattpocock skills and stop formatting vendored agent files Sync mattpocock skills and stop formatting vendored skills Jul 30, 2026
@kmcginnes
kmcginnes force-pushed the worktree-sync-mattpocock-skills branch from 0627911 to df7afe1 Compare July 30, 2026 22:00
@kmcginnes
kmcginnes marked this pull request as ready for review July 30, 2026 22:05
@kmcginnes
kmcginnes merged commit 285b97f into main Jul 30, 2026
5 of 6 checks passed
@kmcginnes
kmcginnes deleted the worktree-sync-mattpocock-skills branch July 30, 2026 23:00
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.

1 participant