Releases: rubystream/mattpocock-skills
Release list
v1.1.0
Minor Changes
-
#406
930a450Thanks @mattpocock! - Bring theask-mattrouter up to date with the full skill set. It now maps five skills it was missing:tdd(woven into the main flow as the red-green engineimplementdrives),diagnosing-bugs(a new "Something's broken" on-ramp — there was previously no route for a bug),domain-modelingandcodebase-design(a new "Vocabulary underneath" section), andgrilling(the shared interview primitive).prototypeis fleshed out as a standalone and the description broadens from "user-invoked skills" to "the skills". A maintenance rule is added toCLAUDE.mdso any future skill add/rename/remove or flow change triggers anask-mattre-check, beside the existing docs-page re-sync rule. -
#464
639df6eThanks @mattpocock! - Promote and hardencode-review. The in-progressreviewskill is renamed tocode-reviewand moved fromin-progress/intoengineering/: it now ships in the plugin, is listed in the top-level and Engineering READMEs (Model-invoked), and has a docs page atdocs/engineering/code-review.md. The/implementskill and docs point at/code-review.It also gains an always-on Fowler smell baseline on its Standards axis — a curated ~12 high-signal "Bad Smells in Code" (Mysterious Name, Duplicated Code, Feature Envy, Data Clumps, Primitive Obsession, Repeated Switches, Shotgun Surgery, Divergent Change, Speculative Generality, Message Chains, Middle Man, Refused Bequest) inlined into
SKILL.mdas a fixed baseline alongside whatever the repo documents, not a new third axis. Two binding rules keep it safe: a documented repo standard overrides the baseline, and every smell is reported as a judgement call, never a hard violation. -
#464
639df6eThanks @mattpocock! - Sharpengrillingon two fronts.A confirmation gate. The agent won't enact the plan until you confirm the shared understanding has been reached — turning the skill's existing "shared understanding" completion criterion into an explicit stop-gate. The
descriptionalso recruits the pretrainedgrillleading word ("Grill the user relentlessly") to sharpen invocation, and the docs page is re-synced.Facts vs. decisions. Grilling now splits facts (look them up — explore the codebase) from decisions (put each one to the human and wait for their answer). The old blanket line — "if a question can be answered by exploring the codebase, explore the codebase instead" — was written for the live-human case, but once another skill runs grilling inside a resolve-the-ticket frame it read as license to answer decisions autonomously too. Separating the two keeps a grilling agent from racing ahead and answering its own questions.
-
#463
af6d692Thanks @mattpocock! - Add two adjacent Steering failure modes towriting-great-skills, both about how language you think of as "off" still steers the agent. Negation — the elephant — is steering by prohibition: naming what not to do drags the forbidden behaviour into context and makes it more available, not less (don't think of an elephant), so the cure is to prompt the positive. Negative Space — the void — is blindness to the steering done by what you leave out: every decision a skill declines is delegated to the agent's priors rather than left neutral, so the cure is to read a draft for its silences and decide each omission deliberately (fill it, or leave it open as a real branch). Kept as two entries, not one — they carry different diagnostics and different cures — each a fullGLOSSARY.mdentry plus aSKILL.mdfailure-mode bullet, matching how every other failure mode is carried. -
850873cThanks @mattpocock! - Make theprototypeskill model-invoked, so the agent can reach for it autonomously (and other skills can too). Its description is rewritten around the leading word prototype — throwaway code that answers a design question — with one trigger per branch (state/logic sanity-check, or UI exploration). -
#409
0d74d01Thanks @mattpocock! - Add theresearchskill — a small, model-invoked skill that spins up a background agent to investigate a question against primary sources (official docs, source code, specs, first-party APIs), then leaves a single cited Markdown file wherever the repo keeps such notes. It's delegable reading legwork: you keep working while it reads, and get back a document to grill, plan, or design against. Listed in the top-level and Engineering READMEs (Model-invoked), added to.claude-plugin/plugin.json, given a docs page atdocs/engineering/research.md, and routed as a Standalone inask-matt. -
#469
a0329baThanks @mattpocock! - Split theto-issuesskill into a lean Process and a Reference section, and teach it to handle a wide refactor — a single mechanical change (like renaming a column) whose blast radius fans across the whole codebase, breaking thousands of call sites at once so no vertical slice can land green. The drafting step now points at two co-located reference blocks: the Vertical slice rules for ordinary tracer bullets, and Wide refactors, which slices the change by expand–contract (expand the new form beside the old, migrate call sites in batches sized by blast radius, then contract the old form away) so CI stays green batch to batch — or, when it can't, only at a final integrate-and-verify issue. The issue body template moves into Reference too. -
#464
386d4ffThanks @mattpocock! - Unify the planning skills.to-prdis renamed toto-spec— "spec" is now the single through-line term (it still opens with "you may know this document as a PRD" for discoverability).to-planandto-issuesare merged into oneto-ticketsskill, andto-issuesis deleted.to-ticketsbreaks a plan, spec, or conversation into a set of tickets — tracer-bullet vertical slices, each declaring its blocking edges. That one artifact reads two ways depending on the tracker/setup-matt-pocock-skillsconfigured: a local file (tickets.md) writes the edges as text and you work it top-to-bottom by hand; a real tracker writes them as native blocking links, so any ticket whose blockers are done is on the frontier and several agents can run at once. The edges live in the ticket either way — the medium only decides whether anything acts on them in parallel.Publishing prefers the tracker's native sub-issues for parent → slice and native blocking edges for
Blocked bywhere the tracker supports them, keeping the## Parent/## Blocked bybody sections as the fallback. The "What to build" template points at where a/prototype's code lives rather than inlining a snippet from it.ask-matt's main flow now routesidea → /to-spec → /to-tickets → /implement, and there are human-facing docs pages atdocs/engineering/to-spec.mdanddocs/engineering/to-tickets.md. -
#464
0557d57Thanks @mattpocock! - Settle wayfinder's place in the docs as a situational on-ramp, not the new main entry flow — the grill-led idea → ship chain stays the front door (crowning wayfinder as the default spine is a v2-sized move, not a 1.1). Theask-mattrouter now names wayfinder's concrete triggers — a greenfield project or a huge feature build, too big for one session — and the two grill front doors (grill-me,grill-with-docs) signpost up to wayfinder for the effort that's too big to hold in one session, so the on-ramp is discoverable from where a reader actually starts. -
#464
639df6eThanks @mattpocock! - Graduate and reframewayfinder— the skill for planning a huge chunk of work, more than one agent session can hold. It moves out ofin-progress/intoengineering/(plugin entry, top-level + Engineering READMEs under User-invoked, a docs page atdocs/engineering/wayfinder.md, and a route inask-matt), landing as a mature skill. The rename and reframe that got it there:decision-mappingis renamed towayfinder, invoked as/wayfinder. "Decision map" was jargony and inaccurate — only one ticket type is actually a decision. The reframe charts a route through a foggy problem instead, giving one coherent leading-word frame — fog of war, **f...
v1.0.1
Patch Changes
d20ee26Thanks @mattpocock! - Make theteachskill reuse-first. Lessons are now built from reusable components in./assets/— stylesheets, quiz widgets, simulators, diagram helpers. Reuse is the default: the agent reads./assets/before authoring a lesson, builds from what's there, and extracts anything new and reusable into a component rather than inlining it.