@bendyline/gilde 0.1.17 → 0.1.18
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/README.md +5 -1
- package/authoring/gstack/LICENSE.gstack +21 -0
- package/authoring/gstack/README.md +50 -0
- package/authoring/gstack/evals/cso.json +152 -0
- package/authoring/gstack/evals/design-consultation.json +201 -0
- package/authoring/gstack/evals/document-generate.json +174 -0
- package/authoring/gstack/evals/investigate.json +153 -0
- package/authoring/gstack/evals/office-hours.json +141 -0
- package/authoring/gstack/evals/plan-ceo-review.json +135 -0
- package/authoring/gstack/evals/qa-only.json +376 -0
- package/authoring/gstack/evals/retro.json +191 -0
- package/authoring/gstack/evals/spec.json +162 -0
- package/authoring/gstack/overlays/cso.json +132 -0
- package/authoring/gstack/overlays/design-consultation.json +153 -0
- package/authoring/gstack/overlays/document-generate.json +124 -0
- package/authoring/gstack/overlays/investigate.json +128 -0
- package/authoring/gstack/overlays/office-hours.json +119 -0
- package/authoring/gstack/overlays/plan-ceo-review.json +128 -0
- package/authoring/gstack/overlays/qa-only.json +145 -0
- package/authoring/gstack/overlays/retro.json +132 -0
- package/authoring/gstack/overlays/spec.json +140 -0
- package/authoring/gstack/persona-drafts/cso.about.md +9 -0
- package/authoring/gstack/persona-drafts/design-consultation.about.md +9 -0
- package/authoring/gstack/persona-drafts/office-hours.about.md +9 -0
- package/authoring/gstack/persona-drafts/qa-only.about.md +5 -0
- package/authoring/gstack/persona-drafts/spec.about.md +26 -0
- package/authoring/gstack/snapshots/cso/SKILL.md +1285 -0
- package/authoring/gstack/snapshots/design-consultation/SKILL.md +1230 -0
- package/authoring/gstack/snapshots/document-generate/SKILL.md +1252 -0
- package/authoring/gstack/snapshots/investigate/SKILL.md +1074 -0
- package/authoring/gstack/snapshots/office-hours/SKILL.md +1697 -0
- package/authoring/gstack/snapshots/plan-ceo-review/SKILL.md +1476 -0
- package/authoring/gstack/snapshots/qa-only/SKILL.md +1256 -0
- package/authoring/gstack/snapshots/retro/SKILL.md +1812 -0
- package/authoring/gstack/snapshots/spec/SKILL.md +2359 -0
- package/authoring/gstack/wave.json +103 -0
- package/data/connector-types/gi/github-releases/manifest.json +17 -0
- package/data/connector-types/gi/github-releases/versions/1.0.0/manifest.json +71 -0
- package/data/connector-types/index.json +1 -1
- package/data/craftbook-templates/br/branding-website/versions/1.1.0/craftbook.json +190 -0
- package/data/craftbook-templates/br/branding-website/versions/1.1.0/test.json +164 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.0/craftbook.json +358 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.0/test.json +376 -0
- package/data/craftbook-templates/ca/careful-mode/versions/1.1.0/craftbook.json +43 -0
- package/data/craftbook-templates/ca/careful-mode/versions/1.1.0/test.json +110 -0
- package/data/craftbook-templates/ca/careful-mode/versions/1.2.0/craftbook.json +43 -0
- package/data/craftbook-templates/ca/careful-mode/versions/1.2.0/test.json +110 -0
- package/data/craftbook-templates/co/content-deck/versions/1.1.0/craftbook.json +185 -0
- package/data/craftbook-templates/co/content-deck/versions/1.1.0/test.json +166 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.0/craftbook.json +185 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.0/test.json +169 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.1.0/craftbook.json +189 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.1.0/test.json +182 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.0/craftbook.json +189 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.0/test.json +187 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.0/craftbook.json +385 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.0/test.json +201 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.0/craftbook.json +353 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.0/test.json +191 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.0/craftbook.json +347 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.0/test.json +135 -0
- package/data/craftbook-templates/fr/freeze-scope/versions/1.2.0/craftbook.json +50 -0
- package/data/craftbook-templates/fr/freeze-scope/versions/1.2.0/test.json +131 -0
- package/data/craftbook-templates/fr/freeze-scope/versions/1.3.0/craftbook.json +50 -0
- package/data/craftbook-templates/fr/freeze-scope/versions/1.3.0/test.json +131 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.1.0/craftbook.json +197 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.1.0/test.json +173 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.0/craftbook.json +197 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.0/test.json +176 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.0/craftbook.json +333 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.0/test.json +141 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.1.0/craftbook.json +163 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.1.0/test.json +177 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.0/craftbook.json +163 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.0/test.json +180 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/re/release-artifact-sanity-check/art.json +13 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/logo.webp +0 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/manifest.json +24 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.0/craftbook.json +202 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.0/test.json +138 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.0/craftbook.json +348 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.0/test.json +153 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.0/craftbook.json +353 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.0/test.json +152 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.0/craftbook.json +391 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.0/test.json +162 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.0/craftbook.json +343 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.0/test.json +174 -0
- package/data/craftbook-templates/tr/translate-content/versions/1.1.0/craftbook.json +84 -0
- package/data/craftbook-templates/tr/translate-content/versions/1.1.0/test.json +141 -0
- package/package.json +8 -4
- package/schemas/craftbook-test.schema.json +232 -3
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"workflow": {
|
|
3
|
+
"plan": "Reproduce first, diagnose second, change code only after the evidence identifies a root cause. Keep an explicit hypothesis ledger so plausible stories cannot silently become facts. Prefer the smallest experiment that separates competing explanations. The final report must connect symptom, causal mechanism, fix, and regression proof with inspectable paths and command results.",
|
|
4
|
+
"phases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "reproduce",
|
|
7
|
+
"name": "Reproduce and bound the failure",
|
|
8
|
+
"description": "Establish a stable failing case, expected behavior, environment, and blast radius.",
|
|
9
|
+
"suggestedRole": "debugging engineer",
|
|
10
|
+
"prompt": "Read the request, relevant code, existing tests, logs, and configuration. Reproduce the problem with the smallest safe case you can run. Record exact inputs, expected and actual results, environment details, frequency, and whether the failure is deterministic. If it cannot be reproduced, document the attempts and the missing observation needed; do not invent a cause or edit production code.",
|
|
11
|
+
"output": {
|
|
12
|
+
"path": "investigations/reproduction.md",
|
|
13
|
+
"minBytes": 700,
|
|
14
|
+
"requiredPatterns": [
|
|
15
|
+
{
|
|
16
|
+
"pattern": "^##\\s+Symptom",
|
|
17
|
+
"label": "Symptom section"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"pattern": "^##\\s+Minimal reproduction",
|
|
21
|
+
"label": "Minimal reproduction section"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"pattern": "^##\\s+Expected",
|
|
25
|
+
"label": "Expected behavior section"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"pattern": "^##\\s+Actual",
|
|
29
|
+
"label": "Actual behavior section"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"pattern": "^##\\s+Evidence",
|
|
33
|
+
"label": "Evidence section"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "diagnose",
|
|
40
|
+
"name": "Prove the root cause",
|
|
41
|
+
"description": "Test competing hypotheses and identify the causal mechanism before modifying code.",
|
|
42
|
+
"suggestedRole": "root-cause analyst",
|
|
43
|
+
"prompt": "Use `investigations/reproduction.md` to form at least two plausible hypotheses. Trace the relevant execution and data paths with workspace search and file-reading tools. For each hypothesis, run a discriminating experiment and record its predicted versus observed outcome. Name the first bad state or decision, explain how it produces the symptom, and check for sibling cases. Do not change source code in this phase.",
|
|
44
|
+
"output": {
|
|
45
|
+
"path": "investigations/root-cause-analysis.md",
|
|
46
|
+
"minBytes": 1000,
|
|
47
|
+
"requiredPatterns": [
|
|
48
|
+
{
|
|
49
|
+
"pattern": "^##\\s+Hypotheses",
|
|
50
|
+
"label": "Hypotheses section"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"pattern": "^##\\s+Experiments",
|
|
54
|
+
"label": "Experiments section"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"pattern": "^##\\s+Root cause",
|
|
58
|
+
"label": "Root cause section"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"pattern": "^##\\s+Causal chain",
|
|
62
|
+
"label": "Causal chain section"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"pattern": "^##\\s+Blast radius",
|
|
66
|
+
"label": "Blast radius section"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "fix-and-verify",
|
|
73
|
+
"name": "Implement the smallest fix and verify it",
|
|
74
|
+
"description": "Correct the proven mechanism and demonstrate both regression coverage and non-regression.",
|
|
75
|
+
"suggestedRole": "software engineer",
|
|
76
|
+
"prompt": "Read both investigation files. Implement the smallest maintainable change that breaks the documented causal chain. Add or strengthen a regression test that fails on the old behavior and passes with the fix. Run the focused test, relevant neighboring tests, and any proportionate static checks. Record exact changed paths and exact verification commands with exit results. If the environment prevents a check, label it unverified and explain what is needed to run it.",
|
|
77
|
+
"output": {
|
|
78
|
+
"path": "reports/root-cause-investigation.md",
|
|
79
|
+
"minBytes": 1200,
|
|
80
|
+
"requiredPatterns": [
|
|
81
|
+
{
|
|
82
|
+
"pattern": "^##\\s+Root cause",
|
|
83
|
+
"label": "Root cause section"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"pattern": "^##\\s+Fix",
|
|
87
|
+
"label": "Fix section"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"pattern": "^##\\s+Changed files",
|
|
91
|
+
"label": "Changed files section"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"pattern": "^##\\s+Regression coverage",
|
|
95
|
+
"label": "Regression coverage section"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"pattern": "^##\\s+Verification",
|
|
99
|
+
"label": "Verification section"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"pattern": "^##\\s+Rollback",
|
|
103
|
+
"label": "Rollback section"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"review": {
|
|
110
|
+
"artifactPath": "reports/root-cause-investigation.md",
|
|
111
|
+
"relatedPaths": [
|
|
112
|
+
"investigations/reproduction.md",
|
|
113
|
+
"investigations/root-cause-analysis.md"
|
|
114
|
+
],
|
|
115
|
+
"reviewPath": "reviews/root-cause-investigation-review.md",
|
|
116
|
+
"reviewerRole": "debugging reviewer",
|
|
117
|
+
"repairRole": "software engineer",
|
|
118
|
+
"criteria": [
|
|
119
|
+
"The failure is reproducible or the report explicitly stops without claiming an unproven diagnosis.",
|
|
120
|
+
"Competing hypotheses were separated by recorded experiments rather than intuition.",
|
|
121
|
+
"The stated root cause includes a causal chain from first bad state to observed symptom.",
|
|
122
|
+
"The change is limited to that causal mechanism and covers identified sibling cases.",
|
|
123
|
+
"A regression test and neighboring checks have concrete, credible results with no fabricated execution evidence.",
|
|
124
|
+
"The report identifies changed files, residual risk, and a viable rollback."
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
"workflow": {
|
|
3
|
+
"plan": "Use this workflow before committing implementation effort. Ground the conversation in the user's actual problem and available project evidence, ask one decision question at a time with `ask_user_question`, and distinguish facts from assumptions. In unattended runs, make the smallest reversible assumptions and label them. The output is a decision record, not brainstorming theater: it must end with a chosen wedge and a real next action.",
|
|
4
|
+
"phases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "frame",
|
|
7
|
+
"name": "Frame the opportunity",
|
|
8
|
+
"description": "Turn the rough idea into a specific problem, audience, outcome, and assumption set.",
|
|
9
|
+
"suggestedRole": "product strategist",
|
|
10
|
+
"prompt": "Inspect the project brief and relevant workspace material before asking anything already answered there. Establish who has the problem, what they do today, why that is inadequate, the desired outcome, constraints, and evidence already available. Ask one high-leverage question at a time. Separate verified facts from assumptions and record what evidence would falsify the idea.",
|
|
11
|
+
"output": {
|
|
12
|
+
"path": "notes/idea-brief.md",
|
|
13
|
+
"minBytes": 600,
|
|
14
|
+
"requiredPatterns": [
|
|
15
|
+
{
|
|
16
|
+
"pattern": "^##\\s+Problem",
|
|
17
|
+
"label": "Problem section"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"pattern": "^##\\s+Audience",
|
|
21
|
+
"label": "Audience section"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"pattern": "^##\\s+Success criteria",
|
|
25
|
+
"label": "measurable Success criteria section"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"pattern": "^##\\s+Assumptions",
|
|
29
|
+
"label": "Assumptions section"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "pressure-test",
|
|
36
|
+
"name": "Pressure-test the options",
|
|
37
|
+
"description": "Challenge the premise and compare meaningful alternatives before choosing a solution.",
|
|
38
|
+
"suggestedRole": "product researcher",
|
|
39
|
+
"prompt": "Read `notes/idea-brief.md`. Test the strongest assumptions against workspace evidence and, when available and appropriate, research tools. Develop at least three materially different options, including a no-build or manual option. For each, compare user value, evidence, effort, reversibility, key risk, and the cheapest falsification test. Recommend one narrow wedge and explain what evidence would change that recommendation.",
|
|
40
|
+
"output": {
|
|
41
|
+
"path": "notes/idea-options.md",
|
|
42
|
+
"minBytes": 900,
|
|
43
|
+
"requiredPatterns": [
|
|
44
|
+
{
|
|
45
|
+
"pattern": "^##\\s+Evidence",
|
|
46
|
+
"label": "Evidence section"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"pattern": "^##\\s+Alternatives",
|
|
50
|
+
"label": "Alternatives section"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"pattern": "^##\\s+Risks",
|
|
54
|
+
"label": "Risks section"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"pattern": "^##\\s+Recommendation",
|
|
58
|
+
"label": "Recommendation section"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "decide",
|
|
65
|
+
"name": "Write the decision record",
|
|
66
|
+
"description": "Capture a defensible decision and the smallest useful real-world action.",
|
|
67
|
+
"suggestedRole": "product writer",
|
|
68
|
+
"prompt": "Synthesize the brief and options into a concise decision record. Preserve uncertainty instead of manufacturing confidence. State the chosen wedge, why it beats the alternatives now, boundaries that prevent scope creep, leading and lagging success measures, the next experiment or delivery action, its owner, and a decision date or trigger for revisiting the choice.",
|
|
69
|
+
"output": {
|
|
70
|
+
"path": "decisions/idea-office-hours.md",
|
|
71
|
+
"minBytes": 1100,
|
|
72
|
+
"requiredPatterns": [
|
|
73
|
+
{
|
|
74
|
+
"pattern": "^##\\s+Problem",
|
|
75
|
+
"label": "Problem section"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"pattern": "^##\\s+Evidence heard from the user",
|
|
79
|
+
"label": "user evidence section"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"pattern": "^##\\s+Chosen wedge",
|
|
83
|
+
"label": "Chosen wedge section"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"pattern": "^##\\s+Alternatives considered",
|
|
87
|
+
"label": "Alternatives considered section"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"pattern": "^##\\s+Decision",
|
|
91
|
+
"label": "Decision section"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"pattern": "^##\\s+Next real-world action",
|
|
95
|
+
"label": "Next real-world action section"
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"review": {
|
|
102
|
+
"artifactPath": "decisions/idea-office-hours.md",
|
|
103
|
+
"relatedPaths": [
|
|
104
|
+
"notes/idea-brief.md",
|
|
105
|
+
"notes/idea-options.md"
|
|
106
|
+
],
|
|
107
|
+
"reviewPath": "reviews/idea-office-hours-review.md",
|
|
108
|
+
"reviewerRole": "product reviewer",
|
|
109
|
+
"repairRole": "product strategist",
|
|
110
|
+
"criteria": [
|
|
111
|
+
"The problem, audience, and success measures are specific enough to falsify.",
|
|
112
|
+
"Verified evidence and assumptions are clearly distinguished.",
|
|
113
|
+
"At least three meaningfully different alternatives, including no-build or manual work, were compared fairly.",
|
|
114
|
+
"The chosen wedge follows from the evidence and has explicit scope boundaries.",
|
|
115
|
+
"The next action has an owner, a measurable outcome, and a revisit trigger."
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"workflow": {
|
|
3
|
+
"plan": "Review the decision, not just the document. Start from the premise, user value, and evidence; compare real alternatives; then test economics, sequencing, reversibility, operational load, and downside. Scores must be anchored to observed facts, with unknowns called out. The final verdict is one of SCOPE EXPANSION, SELECTIVE, HOLD, or SCOPE REDUCTION and includes explicit conditions for changing it.",
|
|
4
|
+
"phases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "evidence",
|
|
7
|
+
"name": "Build the executive evidence base",
|
|
8
|
+
"description": "Extract the proposal, intended outcome, proof, assumptions, constraints, and missing decisions.",
|
|
9
|
+
"suggestedRole": "strategy analyst",
|
|
10
|
+
"prompt": "Read the plan and the workspace material it cites. Restate the decision being requested, target user and outcome, timing, constraints, dependencies, and claimed evidence. Verify cited project facts directly. Separate evidence, inference, and unsupported assumption. Identify the decision owner, irreversible choices, and the cost of waiting. Do not score or recommend yet.",
|
|
11
|
+
"output": {
|
|
12
|
+
"path": "reviews/executive-evidence.md",
|
|
13
|
+
"minBytes": 800,
|
|
14
|
+
"requiredPatterns": [
|
|
15
|
+
{
|
|
16
|
+
"pattern": "^##\\s+Decision",
|
|
17
|
+
"label": "Decision section"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"pattern": "^##\\s+Evidence",
|
|
21
|
+
"label": "Evidence section"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"pattern": "^##\\s+Assumptions",
|
|
25
|
+
"label": "Assumptions section"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"pattern": "^##\\s+Constraints",
|
|
29
|
+
"label": "Constraints section"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"pattern": "^##\\s+Unknowns",
|
|
33
|
+
"label": "Unknowns section"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "challenge",
|
|
40
|
+
"name": "Challenge the premise and options",
|
|
41
|
+
"description": "Compare the proposal with materially different ways to reach the outcome.",
|
|
42
|
+
"suggestedRole": "executive strategist",
|
|
43
|
+
"prompt": "Use `reviews/executive-evidence.md` to test whether the problem deserves action now and whether the proposal is the best vehicle. Develop at least three alternatives, including doing less or waiting. Compare value, confidence, time to learning, opportunity cost, reversibility, operating burden, security or compliance exposure, and failure mode. Identify which choice each key assumption favors and the cheapest evidence that would flip the ranking.",
|
|
44
|
+
"output": {
|
|
45
|
+
"path": "reviews/executive-options.md",
|
|
46
|
+
"minBytes": 1000,
|
|
47
|
+
"requiredPatterns": [
|
|
48
|
+
{
|
|
49
|
+
"pattern": "^##\\s+Premise test",
|
|
50
|
+
"label": "Premise test section"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"pattern": "^##\\s+Alternatives",
|
|
54
|
+
"label": "Alternatives section"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"pattern": "^##\\s+Opportunity cost",
|
|
58
|
+
"label": "Opportunity cost section"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"pattern": "^##\\s+Failure modes",
|
|
62
|
+
"label": "Failure modes section"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"pattern": "^##\\s+Decision-changing evidence",
|
|
66
|
+
"label": "decision-changing evidence section"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "verdict",
|
|
73
|
+
"name": "Write the executive review",
|
|
74
|
+
"description": "Deliver an evidence-anchored scorecard, verdict, and decision conditions.",
|
|
75
|
+
"suggestedRole": "executive reviewer",
|
|
76
|
+
"prompt": "Write a decision-ready review using the evidence and options files. Score user value, strategic fit, evidence strength, feasibility, sequencing, reversibility, operating cost, and downside from 0 to 10; for each score cite the basis and say what would make it a 10. Choose exactly one mode verdict and explain the two or three decisive reasons. Recommend what to approve now, what to cut or defer, near-term validation, owners, and explicit go, pause, or stop conditions.",
|
|
77
|
+
"output": {
|
|
78
|
+
"path": "reviews/executive-level-review.md",
|
|
79
|
+
"minBytes": 1400,
|
|
80
|
+
"requiredPatterns": [
|
|
81
|
+
{
|
|
82
|
+
"pattern": "^##\\s+Executive verdict",
|
|
83
|
+
"label": "Executive verdict section"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"pattern": "(?:SCOPE EXPANSION|SELECTIVE|HOLD|SCOPE REDUCTION)",
|
|
87
|
+
"label": "allowed mode verdict"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"pattern": "^##\\s+Scorecard",
|
|
91
|
+
"label": "Scorecard section"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"pattern": "^##\\s+Alternatives",
|
|
95
|
+
"label": "Alternatives section"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"pattern": "^##\\s+Recommendation",
|
|
99
|
+
"label": "Recommendation section"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"pattern": "^##\\s+Decision conditions",
|
|
103
|
+
"label": "Decision conditions section"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"review": {
|
|
110
|
+
"artifactPath": "reviews/executive-level-review.md",
|
|
111
|
+
"relatedPaths": [
|
|
112
|
+
"reviews/executive-evidence.md",
|
|
113
|
+
"reviews/executive-options.md"
|
|
114
|
+
],
|
|
115
|
+
"reviewPath": "reviews/executive-level-review-evaluation.md",
|
|
116
|
+
"reviewerRole": "strategy reviewer",
|
|
117
|
+
"repairRole": "executive reviewer",
|
|
118
|
+
"criteria": [
|
|
119
|
+
"The review tests whether action is warranted, not merely how to execute the supplied plan.",
|
|
120
|
+
"Scores are individually justified by evidence and state what would improve them.",
|
|
121
|
+
"At least three materially different alternatives, including doing less or waiting, are compared.",
|
|
122
|
+
"Opportunity cost, reversibility, operating burden, and credible failure modes influence the recommendation.",
|
|
123
|
+
"The allowed verdict follows from the scorecard and has explicit approval, deferral, and stop conditions.",
|
|
124
|
+
"Unknowns remain visible and no unsupported fact is presented as evidence."
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
{
|
|
2
|
+
"set": {
|
|
3
|
+
"toolsets": [
|
|
4
|
+
{
|
|
5
|
+
"toolsetId": "@playwright/mcp",
|
|
6
|
+
"optional": false,
|
|
7
|
+
"reason": "exercise the target through a real browser and capture reproducible evidence"
|
|
8
|
+
}
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"workflow": {
|
|
12
|
+
"plan": "Perform black-box, report-only browser QA. Do not read implementation code and do not fix defects. Test the supplied running target as a real user across core journeys, navigation, forms, validation, state changes, console health, responsive layouts, and accessibility basics. Capture evidence at the time of observation, retry suspected defects once, redact credentials, and distinguish tested, blocked, and out-of-scope surfaces. A health score is only valid when its evidence and arithmetic are inspectable.",
|
|
13
|
+
"phases": [
|
|
14
|
+
{
|
|
15
|
+
"id": "plan-coverage",
|
|
16
|
+
"name": "Plan observable coverage",
|
|
17
|
+
"description": "Confirm the target and turn user intent into bounded journeys, states, and evidence requirements.",
|
|
18
|
+
"suggestedRole": "QA analyst",
|
|
19
|
+
"prompt": "Confirm the target URL, requested scope, authentication constraints, viewport requirements, destructive-action limits, and expected behavior from the task context. Ask only for missing information that blocks browser use, and never store credentials in output. Open the target with the configured browser toolset to verify reachability. Map the visible navigation and prioritize core journeys. Define happy, empty, invalid, error, loading, permission, and responsive states to exercise, plus a clear tested versus excluded boundary.",
|
|
20
|
+
"output": {
|
|
21
|
+
"path": "qa/test-plan.md",
|
|
22
|
+
"minBytes": 700,
|
|
23
|
+
"requiredPatterns": [
|
|
24
|
+
{
|
|
25
|
+
"pattern": "^##\\s+Target",
|
|
26
|
+
"label": "Target section"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"pattern": "^##\\s+Core journeys",
|
|
30
|
+
"label": "Core journeys section"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"pattern": "^##\\s+State matrix",
|
|
34
|
+
"label": "State matrix section"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"pattern": "^##\\s+Viewports",
|
|
38
|
+
"label": "Viewports section"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"pattern": "^##\\s+Scope boundaries",
|
|
42
|
+
"label": "Scope boundaries section"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "exercise",
|
|
49
|
+
"name": "Exercise the application",
|
|
50
|
+
"description": "Run the planned journeys in a real browser and capture reproducible, redacted evidence.",
|
|
51
|
+
"suggestedRole": "browser QA engineer",
|
|
52
|
+
"prompt": "Execute `qa/test-plan.md` with the configured browser tools, using `run_playwright_script` for repeatable multi-step journeys when useful. At every journey, record URL, viewport, input state, actions, visible result, console errors, and screenshot path. Test keyboard focus and basic accessible naming, realistic invalid input, browser back and forward behavior, and at least one narrow viewport. Retry each suspected issue once. Save screenshots beneath `qa/screenshots/` and a machine-readable issue summary to `qa/baseline.json`. Redact secrets and never submit destructive or externally visible actions without explicit permission.",
|
|
53
|
+
"output": {
|
|
54
|
+
"path": "qa/browser-evidence.md",
|
|
55
|
+
"minBytes": 1200,
|
|
56
|
+
"requiredPatterns": [
|
|
57
|
+
{
|
|
58
|
+
"pattern": "^##\\s+Run metadata",
|
|
59
|
+
"label": "Run metadata section"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"pattern": "^##\\s+Journey results",
|
|
63
|
+
"label": "Journey results section"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"pattern": "^##\\s+Console",
|
|
67
|
+
"label": "Console section"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"pattern": "^##\\s+Responsive and accessibility",
|
|
71
|
+
"label": "responsive and accessibility section"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"pattern": "^##\\s+Evidence index",
|
|
75
|
+
"label": "Evidence index section"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"additionalChecks": [
|
|
79
|
+
{
|
|
80
|
+
"kind": "sniff",
|
|
81
|
+
"file": "qa/baseline.json",
|
|
82
|
+
"sniff": "json-valid"
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "report-findings",
|
|
89
|
+
"name": "Write the QA report",
|
|
90
|
+
"description": "Triage observed defects, compute the health score, and provide owners with exact reproduction evidence.",
|
|
91
|
+
"suggestedRole": "QA reporter",
|
|
92
|
+
"prompt": "Write the report only from `qa/test-plan.md`, `qa/browser-evidence.md`, screenshots, and baseline data. For every issue include severity, confidence, category, affected journey, exact reproduction steps, expected versus actual behavior, screenshot or console evidence, frequency, and user impact. Keep blocked checks separate from passes. Compute category scores and the weighted health score with visible arithmetic. End with the top three fixes by user impact, but do not edit code or prescribe speculative implementation details.",
|
|
93
|
+
"output": {
|
|
94
|
+
"path": "qa/browser-qa-report.md",
|
|
95
|
+
"minBytes": 1500,
|
|
96
|
+
"requiredPatterns": [
|
|
97
|
+
{
|
|
98
|
+
"pattern": "^##\\s+Executive summary",
|
|
99
|
+
"label": "Executive summary section"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"pattern": "^##\\s+Coverage",
|
|
103
|
+
"label": "Coverage section"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"pattern": "^##\\s+Findings",
|
|
107
|
+
"label": "Findings section"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"pattern": "^##\\s+Console health",
|
|
111
|
+
"label": "Console health section"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"pattern": "^##\\s+Health score",
|
|
115
|
+
"label": "Health score section"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"pattern": "^##\\s+Top three fixes",
|
|
119
|
+
"label": "Top three fixes section"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"review": {
|
|
126
|
+
"artifactPath": "qa/browser-qa-report.md",
|
|
127
|
+
"relatedPaths": [
|
|
128
|
+
"qa/test-plan.md",
|
|
129
|
+
"qa/browser-evidence.md",
|
|
130
|
+
"qa/baseline.json"
|
|
131
|
+
],
|
|
132
|
+
"reviewPath": "reviews/browser-qa-audit-review.md",
|
|
133
|
+
"reviewerRole": "QA reviewer",
|
|
134
|
+
"repairRole": "QA reporter",
|
|
135
|
+
"criteria": [
|
|
136
|
+
"Every claimed pass, fail, and blocked check traces to an actual browser journey in the evidence log.",
|
|
137
|
+
"Each defect was reproduced twice or its confidence was reduced, and includes expected versus actual behavior plus screenshot or console evidence.",
|
|
138
|
+
"Core journeys cover meaningful state changes, invalid input, navigation, console health, responsive layout, and accessibility basics in proportion to scope.",
|
|
139
|
+
"Credentials and sensitive data are redacted, and no destructive or externally visible action was taken without permission.",
|
|
140
|
+
"Severity reflects user impact and reach, while untested surfaces are never counted as passing.",
|
|
141
|
+
"The category and overall health-score arithmetic is reproducible from the report."
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
{
|
|
2
|
+
"workflow": {
|
|
3
|
+
"plan": "Build an engineering retrospective from reproducible repository evidence, not memory or a leaderboard. Use read-only `run_git` queries and workspace records, state the time window and identity mapping, preserve both counts and qualitative examples, and explain data limits. Interpret activity in context: commit volume is not productivity, review visibility is incomplete, and individual notes must be constructive growth observations rather than performance ratings.",
|
|
4
|
+
"phases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "scope-retro",
|
|
7
|
+
"name": "Define the retrospective window and evidence contract",
|
|
8
|
+
"description": "Lock the period, repositories, participants, questions, identity aliases, and privacy boundaries.",
|
|
9
|
+
"suggestedRole": "engineering operations analyst",
|
|
10
|
+
"prompt": "Confirm the requested time window, repository scope, comparison baseline, participants, timezone, team events, and intended audience. Resolve obvious author aliases from read-only history and label ambiguous identities instead of merging them. Define the questions the retrospective should answer, the datasets required, exclusions, privacy rules, and known blind spots such as squash merges or off-platform reviews.",
|
|
11
|
+
"output": {
|
|
12
|
+
"path": "retro/scope.md",
|
|
13
|
+
"minBytes": 700,
|
|
14
|
+
"requiredPatterns": [
|
|
15
|
+
{
|
|
16
|
+
"pattern": "^##\\s+Window",
|
|
17
|
+
"label": "Window section"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"pattern": "^##\\s+Repositories",
|
|
21
|
+
"label": "Repositories section"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"pattern": "^##\\s+Identity map",
|
|
25
|
+
"label": "Identity map section"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"pattern": "^##\\s+Questions",
|
|
29
|
+
"label": "Questions section"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"pattern": "^##\\s+Limits and privacy",
|
|
33
|
+
"label": "Limits and privacy section"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "collect-evidence",
|
|
40
|
+
"name": "Collect and reconcile the engineering evidence",
|
|
41
|
+
"description": "Gather reproducible activity, churn, hotspot, collaboration, and quality signals with caveats.",
|
|
42
|
+
"suggestedRole": "engineering data analyst",
|
|
43
|
+
"prompt": "Use read-only `run_git` calls for log, shortlog, show, and diff statistics within `retro/scope.md`; do not use shell pipelines. Preserve the exact query arguments and result counts. Reconcile totals across authors and date boundaries, sample the work behind the numbers, and identify hotspots, change concentration, review or pairing signals visible in history, rework, test activity, documentation, maintenance, and operational work. Compare with the chosen baseline where possible. Treat missing data as missing, not zero.",
|
|
44
|
+
"output": {
|
|
45
|
+
"path": "retro/evidence.md",
|
|
46
|
+
"minBytes": 1400,
|
|
47
|
+
"requiredPatterns": [
|
|
48
|
+
{
|
|
49
|
+
"pattern": "^##\\s+Queries",
|
|
50
|
+
"label": "Queries section"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"pattern": "^##\\s+Activity",
|
|
54
|
+
"label": "Activity section"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"pattern": "^##\\s+Hotspots",
|
|
58
|
+
"label": "Hotspots section"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"pattern": "^##\\s+Collaboration",
|
|
62
|
+
"label": "Collaboration section"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"pattern": "^##\\s+Quality signals",
|
|
66
|
+
"label": "Quality signals section"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"pattern": "^##\\s+Data limitations",
|
|
70
|
+
"label": "Data limitations section"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "synthesize-retro",
|
|
77
|
+
"name": "Write the engineering retrospective",
|
|
78
|
+
"description": "Turn the evidence into balanced lessons, growth notes, and owned experiments.",
|
|
79
|
+
"suggestedRole": "engineering manager",
|
|
80
|
+
"prompt": "Write a retrospective grounded in `retro/evidence.md`. Explain the period's goals and events before interpreting metrics. Highlight outcomes, strengths, bottlenecks, hotspots, recurring rework, review patterns, maintenance load, and changes from baseline, citing paths or examples. Include constructive per-person growth notes only when supported by multiple observations; name contributions and opportunities without ranking people or equating volume with value. End with three to five owned, measurable experiments and a date for checking results.",
|
|
81
|
+
"output": {
|
|
82
|
+
"path": "retro/engineering-retrospective.md",
|
|
83
|
+
"minBytes": 1600,
|
|
84
|
+
"requiredPatterns": [
|
|
85
|
+
{
|
|
86
|
+
"pattern": "^##\\s+Period context",
|
|
87
|
+
"label": "Period context section"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"pattern": "^##\\s+What went well",
|
|
91
|
+
"label": "What went well section"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"pattern": "^##\\s+Friction and hotspots",
|
|
95
|
+
"label": "Friction and hotspots section"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"pattern": "^##\\s+Collaboration and growth",
|
|
99
|
+
"label": "Collaboration and growth section"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"pattern": "^##\\s+Experiments",
|
|
103
|
+
"label": "Experiments section"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"pattern": "^##\\s+Evidence limits",
|
|
107
|
+
"label": "Evidence limits section"
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"review": {
|
|
114
|
+
"artifactPath": "retro/engineering-retrospective.md",
|
|
115
|
+
"relatedPaths": [
|
|
116
|
+
"retro/scope.md",
|
|
117
|
+
"retro/evidence.md"
|
|
118
|
+
],
|
|
119
|
+
"reviewPath": "reviews/engineering-retrospective-review.md",
|
|
120
|
+
"reviewerRole": "engineering leadership reviewer",
|
|
121
|
+
"repairRole": "engineering manager",
|
|
122
|
+
"criteria": [
|
|
123
|
+
"The time window, repository scope, baseline, identities, and evidence queries are reproducible.",
|
|
124
|
+
"Counts reconcile or discrepancies are explained, and missing signals are not treated as zero.",
|
|
125
|
+
"Every important conclusion traces to multiple observations, paths, or examples rather than activity volume alone.",
|
|
126
|
+
"Strengths, friction, hotspots, maintenance, collaboration, and changes from baseline are balanced and contextualized.",
|
|
127
|
+
"Individual notes are evidence-backed, constructive, privacy-conscious, and never framed as rankings or performance scores.",
|
|
128
|
+
"Experiments have owners, measurable outcomes, and a review date."
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|