feat(plugins): sync mattpocock/skills v1.2 learnings across five lanes - #2082
Conversation
Lane 1 of the pocock-skills-v12-sync effort (Brief in docs/topics/pocock-skills-v12-sync/PLAN.md): - Add docs/upstream/mattpocock-skills.md — the single source of truth for all material derived from mattpocock/skills: per-skill attribution table (including the previously unrecorded work-items triage/decompose phrasing influence), an observable recheck trigger, the last-audited upstream ref (v1.2.3 @ 84fdeff), and harness findings (upstream #693, the Codex sidecar hidden-skill gotcha). - Promote the verified 35-skill upstream<->ours map and the v1.2 research summary into docs/topics/pocock-skills-v12-sync/. - Strip upstream-provenance bookkeeping from planning questionnaire and wayfind SKILL.md bodies (agent-facing noise; the questionnaire line had also gone stale — upstream to-questionnaire graduated in v1.2.0). The SSOT and plugin CHANGELOG carry credit now. Planning plugin 0.28.2. - Annotate the ai-adoption-ladder sandcastle research doc with a v1.2 staleness note (writing-great-skills -> writing-for-agents rename, six skill removals, current star count). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Close Lane 2 of the pocock-skills-v12-sync plan: each of M6 M7 M8 M9 M11 M12 adopted, rejected, or tracked, driven by six fresh-context vetting agents per the lane interview's mandate. Outcomes recorded in docs/upstream/mattpocock-skills.md; per-plugin CHANGELOGs carry detail. - planning 0.29.0: interview gains opt-in emoji anchors (use_emoji_question_markers userConfig, default off; fresh-docs verified against the current plugins-reference userConfig schema); wayfind gains the parallel research burn-down exception and the no-fog chart bail-out. Rejected: one-question-at-a-time opt-out (consumer CLAUDE.md is the native seam), "decision ticket" term (parity as "decision item"), research/<name> branch (two-lane branch-naming prohibition). - architecture 0.4.3: improve's deepening Phase 1 opens with the YAGNI scoping filter (named direction, else commit-history hot spots); precomputed recent commits widened 10 -> 20. - debugging 0.5.0: debug gains a standing secret-redaction guard; the no-loop escape hatch asks for a redacted artifact. - testing 0.4.0: diagnose gains a Redact section, tagged debug logs ([DEBUG-a4f2]) in investigation, and a remove-tagged-logs step at the loop's green gate. - session-flow 0.18.1: the continuation router's continue question gains the zone-gated primary-source criterion; the rest of upstream's phase-boundaries tree audited at parity or rejected (~150k smart-zone figure is folklore; context-guard bands unchanged). - M6 questionnaire re-audit closed with no delta (upstream graduation was a 100%-similarity rename; ours is a superset). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ne 3) Lane 3 of the pocock-skills-v12-sync plan: Q9 resolved by the lane interview (rounds 4-6) with agent-gathered evidence and a naming tournament; the user locked PORT. - New skill `discipline:wait-what` — one-shot, user-invoked-only communication repair (disable-model-invocation: true is load-bearing: only the human can detect that a message did not land). Body stays deliberately small: re-pitch with the missing context, ASD-STE100 Simplified Technical English (inline five-word gloss), and the project's ubiquitous language read from the nearest glossary per the consumer's own convention, degrading silently when none exists. - Declared as a non-corrector species beside sweep-all; no discipline-batch tier, so sweeps never fire it. discipline 0.10.1 -> 0.11.0 + CHANGELOG; README species table + skill section. - Name kept upstream: sixth entry on the PLUGIN-PHILOSOPHY naming exception list (utterance-is-mechanism + upstream muscle-memory parity; tournament record in PLAN.md Lane 3). - SSOT row in docs/upstream/mattpocock-skills.md carries provenance and the X-thread evidence that the same instruction failed as passive CLAUDE.md and as an output style (on-demand is the working shape); map row 24 updated with the corrected adjacency (explain/clarify third cell). - Fresh docs fetched for the skills frontmatter surface; skill-quality gate PASS; markdownlint 0 issues; portability check clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ne 4)
Lane 4 of the pocock-skills-v12-sync plan: Q10 resolved by the lane
interview; the user locked PORT, hardened, as a new single-capability
plugin.
- New plugin `wizard` 0.1.0, one skill `generate` (/wizard:generate,
leaf named via naming tournament; grammar-clean, no naming-exception
entry). Model-invoked with upstream's non-trigger fence kept ("Don't
invoke this for steps the agent can perform itself").
- Hardened template.sh (the gating outcome of a completed security
review, all conditions shipped): mandatory human read-and-approve of
the full STAGES block before chmod +x; https-only open_url with the
URL printed before dispatch (closes a Windows UNC/NTLM leak via
explorer.exe); /dev/tty fail-closed prompts retiring a verified
multi-line-paste confirm bypass and pause's EOF fail-open; quoted
0600 .env writes + gitignore pre-flight assert + trap-cleaned atomic
temp; repo-resolved/confirmed --repo-explicit gh writes with stderr
surfaced into SKIPPED and empty values refused; key-name validation
in every helper; readline on non-secret asks (upstream #741 fixed
where safe); set_var via --body-file - (stdin, never argv).
- Scoping honesty fix: step 1 reads .env.example/README/workflows fully
but takes key NAMES only from a live .env, never values; the skill
states the secrets-and-context property honestly.
- Fresh-context static trace delegated in the skill's verify step per
the fresh-eyes rules; bash -n/shellcheck stay deterministic gates.
- Records: SSOT attribution row + open-evaluations update, map row 18,
PLAN.md Q10/lane-4 closure, MIGRATION-PLAYBOOK ACCEPT record for the
model-generated-executable surface (deliberately breaks the
statusline-shim no-templating precedent, mitigations recorded).
- Marketplace entry + regenerated CATALOG and skill cheat sheet.
- Gates: bash -n + shellcheck clean; skill-quality check PASS (0 warn);
portability gate clean (gh sites declared portability-ok); typos and
markdownlint clean; claude plugin validate + --strict catalog pass;
functional smoke of the library helpers; fresh-context verifier
subagent returned 25/25 PASS (its two non-blocking findings fixed:
explorer.exe spurious warning, gitignore check now pre-flight).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ts (lane 5) M10 SPLIT: adopt the shareable-HTML logic shell into prototype:pressure-test as an audience-routed substrate (TUI default; self-contained HTML demo for non-developer drivers or no-terminal handoffs, under explore-directions' CSP/ephemeral-temp/ synthetic-data/discard-after-capture constraint set); reject the throwaway-branch "primary source" capture half (two-lane violation; contradicts delete-when-done). prototype 0.4.0; provenance: mattpocock/skills v1.2.3 @ 84fdeff LOGIC.md. M13: reject writing-for-agents/SKILL-MECHANICS bulk at parity or stronger; track two strands on event triggers (leading-words+negation, cross-linked to the interview-batch-rounds deferral; invocation-reach invariant). M14: reject version-sync script (changesets/npm pipeline tool; check-changelog-parity.sh stronger; marketplace.json carries no version keys). M15: reject .out-of-scope/ KB as already-adopted (work-items 0.6.0 ledger is a superset) and correct the SSOT triage row to Derived (structured port); no work-items behavior change. M16: reject "It's working if" sections (docs-site decoration); reopen condition recorded in the rejection, not a TRACK row. Close the SSOT open-evaluations sentence; resolve Q11 and record the Lane 5 closure in the topic plan; regenerate the skill cheat-sheet for the pressure-test summary change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f727d19c4c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…2-sync # Conflicts: # plugins/architecture/CHANGELOG.md # plugins/discipline/.claude-plugin/plugin.json # plugins/discipline/CHANGELOG.md # plugins/planning/.claude-plugin/plugin.json # plugins/planning/CHANGELOG.md # plugins/prototype/CHANGELOG.md # plugins/session-flow/.claude-plugin/plugin.json # plugins/session-flow/CHANGELOG.md # plugins/testing/.claude-plugin/plugin.json # plugins/testing/CHANGELOG.md
|
Claude encountered an error after 0s —— View job I'll analyze this and get back to you. |
|
Warning Automated review did not complete — this is an infrastructure failure, not a review verdict. Treat any Claude comment on this PR (including a placeholder like "I'll analyze this and get back to you") as incomplete, not "no findings."
Re-run the job to retry the review. A new push does not re-trigger this lane. |
|
Claude encountered an error after 0s —— View job I'll analyze this and get back to you. |
…er the generate leaf - Graduate the durable audit record: docs/topics/pocock-skills-v12-sync/his-ours-map.md moves to docs/upstream/mattpocock-skills-v12-map.md (the SSOT already links it); delete PLAN.md and RESEARCH.md from the slice — decisions live in the SSOT, PLUGIN-PHILOSOPHY, and MIGRATION-PLAYBOOK records, and the slice history stays in git (contract-slice prune gate). - Register the generate leaf collision (ai-briefing,wizard) with grounds (skill-leaf-name gate). - Track template.sh executable (shebang exec-bit gate). - Add the missing blank lines at the discipline CHANGELOG merge seam (markdownlint). security-review failed on a transient API 429; this push retries it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Claude encountered an error after 0s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 0s —— View job I'll analyze this and get back to you. |
Two Codex review findings on template.sh, both verified locally: - set_var used `gh variable set --body-file -`, a flag that does not exist — every authenticated variable write would have failed before reaching the API. gh reads the value from standard input when --body is omitted (verified against gh 2.96.0 --help), so pipe the value with no body flag. - /dev/tty prompts did not drain buffered paste: `value\ny\n` pasted into an ask prompt left `y` in the tty buffer, silently answering the next confirm gate. New _drain_tty discards pending lines at the top of pause and confirm, so a gate only consumes a line typed at it. bash -n + shellcheck clean; drain semantics reproduced in a scripted check. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Claude encountered an error after 0s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 1s —— View job I'll analyze this and get back to you. |
|
Warning Automated security review did not complete — this is an infrastructure failure, not a review verdict. Treat any Claude comment on this PR (including a placeholder like "I'll analyze this and get back to you") as incomplete, not "no findings."
The check is red on purpose. It certifies that a security pass ran, and this one did not complete, so it cannot report success. Where this check is required, merging is blocked until a review actually finishes. Re-running the job, or pushing a new commit, will retry the review. An automatic retry may already have run — it is skipped when a partial review could duplicate comments, or when the failure class needs an operator. Re-running does NOT help for every class:
|
An independent audit re-checked every claim in the two upstream SSOT documents against the actual repo state, with three fresh-context verifiers re-testing each discrepancy and one candidate finding refuted and dropped. Nine survived. aihero-shipping-course.md: - Lane Y said the marketplace-wide glossary was deferred. docs/GLOSSARY.md landed 2026-08-20 (#3062) and already defines `phase boundary`. Corrected to record the promotion, with `item` and `checkpoint` staying reference-local. - Lane D said the container close-out review "is structurally larger than a mode addition". #3027 is closed: it landed as exactly that — a tenth quality-gate lens — with all four broken mechanisms resolved in-file. - Lane D C12 claimed the branch-scoped spec lens filled the dangling consumer in decompose and ship. It did not: that consumer was container-scoped, work-items' own changelog says so, and #3027's close-out mode filled it. The quoted phrase is also gone from both skills, surviving only in changelog history. - C23 cited `.agents/` trigger text. Verified against mattpocock/skills@068b6e0: `.agents/` holds five files and none carries a domain-modeling trigger. The real source is domain-modeling/SKILL.md:3, from PR #848 — so the Lane X row, which scoped all of C21-C23 to #878/#880, is corrected too. mattpocock-skills.md: - `to-tickets` was recorded as "Influence (vocabulary)", which understated it AND disagreed with the v12 map's own PARTIAL grade. Four of Lane B's five adopted candidates are mechanics, not phrasing; only "work the frontier" is vocabulary. mattpocock-skills-v12-map.md — four rows contradicted by landed work: - row 2 called the two-axis parallel-subagent structure "Omitted"; self.md:17 IS that structure, differing only in calling it a lens rather than an axis. - row 13 called the tdd seam discipline "Not ported"; it landed at plan/SKILL.md:96 with two deliberate divergences. - row 14 called to-spec "Not ported"; C3 and C4 both landed in decompose. - the invocation-reach rule was recorded as having "no such stated invariant in our repo"; it is a named section in the invocation-mode convention doc, and the sibling SSOT already recorded it CONFIRMED — the two docs contradicted. - drift findings 1 and 2 cite questionnaire/SKILL.md:48-50. That file is 45 lines and greps clean; the text was removed in #2082 BEFORE the map was written. Both marked discharged rather than left reading present-tense. Also fixes a divergence the audit surfaced as a side effect: `phase boundary` had TWO definitions — docs/GLOSSARY.md's and execution-shape.md's — one of them in a file claiming repo-wide authority. execution-shape.md now cedes the definition and keeps only the seam-specific relation to `checkpoint`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CnzwTKoTa6xNY7iyEzMYpm
No linked issue
Summary
Syncs the learnings from mattpocock/skills v1.2 (HEAD v1.2.3 @
84fdeff) into this marketplace across five lanes on one branch: provenance SSOT + verified 35-skill map, owned-skill behavior deltas, two new-skill ports (discipline:wait-what,wizard:generate), and the infra-subset verdicts.Fix
docs/upstream/mattpocock-skills.md(single provenance SSOT, in-skill provenance stripped) plus the verified upstream↔ours map underdocs/topics/pocock-skills-v12-sync/.wait-whatas a declared non-corrector species indiscipline(0.11.0), with a documented naming-exception entry indocs/PLUGIN-PHILOSOPHY.md.wizardas a NEW single-capability plugin (wizard0.1.0,/wizard:generate, name locked via a 5-generator/3-judge blind naming tournament). The shippedtemplate.shis a hardened variant: human read/approval of authored stages beforechmod +x, https-onlyopen_urlwith pre-dispatch URL print,/dev/ttyfail-closed prompts,chmod 600+ gitignore assertion + temp-file trap on.envwrites, explicit--repoand empty-value refusal onghwrites, key-name validation, quoted/escaped env values, and an honest secrets-and-model-context statement (scoping reads key names only from a live.env). Adocs/MIGRATION-PLAYBOOK.mdacceptance record documents the deliberate break of the statusline-shim no-templating precedent with its load-bearing conditions.prototype:pressure-test(0.4.0); rejected the branch-capture half, version-sync script, and docs-site "It's working if" sections; recorded two event-triggered TRACK strands; corrected the SSOT triage row to a Derived structured port.Verification
check-skill.sh(wait-what, generate, pressure-test),check-skill-portability.sh, markdownlint-cli2 (repo config),check-changelog-parity.sh(--check,--check-bump,--check-order), typos,claude plugin validate --strict ., catalog/cheat-sheet drift checks,bash -n+ shellcheck (0 findings) + a functional smoke suite onwizard'stemplate.sh.docs/topics/pocock-skills-v12-sync/PLAN.md.Related
docs/topics/pocock-skills-v12-sync/PLAN.md— the five-lane Brief, per-lane closure records, and resolved decision log (Q1–Q27).docs/upstream/mattpocock-skills.md— provenance SSOT with attribution rows, rejections, and event-triggered TRACK records.84fdeff.