mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-03 03:37:36 +00:00
chs: re-add drifted files
This commit is contained in:
1 parent
fbbaf2897d
commit
fc4837392a
16 files changed
+81
-48
No files matched your search
@@ -275,36 +275,36 @@
|
||||
"sourceType": "github",
|
||||
"sourceUrl": "https://github.com/mattpocock/skills.git",
|
||||
"skillPath": "skills/productivity/grill-me/SKILL.md",
|
||||
"skillFolderHash": "c817f6f36acd483294144694a935a76d3e3eb101",
|
||||
"skillFolderHash": "3df14e2d3a89459bf300614be9247e3ce74798f8",
|
||||
"installedAt": "2026-05-11T17:38:14.403Z",
|
||||
"updatedAt": "2026-08-11T19:45:02.711Z"
|
||||
"updatedAt": "2026-08-16T19:29:30.954Z"
|
||||
},
|
||||
"grill-with-docs": {
|
||||
"source": "mattpocock/skills",
|
||||
"sourceType": "github",
|
||||
"sourceUrl": "https://github.com/mattpocock/skills.git",
|
||||
"skillPath": "skills/engineering/grill-with-docs/SKILL.md",
|
||||
"skillFolderHash": "5fdcdeedf2d0c73b3ecb1da0a464dd885590f8d6",
|
||||
"skillFolderHash": "eedaf2562c83155115e9c649fa3ecaac2e10e81d",
|
||||
"installedAt": "2026-05-11T17:38:14.403Z",
|
||||
"updatedAt": "2026-08-11T19:45:03.213Z"
|
||||
"updatedAt": "2026-08-16T19:29:31.536Z"
|
||||
},
|
||||
"handoff": {
|
||||
"source": "mattpocock/skills",
|
||||
"sourceType": "github",
|
||||
"sourceUrl": "https://github.com/mattpocock/skills.git",
|
||||
"skillPath": "skills/productivity/handoff/SKILL.md",
|
||||
"skillFolderHash": "184d485ae68a2132893a94239b2b85d253e6152b",
|
||||
"skillFolderHash": "2242e8f05424b8c2ae94194a90d97b88d16108ec",
|
||||
"installedAt": "2026-05-11T17:38:14.404Z",
|
||||
"updatedAt": "2026-08-11T19:45:03.725Z"
|
||||
"updatedAt": "2026-08-16T19:29:31.964Z"
|
||||
},
|
||||
"improve-codebase-architecture": {
|
||||
"source": "mattpocock/skills",
|
||||
"sourceType": "github",
|
||||
"sourceUrl": "https://github.com/mattpocock/skills.git",
|
||||
"skillPath": "skills/engineering/improve-codebase-architecture/SKILL.md",
|
||||
"skillFolderHash": "6a971d1f5b109ac817e18c0f0419c2a32d60f26a",
|
||||
"skillFolderHash": "db546af0f3419a8bd261a83708d4cb33d2a915cd",
|
||||
"installedAt": "2026-05-11T17:38:14.404Z",
|
||||
"updatedAt": "2026-08-11T19:45:04.210Z"
|
||||
"updatedAt": "2026-08-16T19:29:32.588Z"
|
||||
},
|
||||
"prototype": {
|
||||
"source": "mattpocock/skills",
|
||||
@@ -329,18 +329,18 @@
|
||||
"sourceType": "github",
|
||||
"sourceUrl": "https://github.com/mattpocock/skills.git",
|
||||
"skillPath": "skills/engineering/tdd/SKILL.md",
|
||||
"skillFolderHash": "423f3cc2bccf3b0ed426fb35eeb4b38d9188a343",
|
||||
"skillFolderHash": "8c098cfbaf956292d413d1140f5ee68f70dcc9ee",
|
||||
"installedAt": "2026-05-11T17:38:14.405Z",
|
||||
"updatedAt": "2026-08-11T19:45:06.040Z"
|
||||
"updatedAt": "2026-08-16T19:29:33.104Z"
|
||||
},
|
||||
"triage": {
|
||||
"source": "mattpocock/skills",
|
||||
"sourceType": "github",
|
||||
"sourceUrl": "https://github.com/mattpocock/skills.git",
|
||||
"skillPath": "skills/engineering/triage/SKILL.md",
|
||||
"skillFolderHash": "b20940845332f540e3f17b0cb32d45fd8c2298bf",
|
||||
"skillFolderHash": "6e908c1423a1b409e85066a6efbbbbc63b063e2b",
|
||||
"installedAt": "2026-05-11T17:38:14.406Z",
|
||||
"updatedAt": "2026-08-11T19:45:06.505Z"
|
||||
"updatedAt": "2026-08-16T19:29:33.706Z"
|
||||
},
|
||||
"remix": {
|
||||
"source": "remix-run/remix",
|
||||
@@ -491,9 +491,9 @@
|
||||
"sourceType": "github",
|
||||
"sourceUrl": "https://github.com/mattpocock/skills.git",
|
||||
"skillPath": "skills/engineering/diagnosing-bugs/SKILL.md",
|
||||
"skillFolderHash": "463c81def888fefa77b894837d301d9ed70e0994",
|
||||
"skillFolderHash": "8599c0f6e2bfce70b85973d3be6707426bc8e83f",
|
||||
"installedAt": "2026-06-27T19:37:25.603Z",
|
||||
"updatedAt": "2026-08-11T19:45:07.440Z"
|
||||
"updatedAt": "2026-08-16T19:29:34.352Z"
|
||||
},
|
||||
"domain-modeling": {
|
||||
"source": "mattpocock/skills",
|
||||
@@ -509,9 +509,9 @@
|
||||
"sourceType": "github",
|
||||
"sourceUrl": "https://github.com/mattpocock/skills.git",
|
||||
"skillPath": "skills/productivity/grilling/SKILL.md",
|
||||
"skillFolderHash": "fd99bcbb818f7ef766b83656fb5fac0b58e223ad",
|
||||
"skillFolderHash": "0d40d978f1a588971a11ea7ae85b208e78102dc3",
|
||||
"installedAt": "2026-06-27T19:37:25.605Z",
|
||||
"updatedAt": "2026-08-11T19:45:08.290Z"
|
||||
"updatedAt": "2026-08-16T19:29:34.786Z"
|
||||
},
|
||||
"teach": {
|
||||
"source": "mattpocock/skills",
|
||||
|
||||
@@ -127,7 +127,7 @@ If a correct seam exists:
|
||||
4. Watch it pass.
|
||||
5. Re-run the Phase 1 feedback loop against the original (un-minimised) scenario.
|
||||
|
||||
## Phase 6 — Cleanup + post-mortem
|
||||
## Phase 6 — Cleanup
|
||||
|
||||
Required before declaring done:
|
||||
|
||||
@@ -136,5 +136,3 @@ Required before declaring done:
|
||||
- [ ] All `[DEBUG-...]` instrumentation removed (`grep` the prefix)
|
||||
- [ ] Throwaway prototypes deleted (or moved to a clearly-marked debug location)
|
||||
- [ ] The hypothesis that turned out correct is stated in the commit / PR message — so the next debugger learns
|
||||
|
||||
**Then ask: what would have prevented this bug?** If the answer involves architectural change (no good test seam, tangled callers, hidden coupling) hand off to the `/improve-codebase-architecture` skill with the specifics. Make the recommendation **after** the fix is in, not before — you have more information now than when you started.
|
||||
@@ -4,4 +4,4 @@ description: A relentless interview to sharpen a plan or design.
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
Run a `/grilling` session.
|
||||
Call the Skill tool with "grilling".
|
||||
@@ -4,4 +4,4 @@ description: A relentless interview to sharpen a plan or design, which also crea
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
Run a `/grilling` session, using the `/domain-modeling` skill.
|
||||
Call the Skill tool twice, for "grilling" and "domain-modeling".
|
||||
@@ -5,7 +5,7 @@ description: Grill the user relentlessly about a plan, decision, or idea. Use wh
|
||||
|
||||
Interview the user relentlessly until you reach a shared understanding. Map this as a **design tree**: every decision branches into the decisions that hang off it.
|
||||
|
||||
Work the tree in **rounds**. The **frontier** is every decision whose prerequisites are already settled — the questions you can ask _now_ without guessing at answers you haven't heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.
|
||||
Work the tree in **rounds**. The **frontier** is every decision whose prerequisites are already settled: the questions you can ask _now_ without guessing at answers you haven't heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.
|
||||
|
||||
Each question should be formatted like so:
|
||||
|
||||
@@ -15,8 +15,8 @@ Each question should be formatted like so:
|
||||
➡️ <your recommended answer>
|
||||
```
|
||||
|
||||
Each round the user answers reshapes the tree — settled decisions push the frontier outward and unblock questions that depended on them. Recompute the frontier and ask the next round. A question whose answer depends on another question still open in this round belongs to a _later_ round, not this one.
|
||||
Each round the user answers reshapes the tree: settled decisions push the frontier outward and unblock questions that depended on them. Recompute the frontier and ask the next round. A question whose answer depends on another question still open in this round belongs to a _later_ round, not this one.
|
||||
|
||||
Finding _facts_ is your job, never the user's. When a frontier question needs a fact from the environment (filesystem, tools, etc.), dispatch a sub-agent to find it — don't ask the user for anything you could look up yourself. Don't block on it: a running exploration is an unsettled prerequisite, so only the questions downstream of it wait for the sub-agent to report — ask the rest of the frontier now. The _decisions_ are the user's — put each to them and wait.
|
||||
Finding _facts_ is your job, never the user's. When a frontier question needs a fact from the environment (filesystem, tools, etc.), dispatch a sub-agent to find it; don't ask the user for anything you could look up yourself. Don't block on it: a running exploration is an unsettled prerequisite, so only the questions downstream of it wait for the sub-agent to report; ask the rest of the frontier now. The _decisions_ are the user's: put each to them and wait.
|
||||
|
||||
The session is done when the frontier is empty: every branch of the design tree visited, nothing left silently assumed. Do not act on it until the user confirms you have reached a shared understanding.
|
||||
@@ -7,7 +7,7 @@ disable-model-invocation: true
|
||||
|
||||
Write a handoff document summarising the current conversation so a fresh agent can continue the work. Save to the temporary directory of the user's OS - not the current workspace.
|
||||
|
||||
Include a "suggested skills" section in the document, which suggests skills that the agent should invoke.
|
||||
Include a "suggested skills" section in the document, naming which skills the next agent should call the Skill tool for.
|
||||
|
||||
Do not duplicate content already captured in other artifacts (specs, plans, ADRs, issues, commits, diffs). Reference them by path or URL instead.
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ Surface architectural friction and propose **deepening opportunities** — refac
|
||||
|
||||
This command is _informed_ by the project's domain model and built on a shared design vocabulary:
|
||||
|
||||
- Run the `/codebase-design` skill for the architecture vocabulary (**module**, **interface**, **depth**, **seam**, **adapter**, **leverage**, **locality**) and its principles (the deletion test, "the interface is the test surface", "one adapter = hypothetical seam, two = real"). Use these terms exactly in every suggestion — don't drift into "component," "service," "API," or "boundary."
|
||||
- Call the Skill tool with "codebase-design" for the architecture vocabulary (**module**, **interface**, **depth**, **seam**, **adapter**, **leverage**, **locality**) and its principles (the deletion test, "the interface is the test surface", "one adapter = hypothetical seam, two = real"). Use these terms exactly in every suggestion — don't drift into "component," "service," "API," or "boundary."
|
||||
- The domain language in `CONTEXT.md` gives names to good seams; ADRs in `docs/adr/` record decisions this command should not re-litigate.
|
||||
|
||||
## Process
|
||||
@@ -61,11 +61,11 @@ Do NOT propose interfaces yet. After the file is written, ask the user: "Which o
|
||||
|
||||
### 3. Grilling loop
|
||||
|
||||
Once the user picks a candidate, run the `/grilling` skill to walk the decision tree with them — constraints, dependencies, the shape of the deepened module, what sits behind the seam, what tests survive.
|
||||
Once the user picks a candidate, call the Skill tool with "grilling" to walk the decision tree with them — constraints, dependencies, the shape of the deepened module, what sits behind the seam, what tests survive.
|
||||
|
||||
Side effects happen inline as decisions crystallize — run the `/domain-modeling` skill to keep the domain model current as you go:
|
||||
Side effects happen inline as decisions crystallize — call the Skill tool with "domain-modeling" to keep the domain model current as you go:
|
||||
|
||||
- **Naming a deepened module after a concept not in `CONTEXT.md`?** Add the term to `CONTEXT.md`. Create the file lazily if it doesn't exist.
|
||||
- **Sharpening a fuzzy term during the conversation?** Update `CONTEXT.md` right there.
|
||||
- **User rejects the candidate with a load-bearing reason?** Offer an ADR, framed as: _"Want me to record this as an ADR so future architecture reviews don't re-suggest it?"_ Only offer when the reason would actually be needed by a future explorer to avoid re-suggesting the same thing — skip ephemeral reasons ("not worth it right now") and self-evident ones.
|
||||
- **Want to explore alternative interfaces for the deepened module?** Run the `/codebase-design` skill and use its design-it-twice parallel sub-agent pattern.
|
||||
- **Want to explore alternative interfaces for the deepened module?** Call the Skill tool with "codebase-design" and use its design-it-twice parallel sub-agent pattern.
|
||||
@@ -23,7 +23,7 @@ A **seam** is the public boundary you test at: the interface where you observe b
|
||||
|
||||
Ask: "What's the public interface, and which seams should we test?"
|
||||
|
||||
When the shape of that interface is itself in question — how deep the module is, where the seam belongs, what the interface should expose — use the `/codebase-design` skill for the vocabulary. It is the shared source of the module, interface, depth, seam, adapter, leverage and locality terms, and it is a reference to consult, not a session to run.
|
||||
When the shape of that interface is itself in question — how deep the module is, where the seam belongs, what the interface should expose — call the Skill tool with "codebase-design" for the vocabulary. It is the shared source of the module, interface, depth, seam, adapter, leverage and locality terms, and it is a reference to consult, not a session to run.
|
||||
|
||||
## Anti-patterns
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ For a PR, the same states read against the attached code: `ready-for-agent` mean
|
||||
|
||||
Every triaged issue should carry exactly one category role and one state role. If state roles conflict, flag it and ask the maintainer before doing anything else.
|
||||
|
||||
These are canonical role names — the actual label strings used in the issue tracker may differ. The mapping should have been provided to you - run `/setup-matt-pocock-skills` if not.
|
||||
These are canonical role names — the actual label strings used in the issue tracker may differ. The mapping should have been provided to you. If not, tell the user to run `/setup-matt-pocock-skills`.
|
||||
|
||||
State transitions: an unlabeled issue normally goes to `needs-triage` first; from there it moves to `needs-info`, `ready-for-agent`, `ready-for-human`, or `wontfix`. `needs-info` returns to `needs-triage` once the reporter replies. The maintainer can override at any time — flag transitions that look unusual and ask before proceeding.
|
||||
|
||||
@@ -73,7 +73,7 @@ Show counts and a one-line summary per item. Let the maintainer pick.
|
||||
|
||||
3. **Verify the claim.** Before any grilling, check that the claim holds up. For a bug, reproduce it from the reporter's steps. For a PR, confirm the diff does what it claims — check it out, run the relevant tests or commands. Report what happened: confirmed (with code path), failed, or insufficient detail (a strong `needs-info` signal). A confirmed verification makes a much stronger agent brief.
|
||||
|
||||
4. **Grill (if needed).** If the request needs fleshing out, run the `/grilling` and `/domain-modeling` skills together — grill it into shape a round of questions at a time, sharpening domain terms and updating `CONTEXT.md`/ADRs inline as decisions land.
|
||||
4. **Grill (if needed).** If the request needs fleshing out, call the Skill tool twice, for "grilling" and "domain-modeling" — grill it into shape a round of questions at a time, sharpening domain terms and updating `CONTEXT.md`/ADRs inline as decisions land.
|
||||
|
||||
5. **Apply the outcome:**
|
||||
- `ready-for-agent` — post an agent brief comment ([AGENT-BRIEF.md](AGENT-BRIEF.md)).
|
||||
|
||||
Reference in new issue
Block a user