@dzhechkov/keysarium 1.7.14 → 1.7.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/.dz-manifest.json +215 -55
- package/README.md +35 -6
- package/README.ru.md +36 -16
- package/package.json +3 -3
- package/sbom.json +456 -56
- package/src/cli.js +32 -2
- package/src/commands/doctor.js +25 -1
- package/src/commands/init.js +46 -12
- package/src/utils.js +1 -0
- package/templates/.agents/skills/casarium/SKILL.md +29 -0
- package/templates/.claude/agents/code-goal-planner.md +9 -0
- package/templates/.claude/commands/analyst-manual.md +4 -2
- package/templates/.claude/commands/casarium.md +3 -1
- package/templates/.claude/commands/cjm-prototype.md +2 -2
- package/templates/.claude/commands/research.md +4 -1
- package/templates/.claude/rules/checkpoint-protocol.md +2 -1
- package/templates/.claude/rules/research-quality.md +11 -6
- package/templates/.claude/shards/phase-2-research.shard.md +12 -8
- package/templates/.claude/shards/phase-25-cjm.shard.md +5 -3
- package/templates/.claude/skills/analyst-manual-full/SKILL.md +65 -37
- package/templates/.claude/skills/feature-adr/SKILL.md +17 -15
- package/templates/.claude/skills/feature-adr/modules/03-adr.md +1 -1
- package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +1 -1
- package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +2 -2
- package/templates/.claude/skills/feature-adr/modules/08-qe.md +1 -1
- package/templates/.claude/skills/feature-adr/modules/09-fleet-qe.md +12 -12
- package/templates/.claude/skills/feature-adr/references/agentic-qe/LICENSE.agentic-qe +21 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/README.md +20 -16
- package/templates/.claude/skills/feature-adr/references/agentic-qe/UPSTREAM-MANIFEST.json +246 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/README.md +218 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{brutal-honesty-review.md → qe-ref-brutal-honesty-review/REFERENCE.md} +14 -1
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/resources/assessment-rubrics.md +295 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/resources/review-template.md +102 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/schemas/output.json +291 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/assess-code.sh +179 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/assess-tests.sh +223 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/validate-config.json +34 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/REFERENCE.md +758 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/schemas/output.json +74 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/scripts/validate-config.json +25 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/REFERENCE.md +226 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/schemas/output.json +568 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/scripts/validate-config.json +25 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/01-flag-detection.md +57 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/02-core-agents.md +29 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/03-batch1-results.md +15 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/04-conditional-agents.md +23 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/05-decision-synthesis.md +29 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/06-report-generation.md +18 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/07-learning-persistence.md +29 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/08-final-output.md +18 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{qe-coverage-analysis.md → qe-ref-qe-coverage-analysis/REFERENCE.md} +42 -3
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/schemas/output.json +286 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/scripts/validate-config.json +42 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{qe-requirements-validation.md → qe-ref-qe-requirements-validation/REFERENCE.md} +13 -3
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/schemas/output.json +587 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/scripts/validate-config.json +37 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{regression-testing.md → qe-ref-regression-testing/REFERENCE.md} +30 -49
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/evals/regression-testing.yaml +504 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/schemas/output.json +311 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/scripts/validate-config.json +50 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{risk-based-testing.md → qe-ref-risk-based-testing/REFERENCE.md} +23 -52
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/evals/risk-based-testing.yaml +141 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/schemas/output.json +480 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/scripts/validate-config.json +25 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{shift-left-testing.md → qe-ref-shift-left-testing/REFERENCE.md} +33 -88
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/evals/shift-left-testing.yaml +145 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/schemas/output.json +459 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/scripts/validate-config.json +25 -0
- package/templates/CLAUDE.md +3 -1
- package/templates/docs/feature-adr/04-admin-guide.md +1 -1
- package/templates/docs/improvement-directions.md +3 -3
- package/templates/docs/keysarium/02-admin-guide.md +2 -2
- package/templates/docs/keysarium/03-user-guide.md +3 -3
- package/templates/docs/keysarium/05-architecture.md +9 -8
- package/templates/docs/keysarium/06-user-flows.md +4 -4
- package/templates/lib/platform-templates/copilot.md +1 -1
- package/templates/lib/platform-templates/opencode.md +1 -1
- package/templates/.claude/skills/feature-adr/references/agentic-qe/enterprise-integration-testing.md +0 -111
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-ideation-swarm.md +0 -126
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
{
|
|
2
|
+
"source": "https://github.com/proffesor-for-testing/agentic-qe",
|
|
3
|
+
"commit": "0a6de058575cbe292afe220df105cc74120f7674",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"excluded": [
|
|
6
|
+
"qe-coverage-analysis/run-history.json"
|
|
7
|
+
],
|
|
8
|
+
"files": [
|
|
9
|
+
{
|
|
10
|
+
"path": "qe-ref-enterprise-integration-testing/REFERENCE.md",
|
|
11
|
+
"sha256": "77cb3880c7750c010c449dcfb5d27491cef0162a8bc069e02d0540601a664425",
|
|
12
|
+
"upstreamBodySha256": "131e613be41919f3545a29d346c8133738765b30e9206633d41c0e8ea406c8b2",
|
|
13
|
+
"upstreamPath": ".claude/skills/enterprise-integration-testing/SKILL.md",
|
|
14
|
+
"upstreamFrontmatterSha256": "b89a5492c7d3b421669673156b5f56bd91bd6c9da50fd2d86fd05075fec09fa7"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"path": "qe-ref-enterprise-integration-testing/evals/enterprise-integration-testing.yaml",
|
|
18
|
+
"sha256": "f7287d1e453569bc5414005a73383880c4333ba539ec679a3241772c34bac68a",
|
|
19
|
+
"upstreamPath": ".claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"path": "qe-ref-enterprise-integration-testing/schemas/output.json",
|
|
23
|
+
"sha256": "837e7a27bfc139d2bedeb5c1a7854ef7078a34900f4aae1b73bf776e6d6c8727",
|
|
24
|
+
"upstreamPath": ".claude/skills/enterprise-integration-testing/schemas/output.json"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"path": "qe-ref-enterprise-integration-testing/scripts/validate-config.json",
|
|
28
|
+
"sha256": "db45ee1e7912fce0321efcbad152a88ae4e656c03404dd6bae54302ecca6a3a1",
|
|
29
|
+
"upstreamPath": ".claude/skills/enterprise-integration-testing/scripts/validate-config.json"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"path": "qe-ref-qcsd-ideation-swarm/REFERENCE.md",
|
|
33
|
+
"sha256": "4f9958206be90609a06e5709d486d71cccfcf79799ef450278b15e26af8c9227",
|
|
34
|
+
"upstreamBodySha256": "2dd6197fd5786b988441c7b183b1df20e5156370bfbd85ed2facea21f6f7fe0b",
|
|
35
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/SKILL.md",
|
|
36
|
+
"upstreamFrontmatterSha256": "b08428be3d2d38693b411132db807d0902cf07420a1b7dee51b6763d2e7bdab3"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "qe-ref-qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml",
|
|
40
|
+
"sha256": "1820e848888ea413a6f8a2cd399901605618bbc170b80ef11c5549e182491b5a",
|
|
41
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "qe-ref-qcsd-ideation-swarm/schemas/output.json",
|
|
45
|
+
"sha256": "79c5c37538313a06dc294dfef0176286b29a7a26e9ab952cfe42d21c48c7b1a3",
|
|
46
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/schemas/output.json"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"path": "qe-ref-qcsd-ideation-swarm/scripts/validate-config.json",
|
|
50
|
+
"sha256": "626c135503831060c9ef0c13003ef3e2ea3a396f67787d0cf7b17d37a9afe160",
|
|
51
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/scripts/validate-config.json"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"path": "qe-ref-qcsd-ideation-swarm/steps/01-flag-detection.md",
|
|
55
|
+
"sha256": "68a9771fd2ae18716ef4265b0b15a4df4a4f5e2a24a8794da78cc2f784444ba0",
|
|
56
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/steps/01-flag-detection.md"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"path": "qe-ref-qcsd-ideation-swarm/steps/02-core-agents.md",
|
|
60
|
+
"sha256": "512308d211773383249c485402aa7c36f550dad2fc7a6a73b19ca80162347138",
|
|
61
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/steps/02-core-agents.md"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"path": "qe-ref-qcsd-ideation-swarm/steps/03-batch1-results.md",
|
|
65
|
+
"sha256": "ddaf64b2bff27081954577b97968f2ce181c41d3f2386364a2de0b9ec311cd5b",
|
|
66
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/steps/03-batch1-results.md"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"path": "qe-ref-qcsd-ideation-swarm/steps/04-conditional-agents.md",
|
|
70
|
+
"sha256": "752b00367d4b5cd75fa17cd96cf9c268e032fba47e0d5806aa3bf6539d773f36",
|
|
71
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/steps/04-conditional-agents.md"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"path": "qe-ref-qcsd-ideation-swarm/steps/05-decision-synthesis.md",
|
|
75
|
+
"sha256": "0f87a1997d38803f2ce181e6506e5053b317c461f2718949841790ccc89b76c4",
|
|
76
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/steps/05-decision-synthesis.md"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"path": "qe-ref-qcsd-ideation-swarm/steps/06-report-generation.md",
|
|
80
|
+
"sha256": "27ecb7146d1f80806651ff9566065cd5c680f32979ef6a0ea4576360a66fb229",
|
|
81
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/steps/06-report-generation.md"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"path": "qe-ref-qcsd-ideation-swarm/steps/07-learning-persistence.md",
|
|
85
|
+
"sha256": "dac7068b81298b58db63ef64a41961b17c70dcb72b1da64c186b31564cb1f2ea",
|
|
86
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/steps/07-learning-persistence.md"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"path": "qe-ref-qcsd-ideation-swarm/steps/08-final-output.md",
|
|
90
|
+
"sha256": "b45df9c32aafbb5382fb86620a2c019294ab5bcdf510c3209b17c4470bf5fff5",
|
|
91
|
+
"upstreamPath": ".claude/skills/qcsd-ideation-swarm/steps/08-final-output.md"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"path": "qe-ref-qe-coverage-analysis/REFERENCE.md",
|
|
95
|
+
"sha256": "1d97eae9c6b2220a170f1ba50ae66b79bfbe9bd1fb0e09953daaab51cd24396c",
|
|
96
|
+
"upstreamBodySha256": "199ffd11a6ff114900b5f4a4dfbf6dbd9899be4b530b7575fd6ec931dae56bb4",
|
|
97
|
+
"upstreamPath": ".claude/skills/qe-coverage-analysis/SKILL.md",
|
|
98
|
+
"upstreamFrontmatterSha256": "dbc89c60ee705dc7f2df88f939606ea5b012aedb1874e8331cee7a8f83524b8b"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"path": "qe-ref-qe-coverage-analysis/evals/qe-coverage-analysis.yaml",
|
|
102
|
+
"sha256": "43a46034f5121cc4288eb3ea1d4b366f52d19208244e85547c6cfd6342f67900",
|
|
103
|
+
"upstreamPath": ".claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"path": "qe-ref-qe-coverage-analysis/schemas/output.json",
|
|
107
|
+
"sha256": "dc6093a03d68b0ac2a5be95dc4eb1f5617d58d74cb09839ac13c8ab3bed7d7f2",
|
|
108
|
+
"upstreamPath": ".claude/skills/qe-coverage-analysis/schemas/output.json"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"path": "qe-ref-qe-coverage-analysis/scripts/validate-config.json",
|
|
112
|
+
"sha256": "ee48023424cb990194a7bbbd0fa3175057e3b5db36deffedaabd2e36881f5c8e",
|
|
113
|
+
"upstreamPath": ".claude/skills/qe-coverage-analysis/scripts/validate-config.json"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"path": "qe-ref-qe-requirements-validation/REFERENCE.md",
|
|
117
|
+
"sha256": "e2af956e3097a36ac8f796d660a4199cb58857ee65c8db2a8de3b1a2381e4fe8",
|
|
118
|
+
"upstreamBodySha256": "050bc55a746b8341589bf2600cf939d0f3a3b1f3e588aa5aafc0ffd11b1f981c",
|
|
119
|
+
"upstreamPath": ".claude/skills/qe-requirements-validation/SKILL.md",
|
|
120
|
+
"upstreamFrontmatterSha256": "45895cb98e7a8ffaa0306250f68ed875124bbb7294cb895ac183b5fb20def20d"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"path": "qe-ref-qe-requirements-validation/evals/qe-requirements-validation.yaml",
|
|
124
|
+
"sha256": "6d2f778cf100e518376256510646de9a04a7b95507df7366eaecfbdae4295ee8",
|
|
125
|
+
"upstreamPath": ".claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"path": "qe-ref-qe-requirements-validation/schemas/output.json",
|
|
129
|
+
"sha256": "3267c56bdf01e0bc796cd52802e0d3639956575b5befb306d5d2548abe7fb1f4",
|
|
130
|
+
"upstreamPath": ".claude/skills/qe-requirements-validation/schemas/output.json"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"path": "qe-ref-qe-requirements-validation/scripts/validate-config.json",
|
|
134
|
+
"sha256": "654ecc8427172a16f287df7e2309b0a8901609096bf4d52a907820e79c65f792",
|
|
135
|
+
"upstreamPath": ".claude/skills/qe-requirements-validation/scripts/validate-config.json"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"path": "qe-ref-brutal-honesty-review/README.md",
|
|
139
|
+
"sha256": "2a026b4af50b21456e50424fbfa089cb983fbbaa0c68024c8c17c695bea25a57",
|
|
140
|
+
"upstreamPath": ".claude/skills/brutal-honesty-review/README.md"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"path": "qe-ref-brutal-honesty-review/REFERENCE.md",
|
|
144
|
+
"sha256": "22bb4f512ec3d20caea2f113b76dd3680d99184d2f32dfc8c4ce6f7b901b5921",
|
|
145
|
+
"upstreamBodySha256": "5a261a712c8435090f40ecef63012d64edfcdd2df0a60a5e46a2c371990466db",
|
|
146
|
+
"upstreamPath": ".claude/skills/brutal-honesty-review/SKILL.md",
|
|
147
|
+
"upstreamFrontmatterSha256": "5dfb2f11c45c478d77762eead8c274e6b86b6e91b60cd98b5248307d346eaec2"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"path": "qe-ref-brutal-honesty-review/resources/assessment-rubrics.md",
|
|
151
|
+
"sha256": "dac09c91c765e2211799cc230738fb72a966f47511edb872306a906e49640cbe",
|
|
152
|
+
"upstreamPath": ".claude/skills/brutal-honesty-review/resources/assessment-rubrics.md"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"path": "qe-ref-brutal-honesty-review/resources/review-template.md",
|
|
156
|
+
"sha256": "95182c8605b1d821360257e1c5dbac4300bda333d861785de417cbb84090b25b",
|
|
157
|
+
"upstreamPath": ".claude/skills/brutal-honesty-review/resources/review-template.md"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"path": "qe-ref-brutal-honesty-review/schemas/output.json",
|
|
161
|
+
"sha256": "b8c0c2c823ff8a48c6bd7d62036ac5e3ce9c71f198abd9051692564d3645eed9",
|
|
162
|
+
"upstreamPath": ".claude/skills/brutal-honesty-review/schemas/output.json"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"path": "qe-ref-brutal-honesty-review/scripts/assess-code.sh",
|
|
166
|
+
"sha256": "7e9722c1533f1b7d1a9d11a7add13ac12a2a5f0acfc0ed2cdede2bcf0dab788f",
|
|
167
|
+
"upstreamPath": ".claude/skills/brutal-honesty-review/scripts/assess-code.sh"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"path": "qe-ref-brutal-honesty-review/scripts/assess-tests.sh",
|
|
171
|
+
"sha256": "afa5acc685c9621075596058761ace9b72242abdefc088c6bbfbf25ad1978b6c",
|
|
172
|
+
"upstreamPath": ".claude/skills/brutal-honesty-review/scripts/assess-tests.sh"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"path": "qe-ref-brutal-honesty-review/scripts/validate-config.json",
|
|
176
|
+
"sha256": "7418284839f89735d01f50eefdb488b013e0076f6003a67683062429c14984c6",
|
|
177
|
+
"upstreamPath": ".claude/skills/brutal-honesty-review/scripts/validate-config.json"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"path": "qe-ref-shift-left-testing/REFERENCE.md",
|
|
181
|
+
"sha256": "3e60dccf6dc39d0745770941cab492f3080b786ec82e1b36ace5a4fca99bcb66",
|
|
182
|
+
"upstreamBodySha256": "5c23ab40a117e34f017c9ae10f7356227e8070593628148535e359492029ca51",
|
|
183
|
+
"upstreamPath": ".claude/skills/shift-left-testing/SKILL.md",
|
|
184
|
+
"upstreamFrontmatterSha256": "c68d3e1279ef411dfe7e601e5dff94665d8dfd5054b8d6ab9f7acc5427d01ef1"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"path": "qe-ref-shift-left-testing/evals/shift-left-testing.yaml",
|
|
188
|
+
"sha256": "bd78f3a8f4c2efac6357e39db73349fb324d94d657dcde97a02ae79ae4a44a3e",
|
|
189
|
+
"upstreamPath": ".claude/skills/shift-left-testing/evals/shift-left-testing.yaml"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"path": "qe-ref-shift-left-testing/schemas/output.json",
|
|
193
|
+
"sha256": "1f1c26b303ea08b1e864e0ad48ec71a588b25704e7f21459539363c88f406166",
|
|
194
|
+
"upstreamPath": ".claude/skills/shift-left-testing/schemas/output.json"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"path": "qe-ref-shift-left-testing/scripts/validate-config.json",
|
|
198
|
+
"sha256": "ba8aab0c04f21731b63dda53fa5c64bbc2a892e6f13c76b99f58864f5bba2956",
|
|
199
|
+
"upstreamPath": ".claude/skills/shift-left-testing/scripts/validate-config.json"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"path": "qe-ref-risk-based-testing/REFERENCE.md",
|
|
203
|
+
"sha256": "369447d4903cd1265f78e8ed69be3f085a901f5015c79fa20d218497147837a7",
|
|
204
|
+
"upstreamBodySha256": "22ee476e13268a23f7e6c641d2f2f37ed2b7cfda0456367a1159cf2fe698821f",
|
|
205
|
+
"upstreamPath": ".claude/skills/risk-based-testing/SKILL.md",
|
|
206
|
+
"upstreamFrontmatterSha256": "120a81584210e8895f4ae90860f9ba83d4f931057f955707626c00a62fcef3fe"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"path": "qe-ref-risk-based-testing/evals/risk-based-testing.yaml",
|
|
210
|
+
"sha256": "eaa33701c0728c741b06169e1ee54ba3edd0aa034213624b2ac33f3911c91e8e",
|
|
211
|
+
"upstreamPath": ".claude/skills/risk-based-testing/evals/risk-based-testing.yaml"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"path": "qe-ref-risk-based-testing/schemas/output.json",
|
|
215
|
+
"sha256": "c5437704333f64c35d13421d4b2a84f2c84658f0bafba653cbfa4acd8e0aa73a",
|
|
216
|
+
"upstreamPath": ".claude/skills/risk-based-testing/schemas/output.json"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"path": "qe-ref-risk-based-testing/scripts/validate-config.json",
|
|
220
|
+
"sha256": "c6f9f14da0875db2b14b48c8bc53c631af907a15f65a07e34053268efc58f7b2",
|
|
221
|
+
"upstreamPath": ".claude/skills/risk-based-testing/scripts/validate-config.json"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"path": "qe-ref-regression-testing/REFERENCE.md",
|
|
225
|
+
"sha256": "b66f58f233a0d8e11efc995dd0d588aabfadc0ab489bd9a223b3b77f46371406",
|
|
226
|
+
"upstreamBodySha256": "4ae8e621bfac77c18accaaa27d33f43206c299b77a69e5a0c93149e1bcf3cd78",
|
|
227
|
+
"upstreamPath": ".claude/skills/regression-testing/SKILL.md",
|
|
228
|
+
"upstreamFrontmatterSha256": "c0745ae4125ede985b785574e929845c8ca97ab0b83e38e3c963a2ba11ff1d29"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"path": "qe-ref-regression-testing/evals/regression-testing.yaml",
|
|
232
|
+
"sha256": "186f58281db454d32d15806271c986ca894f38350585ee3fa68a65b736f4c989",
|
|
233
|
+
"upstreamPath": ".claude/skills/regression-testing/evals/regression-testing.yaml"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"path": "qe-ref-regression-testing/schemas/output.json",
|
|
237
|
+
"sha256": "11aa506b771c1078b30c57f2e706abd69efb141b00c62b8d29f7bf6866f30d11",
|
|
238
|
+
"upstreamPath": ".claude/skills/regression-testing/schemas/output.json"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"path": "qe-ref-regression-testing/scripts/validate-config.json",
|
|
242
|
+
"sha256": "16dd3267fd849d3543388edb31fcc4fee435f4f5eca55646cfba12bb41ed5ab9",
|
|
243
|
+
"upstreamPath": ".claude/skills/regression-testing/scripts/validate-config.json"
|
|
244
|
+
}
|
|
245
|
+
]
|
|
246
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# Brutal Honesty Review Skill
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
A QE skill that delivers unvarnished technical criticism combining three legendary personas:
|
|
6
|
+
- **Linus Torvalds**: Surgical technical precision
|
|
7
|
+
- **Gordon Ramsay**: Standards-driven quality assessment
|
|
8
|
+
- **James Bach**: BS detection in testing practices
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Unlike diplomatic reviews, this skill eliminates ambiguity about technical standards. It **dissects why something is wrong, explains the correct approach, and has zero patience for repeated mistakes or sloppy thinking**.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
✅ **Appropriate**:
|
|
17
|
+
- Senior engineers wanting unfiltered feedback
|
|
18
|
+
- Repeated architectural mistakes
|
|
19
|
+
- Critical bugs requiring immediate attention
|
|
20
|
+
- Evaluating vendor claims/certifications
|
|
21
|
+
- Teams explicitly requesting no-BS feedback
|
|
22
|
+
|
|
23
|
+
❌ **Inappropriate**:
|
|
24
|
+
- Junior developers' first contributions
|
|
25
|
+
- Demoralized teams
|
|
26
|
+
- Public forums (avoid humiliation)
|
|
27
|
+
- When psychological safety is low
|
|
28
|
+
|
|
29
|
+
## Three Modes
|
|
30
|
+
|
|
31
|
+
### 1. Linus Mode (Technical Precision)
|
|
32
|
+
Focus on code correctness, performance, concurrency, and architecture.
|
|
33
|
+
|
|
34
|
+
**Example**:
|
|
35
|
+
> "This is completely broken. You're holding the lock during I/O, which means every thread serializes. Did you even test under load? The correct approach is..."
|
|
36
|
+
|
|
37
|
+
### 2. Ramsay Mode (Standards-Driven Quality)
|
|
38
|
+
Compare reality against clear excellence model using concrete metrics.
|
|
39
|
+
|
|
40
|
+
**Example**:
|
|
41
|
+
> "Look at this! 12 tests and 10 are just checking if variables exist. Where's the business logic coverage? This is RAW. Don't merge it."
|
|
42
|
+
|
|
43
|
+
### 3. Bach Mode (BS Detection)
|
|
44
|
+
Question certifications, best practices, and vendor hype.
|
|
45
|
+
|
|
46
|
+
**Example**:
|
|
47
|
+
> "This certification teaches scripts, not thinking. Does it help testers find bugs faster? No. It helps the cert body make money."
|
|
48
|
+
|
|
49
|
+
## Quick Start
|
|
50
|
+
|
|
51
|
+
### Using the Skill
|
|
52
|
+
|
|
53
|
+
Invoke the skill when you need brutal honesty:
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
Use brutal-honesty-review skill in Linus mode to review this code:
|
|
57
|
+
[paste code]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Using Assessment Scripts
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Assess code quality (Linus Mode)
|
|
64
|
+
./scripts/assess-code.sh src/myfile.js
|
|
65
|
+
|
|
66
|
+
# Assess test quality (Ramsay Mode)
|
|
67
|
+
./scripts/assess-tests.sh tests/
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Files Included
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
brutal-honesty-review/
|
|
74
|
+
├── SKILL.md # Main skill instructions
|
|
75
|
+
├── README.md # This file
|
|
76
|
+
├── resources/
|
|
77
|
+
│ ├── review-template.md # Template for structured reviews
|
|
78
|
+
│ └── assessment-rubrics.md # Scoring rubrics for all modes
|
|
79
|
+
└── scripts/
|
|
80
|
+
├── assess-code.sh # Automated code quality check
|
|
81
|
+
└── assess-tests.sh # Automated test quality check
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Assessment Rubrics
|
|
85
|
+
|
|
86
|
+
### Code Quality (Linus Mode)
|
|
87
|
+
|
|
88
|
+
| Criteria | Failing | Passing | Excellent |
|
|
89
|
+
|----------|---------|---------|-----------|
|
|
90
|
+
| Correctness | Wrong logic | Works in tested cases | Proven across edge cases |
|
|
91
|
+
| Performance | O(n²) where O(n) exists | Acceptable | Optimal + profiled |
|
|
92
|
+
| Error Handling | Crashes | Returns errors | Graceful degradation |
|
|
93
|
+
| Concurrency | Race conditions | Thread-safe | Lock-free/proven |
|
|
94
|
+
| Testability | Can't unit test | Mockable | Self-testing |
|
|
95
|
+
| Maintainability | "Clever" code | Clear | Self-documenting |
|
|
96
|
+
|
|
97
|
+
**Threshold**: Minimum "Passing" on ALL to merge.
|
|
98
|
+
|
|
99
|
+
### Test Quality (Ramsay Mode)
|
|
100
|
+
|
|
101
|
+
| Criteria | Raw | Acceptable | Michelin Star |
|
|
102
|
+
|----------|-----|------------|---------------|
|
|
103
|
+
| Coverage | <50% | 80%+ | 95%+ + mutation |
|
|
104
|
+
| Edge Cases | Happy path only | Common failures | Boundary analysis |
|
|
105
|
+
| Clarity | Unclear names | Clear names | Self-documenting |
|
|
106
|
+
| Speed | Minutes | <10s | <1s, parallel |
|
|
107
|
+
| Stability | Flaky (>1%) | Stable | Deterministic |
|
|
108
|
+
| Isolation | Dependent | Independent | Pure, stateless |
|
|
109
|
+
|
|
110
|
+
**Threshold**: Minimum "Acceptable" on ALL to merge.
|
|
111
|
+
|
|
112
|
+
### BS Detection (Bach Mode)
|
|
113
|
+
|
|
114
|
+
Red flags:
|
|
115
|
+
- Cargo cult practices (no context)
|
|
116
|
+
- Certification theater (filters thinkers)
|
|
117
|
+
- Vendor lock-in (solves own problem)
|
|
118
|
+
- False automation (still needs humans)
|
|
119
|
+
- Checkbox quality (compliance, not outcomes)
|
|
120
|
+
- Hype cycle (10x claims without proof)
|
|
121
|
+
|
|
122
|
+
**Green flag test**: "Does this help testers/developers do better work in THIS context?"
|
|
123
|
+
|
|
124
|
+
## Examples
|
|
125
|
+
|
|
126
|
+
### Example 1: Linus Mode - Concurrency Bug
|
|
127
|
+
|
|
128
|
+
**Problem**: Holding DB connection during HTTP call
|
|
129
|
+
|
|
130
|
+
**Brutal Honesty**:
|
|
131
|
+
> "This is completely broken. You're holding a database connection open while waiting for an HTTP request. Under load, you'll exhaust the connection pool in seconds. Did you test with >1 user? The correct approach: 1) Fetch data, 2) Close connection, 3) Make HTTP call."
|
|
132
|
+
|
|
133
|
+
### Example 2: Ramsay Mode - Weak Tests
|
|
134
|
+
|
|
135
|
+
**Problem**: 15 tests, all happy path
|
|
136
|
+
|
|
137
|
+
**Brutal Honesty**:
|
|
138
|
+
> "Look at this test suite. 15 tests, 14 are happy path. Where's validation? Where are edge cases? This is RAW. You're testing if code runs, not if it's correct. You have 35% coverage. Production needs 80%+. Don't merge this."
|
|
139
|
+
|
|
140
|
+
### Example 3: Bach Mode - Certification Theater
|
|
141
|
+
|
|
142
|
+
**Problem**: Required ISTQB certification
|
|
143
|
+
|
|
144
|
+
**Brutal Honesty**:
|
|
145
|
+
> "ISTQB tests if you memorized terminology, not if you can test software. Real skills: finding bugs, designing strategies, communicating risk. ISTQB tests: definitions, model names, checkbox thinking. If it helped, ISTQB-certified teams would ship higher quality. They don't."
|
|
146
|
+
|
|
147
|
+
## Calibration Guide
|
|
148
|
+
|
|
149
|
+
### Harshness Levels
|
|
150
|
+
|
|
151
|
+
**Level 1 - Direct**: For experienced engineers
|
|
152
|
+
> "This approach is flawed because..."
|
|
153
|
+
|
|
154
|
+
**Level 2 - Harsh**: For repeated mistakes
|
|
155
|
+
> "We've discussed this pattern three times. Why is it back?"
|
|
156
|
+
|
|
157
|
+
**Level 3 - Brutal**: For critical issues or willful ignorance
|
|
158
|
+
> "This is negligent. You're exposing user data because..."
|
|
159
|
+
|
|
160
|
+
### Context Matters
|
|
161
|
+
|
|
162
|
+
Before being brutal, verify:
|
|
163
|
+
1. **Audience maturity**: Can they handle directness?
|
|
164
|
+
2. **Relationship capital**: Have you earned harsh feedback rights?
|
|
165
|
+
3. **Actionability**: Can they actually fix this?
|
|
166
|
+
4. **Intent**: Helping or venting?
|
|
167
|
+
|
|
168
|
+
## Philosophy
|
|
169
|
+
|
|
170
|
+
### Why Brutal Honesty Works
|
|
171
|
+
|
|
172
|
+
1. **Eliminates Ambiguity**: No confusion about technical standards
|
|
173
|
+
2. **Scales Teaching**: Public technical breakdown teaches entire team
|
|
174
|
+
3. **Cuts Through BS**: Exposes cargo cult practices and vendor hype
|
|
175
|
+
|
|
176
|
+
### The Costs
|
|
177
|
+
|
|
178
|
+
1. **Relationship Damage**: Harsh criticism without trust destroys collaboration
|
|
179
|
+
2. **Chills Participation**: Fear stops newcomers from contributing
|
|
180
|
+
3. **Burnout**: Constant harshness is exhausting
|
|
181
|
+
|
|
182
|
+
### The Contract
|
|
183
|
+
|
|
184
|
+
Before using brutal honesty, establish explicit contract:
|
|
185
|
+
|
|
186
|
+
> "I'm going to give unfiltered technical feedback. This will be direct, possibly harsh. Goal is clarity, not cruelty. I'll explain: 1) What's wrong, 2) Why, 3) What correct looks like, 4) How to fix. Want diplomatic instead?"
|
|
187
|
+
|
|
188
|
+
**Get explicit consent first.**
|
|
189
|
+
|
|
190
|
+
## Integration with Agentic QE Fleet
|
|
191
|
+
|
|
192
|
+
This skill extends the QE skill set:
|
|
193
|
+
|
|
194
|
+
- **Complements**: `code-review-quality`, `context-driven-testing`
|
|
195
|
+
- **Contrasts with**: Diplomatic, constructive review approaches
|
|
196
|
+
- **Use when**: Technical precision and BS-cutting are priorities
|
|
197
|
+
- **Avoid when**: Building confidence or psychological safety
|
|
198
|
+
|
|
199
|
+
## Related Skills
|
|
200
|
+
|
|
201
|
+
- `code-review-quality` - Diplomatic code review
|
|
202
|
+
- `context-driven-testing` - Foundation for BS detection
|
|
203
|
+
- `tdd-london-chicago` - Systematic quality approach
|
|
204
|
+
- `exploratory-testing-advanced` - Critical thinking in testing
|
|
205
|
+
|
|
206
|
+
## License
|
|
207
|
+
|
|
208
|
+
MIT - Part of Agentic QE Fleet
|
|
209
|
+
|
|
210
|
+
## Contributing
|
|
211
|
+
|
|
212
|
+
Found this too harsh? Good. Found this too soft? You're Linus Torvalds.
|
|
213
|
+
|
|
214
|
+
Submit issues if the skill produces ineffective criticism (not actionable, personal attacks, wrong context).
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
**Remember**: Brutal honesty is a tool, not a personality. Use it when it helps, not when it harms.
|
|
@@ -15,9 +15,18 @@ trust_tier: 2
|
|
|
15
15
|
validation:
|
|
16
16
|
schema_path: schemas/output.json
|
|
17
17
|
validator_path: scripts/validate-config.json
|
|
18
|
-
|
|
19
18
|
---
|
|
20
19
|
|
|
20
|
+
<!-- Vendored from https://github.com/proffesor-for-testing/agentic-qe at 0a6de058575cbe292afe220df105cc74120f7674 (MIT, Copyright (c) 2025 Agentic QE Contributors), 2026-10-23. Bundled references do not install aqe, MCP tools, pattern memory, or fleet runtime. See ../LICENSE.agentic-qe and ../README.md. -->
|
|
21
|
+
|
|
22
|
+
## Keysarium execution adapter
|
|
23
|
+
|
|
24
|
+
This pinned upstream body is methodology inside the bundled feature-ADR pipeline. In Reference Mode, the feature-ADR module that loaded this file owns orchestration and checkpoints. Use the reasoning and output shape below with the host's available tools. Do not treat upstream `aqe` CLI/MCP calls, named agent roles, browser tools, or example absolute paths as installed capabilities. Name a missing capability or evidence in the checkpoint instead of reporting that an upstream step ran. The schemas and eval files are bundled for explicit validation; bundling them does not run those checks automatically.
|
|
25
|
+
|
|
26
|
+
Relative paths such as `schemas/output.json`, `evals/...` and `steps/...` resolve from this skill directory under `references/agentic-qe/`. When Direct Mode has a separately installed `aqe` runtime, follow the feature-ADR module's direct-mode branch and verify that each required runtime capability is actually available.
|
|
27
|
+
|
|
28
|
+
<!-- BEGIN AGENTIC-QE UPSTREAM BODY -->
|
|
29
|
+
|
|
21
30
|
# Brutal Honesty Review
|
|
22
31
|
|
|
23
32
|
<default_to_action>
|
|
@@ -39,6 +48,9 @@ When brutal honesty is needed:
|
|
|
39
48
|
- Level 3 (Brutal): "This is negligent. You're exposing user data because..."
|
|
40
49
|
|
|
41
50
|
**DO NOT USE FOR:** Junior devs' first PRs, demoralized teams, public forums, low psychological safety
|
|
51
|
+
|
|
52
|
+
## Minimum Findings Enforcement
|
|
53
|
+
All brutal honesty reviews enforce a minimum of 3 weighted findings (CRITICAL=3, HIGH=2, MEDIUM=1, LOW=0.5). If the initial review finds fewer, escalate to deeper analysis. Brutally honest reviewers should ALWAYS find something -- if you can't, explain exactly why with evidence.
|
|
42
54
|
</default_to_action>
|
|
43
55
|
|
|
44
56
|
## Quick Reference Card
|
|
@@ -238,3 +250,4 @@ const reviewFleet = await FleetManager.coordinate({
|
|
|
238
250
|
**Brutal honesty eliminates ambiguity but has costs.** Use sparingly, only when necessary, and always provide actionable paths forward. Attack the work, never the worker.
|
|
239
251
|
|
|
240
252
|
**The Brutal Honesty Contract**: Get explicit consent. "I'm going to give unfiltered technical feedback. This will be direct, possibly harsh. The goal is clarity, not cruelty."
|
|
253
|
+
<!-- END AGENTIC-QE UPSTREAM BODY -->
|