@seanmars/tospec 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/dashboard/app.js +157 -0
- package/assets/dashboard/index.html +4 -0
- package/assets/dashboard/style.css +158 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +4 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +4 -1
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/decision.d.ts +8 -0
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +1 -1
- package/dist/commands/decision.js.map +1 -1
- package/dist/core/dashboard-data.d.ts +17 -0
- package/dist/core/dashboard-data.d.ts.map +1 -1
- package/dist/core/dashboard-data.js +23 -0
- package/dist/core/dashboard-data.js.map +1 -1
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +1 -0
- package/dist/core/init.js.map +1 -1
- package/dist/core/profiles.d.ts +1 -1
- package/dist/core/profiles.d.ts.map +1 -1
- package/dist/core/profiles.js +1 -1
- package/dist/core/profiles.js.map +1 -1
- package/dist/core/shared/skill-generation.d.ts.map +1 -1
- package/dist/core/shared/skill-generation.js +3 -1
- package/dist/core/shared/skill-generation.js.map +1 -1
- package/dist/core/shared/tool-detection.d.ts +2 -2
- package/dist/core/shared/tool-detection.d.ts.map +1 -1
- package/dist/core/shared/tool-detection.js +2 -0
- package/dist/core/shared/tool-detection.js.map +1 -1
- package/dist/core/templates/skill-templates.d.ts +1 -0
- package/dist/core/templates/skill-templates.d.ts.map +1 -1
- package/dist/core/templates/skill-templates.js +1 -0
- package/dist/core/templates/skill-templates.js.map +1 -1
- package/dist/core/templates/workflows/decision.js +2 -2
- package/dist/core/templates/workflows/decision.js.map +1 -1
- package/dist/core/templates/workflows/grill.d.ts +12 -0
- package/dist/core/templates/workflows/grill.d.ts.map +1 -0
- package/dist/core/templates/workflows/grill.js +61 -0
- package/dist/core/templates/workflows/grill.js.map +1 -0
- package/package.json +1 -1
- package/schemas/decision/templates/decision.md +9 -3
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const GRILL_BODY = `**IMPORTANT: Grill is read-only pressure-testing, not building.** You may read files, search code, and run \`tospec\` read-only commands, but you must NEVER write code, edit sources, or create artifact files during a grill. Grill persists nothing — it hands off to nothing. Its only output is a shared, confirmed understanding delivered back in the conversation.
|
|
2
|
+
|
|
3
|
+
This is a relentless interrogation of whatever the user put on the table — a plan, a decision, an idea, a design. Stress-test it until every assumption is named and every open question is either answered or explicitly parked. Work the four quadrants below, batching questions that stand on their own and following dependent threads one question at a time.
|
|
4
|
+
|
|
5
|
+
**The four quadrants**
|
|
6
|
+
|
|
7
|
+
Sweep all four — the last two are where the real risk hides:
|
|
8
|
+
|
|
9
|
+
1. **Known Knowns — what we think we know.** Restate the claims the artifact rests on, then *verify* them. If it's checkable in the codebase, check it — never assume a "known" is true just because it was asserted. A false Known Known is the most dangerous kind.
|
|
10
|
+
2. **Known Unknowns — the open questions already on the table.** Enumerate them and put them to the user, each with your suggested answer and reasoning so they can just confirm.
|
|
11
|
+
3. **Unknown Knowns — the unspoken assumptions.** Surface the premises nobody said out loud and *name them* — the implicit "of course X" that the whole thing quietly depends on. Drag each into the light and confirm it holds.
|
|
12
|
+
4. **Unknown Unknowns — the blind spots.** Probe adjacent territory and reach for analogies that failed elsewhere, to unearth the questions the user didn't know to ask. Ask "what would have to be true for this to blow up?" and chase the answers.
|
|
13
|
+
|
|
14
|
+
**Interview mechanics**
|
|
15
|
+
|
|
16
|
+
- **Batch independent questions; sequence dependent ones.** Ask unrelated questions together in a single turn (use \`AskUserQuestion\` — up to 4 at once). A question whose answer depends on another still-open question isn't independent — hold it for a later turn once the question it hangs off is settled.
|
|
17
|
+
- **Every question carries a suggested answer** and the reasoning behind it, so the user can confirm instead of writing an essay.
|
|
18
|
+
- **Look up what's checkable.** Factual questions ("does X already exist", "what does Y currently do") are yours to answer from the codebase — never ask the user something you can verify yourself.
|
|
19
|
+
- **Probe every answer for its hidden premise.** After each answer, ask what it implies that hasn't been said yet. Don't stop at the first plausible answer; keep pulling the thread until it stops giving new information.
|
|
20
|
+
|
|
21
|
+
**Converge**
|
|
22
|
+
|
|
23
|
+
You're done only when you can fully restate the shared understanding — the claims that held up, the assumptions now made explicit, the questions answered, and anything left deliberately open — and the user confirms it's right. Running out of questions is not convergence. If the user corrects your restatement, there's still a hidden branch; keep grilling.
|
|
24
|
+
|
|
25
|
+
**Guardrails**
|
|
26
|
+
- **Don't implement** — never write application code, edit sources, or create artifact files during a grill
|
|
27
|
+
- **Don't act before consensus** — take no action until the user has confirmed the restated understanding
|
|
28
|
+
- **Don't ask what you can look up** — codebase facts are yours to find, not the user's to recite
|
|
29
|
+
- **Don't stop at the first plausible answer** — dig for the implied premise behind it
|
|
30
|
+
- **Don't force closure** — if the user wants to keep grilling after you've restated where things stand, keep going
|
|
31
|
+
|
|
32
|
+
Grill is on-demand deep-dive for *any* artifact — not the pre-change requirement convergence that \`tospec-explore\` owns, and it lands no files of its own.`;
|
|
33
|
+
export function getGrillSkillTemplate() {
|
|
34
|
+
return {
|
|
35
|
+
name: 'tospec-grill',
|
|
36
|
+
description: "Pressure-test any artifact — a plan, a decision, an idea, a design — through a relentless four-quadrant Known/Unknown interrogation. Trigger whenever the user says 'grill', 'grill me', 'grilling', or 'grilling me', or otherwise wants to dig deeper, surface unspoken assumptions, and hunt blind spots before committing.",
|
|
37
|
+
instructions: `Grill any artifact the user hands you — a plan, decision, idea, or design — through the four-quadrant Known/Unknown frame until every assumption is named and the understanding is shared and confirmed.
|
|
38
|
+
|
|
39
|
+
**Input**: The user's request is whatever they want stress-tested — a plan file, a recorded decision, a raw idea, or a change name to interrogate in context of. May be empty, in which case ask what to grill.
|
|
40
|
+
|
|
41
|
+
${GRILL_BODY}`,
|
|
42
|
+
license: 'MIT',
|
|
43
|
+
compatibility: 'Requires tospec CLI.',
|
|
44
|
+
metadata: { author: 'tospec', version: '1.0' },
|
|
45
|
+
allowedTools: ['Bash(tospec:*)', 'Read', 'Grep', 'Glob', 'AskUserQuestion'],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export function getTospecGrillCommandTemplate() {
|
|
49
|
+
return {
|
|
50
|
+
name: 'TOSPEC: Grill',
|
|
51
|
+
description: 'Pressure-test any artifact through a relentless four-quadrant Known/Unknown interrogation',
|
|
52
|
+
category: 'Workflow',
|
|
53
|
+
tags: ['workflow', 'grill'],
|
|
54
|
+
content: `Grill any artifact the user hands you — a plan, decision, idea, or design — through the four-quadrant Known/Unknown frame until every assumption is named and the understanding is shared and confirmed.
|
|
55
|
+
|
|
56
|
+
**Input**: The argument after \`tospec-grill\` is whatever the user wants stress-tested — a plan file, a recorded decision, a raw idea, or a change name to interrogate in context of. May be empty, in which case ask what to grill.
|
|
57
|
+
|
|
58
|
+
${GRILL_BODY}`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=grill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grill.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/grill.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6JA+B0I,CAAC;AAE9J,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gUAAgU;QAC7U,YAAY,EAAE;;;;EAIhB,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,2FAA2F;QACxG,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;QAC3B,OAAO,EAAE;;;;EAIX,UAAU,EAAE;KACX,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED