@rfxlamia/skillkit 1.0.0 → 1.2.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.
Files changed (269) hide show
  1. package/agents/agents/creative-copywriter.md +212 -0
  2. package/agents/agents/dario-amodei.md +135 -0
  3. package/agents/agents/doc-simplifier.md +63 -0
  4. package/agents/agents/kotlin-pro.md +433 -0
  5. package/agents/agents/red-team.md +136 -0
  6. package/agents/agents/sam-altman.md +121 -0
  7. package/agents/agents/seo-manager.md +184 -0
  8. package/package.json +7 -2
  9. package/skills/quick-spec/tests/__pycache__/test_skill.cpython-314-pytest-9.0.2.pyc +0 -0
  10. package/skills/skillkit/.claude/settings.local.json +7 -0
  11. package/skills/skillkit/scripts/__pycache__/decision_helper.cpython-314.pyc +0 -0
  12. package/skills/skillkit/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
  13. package/skills/skillkit/scripts/__pycache__/quick_validate.cpython-314.pyc +0 -0
  14. package/skills/skillkit/scripts/__pycache__/test_generator.cpython-314-pytest-9.0.2.pyc +0 -0
  15. package/skills/skillkit/scripts/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  16. package/skills/skillkit/scripts/utils/__pycache__/__init__.cpython-314.pyc +0 -0
  17. package/skills/skillkit/scripts/utils/__pycache__/budget_tracker.cpython-312.pyc +0 -0
  18. package/skills/skillkit/scripts/utils/__pycache__/budget_tracker.cpython-314.pyc +0 -0
  19. package/skills/skillkit/scripts/utils/__pycache__/output_formatter.cpython-312.pyc +0 -0
  20. package/skills/skillkit/scripts/utils/__pycache__/output_formatter.cpython-314.pyc +0 -0
  21. package/skills/skillkit/scripts/utils/__pycache__/reference_validator.cpython-312.pyc +0 -0
  22. package/skills/skillkit/scripts/utils/__pycache__/reference_validator.cpython-314.pyc +0 -0
  23. package/skills/skillkit-help/SKILL.md +81 -0
  24. package/skills/skillkit-help/knowledge/application/09-case-studies.md +257 -0
  25. package/skills/skillkit-help/knowledge/application/12-testing-and-validation.md +276 -0
  26. package/skills/skillkit-help/knowledge/foundation/01-why-skills-exist.md +246 -0
  27. package/skills/skillkit-help/knowledge/foundation/02-skills-vs-subagents-comparison.md +312 -0
  28. package/skills/skillkit-help/knowledge/foundation/03-skills-vs-subagents-decision-tree.md +346 -0
  29. package/skills/skillkit-help/knowledge/foundation/06-platform-constraints.md +237 -0
  30. package/skills/skillkit-help/knowledge/foundation/08-when-not-to-use-skills.md +270 -0
  31. package/skills/skillkit-help/template/SKILL.md +52 -0
  32. package/skills/skills/adversarial-review/SKILL.md +219 -0
  33. package/skills/skills/baby-education/SKILL.md +260 -0
  34. package/skills/skills/baby-education/references/advanced-techniques.md +323 -0
  35. package/skills/skills/baby-education/references/transformations.md +345 -0
  36. package/skills/skills/been-there-done-that/SKILL.md +455 -0
  37. package/skills/skills/been-there-done-that/references/analysis-patterns.md +162 -0
  38. package/skills/skills/been-there-done-that/references/git-commands.md +132 -0
  39. package/skills/skills/been-there-done-that/references/tree-insertion-logic.md +145 -0
  40. package/skills/skills/coolhunter/SKILL.md +270 -0
  41. package/skills/skills/coolhunter/assets/elicitation-methods.csv +51 -0
  42. package/skills/skills/coolhunter/knowledge/elicitation-methods.md +312 -0
  43. package/skills/skills/coolhunter/references/workflow-execution.md +238 -0
  44. package/skills/skills/coolhunter/workflow-plan-coolhunter.md +232 -0
  45. package/skills/skills/creative-copywriting/SKILL.md +324 -0
  46. package/skills/skills/creative-copywriting/databases/README.md +60 -0
  47. package/skills/skills/creative-copywriting/databases/carousel-structures.csv +16 -0
  48. package/skills/skills/creative-copywriting/databases/emotional-arcs.csv +11 -0
  49. package/skills/skills/creative-copywriting/databases/hook-formulas.csv +51 -0
  50. package/skills/skills/creative-copywriting/databases/power-words.csv +201 -0
  51. package/skills/skills/creative-copywriting/databases/psychological-triggers.csv +21 -0
  52. package/skills/skills/creative-copywriting/databases/read-more-patterns.csv +26 -0
  53. package/skills/skills/creative-copywriting/databases/swipe-triggers.csv +31 -0
  54. package/skills/skills/creative-copywriting/references/carousel-psychology.md +223 -0
  55. package/skills/skills/creative-copywriting/references/hook-anatomy.md +169 -0
  56. package/skills/skills/creative-copywriting/references/power-word-science.md +134 -0
  57. package/skills/skills/creative-copywriting/references/storytelling-frameworks.md +157 -0
  58. package/skills/skills/diverse-content-gen/SKILL.md +201 -0
  59. package/skills/skills/diverse-content-gen/references/advanced-techniques.md +320 -0
  60. package/skills/skills/diverse-content-gen/references/research-findings.md +379 -0
  61. package/skills/skills/diverse-content-gen/references/task-workflows.md +241 -0
  62. package/skills/skills/diverse-content-gen/references/tool-integration.md +419 -0
  63. package/skills/skills/diverse-content-gen/references/troubleshooting.md +426 -0
  64. package/skills/skills/diverse-content-gen/references/vs-core-technique.md +240 -0
  65. package/skills/skills/framework-critical-thinking/SKILL.md +220 -0
  66. package/skills/skills/framework-critical-thinking/references/bias_detector.md +375 -0
  67. package/skills/skills/framework-critical-thinking/references/fallback_handler.md +239 -0
  68. package/skills/skills/framework-critical-thinking/references/memory_curator.md +161 -0
  69. package/skills/skills/framework-critical-thinking/references/metacognitive_monitor.md +297 -0
  70. package/skills/skills/framework-critical-thinking/references/producer_critic_orchestrator.md +333 -0
  71. package/skills/skills/framework-critical-thinking/references/reasoning_router.md +235 -0
  72. package/skills/skills/framework-critical-thinking/references/reasoning_validator.md +97 -0
  73. package/skills/skills/framework-critical-thinking/references/reflection_trigger.md +78 -0
  74. package/skills/skills/framework-critical-thinking/references/self_verification.md +388 -0
  75. package/skills/skills/framework-critical-thinking/references/uncertainty_quantifier.md +207 -0
  76. package/skills/skills/framework-initiative/SKILL.md +231 -0
  77. package/skills/skills/framework-initiative/references/examples.md +150 -0
  78. package/skills/skills/framework-initiative/references/impact-analysis.md +157 -0
  79. package/skills/skills/framework-initiative/references/intent-patterns.md +145 -0
  80. package/skills/skills/framework-initiative/references/star-framework.md +165 -0
  81. package/skills/skills/humanize-docs/SKILL.md +203 -0
  82. package/skills/skills/humanize-docs/references/advanced-techniques.md +13 -0
  83. package/skills/skills/humanize-docs/references/core-transformations.md +368 -0
  84. package/skills/skills/humanize-docs/references/detection-patterns.md +400 -0
  85. package/skills/skills/humanize-docs/references/examples-gallery.md +374 -0
  86. package/skills/skills/imagine/SKILL.md +190 -0
  87. package/skills/skills/imagine/references/artstyle-corporate-memphis.md +625 -0
  88. package/skills/skills/imagine/references/artstyle-crewdson-hyperrealism.md +295 -0
  89. package/skills/skills/imagine/references/artstyle-iphone-social-media.md +426 -0
  90. package/skills/skills/imagine/references/artstyle-sciencesaru.md +276 -0
  91. package/skills/skills/pre-deploy-checklist/README.md +26 -0
  92. package/skills/skills/pre-deploy-checklist/SKILL.md +153 -0
  93. package/skills/skills/pre-deploy-checklist/references/checklist-categories.md +174 -0
  94. package/skills/skills/pre-deploy-checklist/references/domain-prompts.md +216 -0
  95. package/skills/skills/prompt-engineering/SKILL.md +209 -0
  96. package/skills/skills/prompt-engineering/references/advanced-combinations.md +444 -0
  97. package/skills/skills/prompt-engineering/references/chain-of-thought.md +140 -0
  98. package/skills/skills/prompt-engineering/references/decision_matrix.md +220 -0
  99. package/skills/skills/prompt-engineering/references/few-shot.md +346 -0
  100. package/skills/skills/prompt-engineering/references/json-format.md +270 -0
  101. package/skills/skills/prompt-engineering/references/natural-language.md +420 -0
  102. package/skills/skills/prompt-engineering/references/pitfalls.md +365 -0
  103. package/skills/skills/prompt-engineering/references/prompt-chaining.md +498 -0
  104. package/skills/skills/prompt-engineering/references/react.md +108 -0
  105. package/skills/skills/prompt-engineering/references/self-consistency.md +322 -0
  106. package/skills/skills/prompt-engineering/references/tree-of-thoughts.md +386 -0
  107. package/skills/skills/prompt-engineering/references/xml-format.md +220 -0
  108. package/skills/skills/prompt-engineering/references/yaml-format.md +488 -0
  109. package/skills/skills/prompt-engineering/references/zero-shot.md +74 -0
  110. package/skills/skills/quick-spec/SKILL.md +280 -0
  111. package/skills/skills/quick-spec/assets/tech-spec-template.md +74 -0
  112. package/skills/skills/quick-spec/references/step-01-understand.md +189 -0
  113. package/skills/skills/quick-spec/references/step-02-investigate.md +144 -0
  114. package/skills/skills/quick-spec/references/step-03-generate.md +128 -0
  115. package/skills/skills/quick-spec/references/step-04-review.md +173 -0
  116. package/skills/skills/quick-spec/tests/__pycache__/test_skill.cpython-314-pytest-9.0.2.pyc +0 -0
  117. package/skills/skills/quick-spec/tests/test_scenarios.md +83 -0
  118. package/skills/skills/quick-spec/tests/test_skill.py +136 -0
  119. package/skills/skills/readme-expert/SKILL.md +538 -0
  120. package/skills/skills/readme-expert/knowledge/INDEX.md +192 -0
  121. package/skills/skills/readme-expert/knowledge/application/quality-standards.md +470 -0
  122. package/skills/skills/readme-expert/knowledge/application/script-executor.md +604 -0
  123. package/skills/skills/readme-expert/knowledge/application/template-library.md +822 -0
  124. package/skills/skills/readme-expert/knowledge/foundation/codebase-scanner.md +361 -0
  125. package/skills/skills/readme-expert/knowledge/foundation/validation-checklist.md +481 -0
  126. package/skills/skills/red-teaming/SKILL.md +321 -0
  127. package/skills/skills/red-teaming/references/ai-llm-redteam.md +517 -0
  128. package/skills/skills/red-teaming/references/attack-techniques.md +410 -0
  129. package/skills/skills/red-teaming/references/cybersecurity-redteam.md +383 -0
  130. package/skills/skills/red-teaming/references/tools-frameworks.md +446 -0
  131. package/skills/skills/releasing/.skillkit-mode +1 -0
  132. package/skills/skills/releasing/SKILL.md +225 -0
  133. package/skills/skills/releasing/references/version-detection.md +108 -0
  134. package/skills/skills/screenwriter/SKILL.md +273 -0
  135. package/skills/skills/screenwriter/references/advanced-techniques.md +216 -0
  136. package/skills/skills/screenwriter/references/pipeline-integration.md +266 -0
  137. package/skills/skills/skillkit/.claude/settings.local.json +7 -0
  138. package/skills/skills/skillkit/.claude-plugin/plugin.json +27 -0
  139. package/skills/skills/skillkit/CHANGELOG.md +484 -0
  140. package/skills/skills/skillkit/SKILL.md +511 -0
  141. package/skills/skills/skillkit/commands/skillkit.md +6 -0
  142. package/skills/skills/skillkit/commands/validate-plan.md +6 -0
  143. package/skills/skills/skillkit/commands/verify.md +6 -0
  144. package/skills/skills/skillkit/knowledge/INDEX.md +352 -0
  145. package/skills/skills/skillkit/knowledge/application/09-case-studies.md +257 -0
  146. package/skills/skills/skillkit/knowledge/application/10-technical-architecture.md +324 -0
  147. package/skills/skills/skillkit/knowledge/application/11-adoption-strategy.md +267 -0
  148. package/skills/skills/skillkit/knowledge/application/12-testing-and-validation.md +276 -0
  149. package/skills/skills/skillkit/knowledge/application/13-competitive-landscape.md +198 -0
  150. package/skills/skills/skillkit/knowledge/foundation/01-why-skills-exist.md +246 -0
  151. package/skills/skills/skillkit/knowledge/foundation/02-skills-vs-subagents-comparison.md +312 -0
  152. package/skills/skills/skillkit/knowledge/foundation/03-skills-vs-subagents-decision-tree.md +346 -0
  153. package/skills/skills/skillkit/knowledge/foundation/04-hybrid-patterns.md +308 -0
  154. package/skills/skills/skillkit/knowledge/foundation/05-token-economics.md +275 -0
  155. package/skills/skills/skillkit/knowledge/foundation/06-platform-constraints.md +237 -0
  156. package/skills/skills/skillkit/knowledge/foundation/07-security-concerns.md +322 -0
  157. package/skills/skills/skillkit/knowledge/foundation/08-when-not-to-use-skills.md +270 -0
  158. package/skills/skills/skillkit/knowledge/plugin-guide.md +614 -0
  159. package/skills/skills/skillkit/knowledge/tools/14-validation-tools-guide.md +150 -0
  160. package/skills/skills/skillkit/knowledge/tools/15-cost-tools-guide.md +157 -0
  161. package/skills/skills/skillkit/knowledge/tools/16-security-tools-guide.md +122 -0
  162. package/skills/skills/skillkit/knowledge/tools/17-pattern-tools-guide.md +161 -0
  163. package/skills/skills/skillkit/knowledge/tools/18-decision-helper-guide.md +243 -0
  164. package/skills/skills/skillkit/knowledge/tools/19-test-generator-guide.md +275 -0
  165. package/skills/skills/skillkit/knowledge/tools/20-split-skill-guide.md +149 -0
  166. package/skills/skills/skillkit/knowledge/tools/21-quality-scorer-guide.md +226 -0
  167. package/skills/skills/skillkit/knowledge/tools/22-migration-helper-guide.md +356 -0
  168. package/skills/skills/skillkit/knowledge/tools/23-subagent-creation-guide.md +448 -0
  169. package/skills/skills/skillkit/knowledge/tools/24-behavioral-testing-guide.md +122 -0
  170. package/skills/skills/skillkit/references/proposal-generation.md +982 -0
  171. package/skills/skills/skillkit/references/rationalization-catalog.md +75 -0
  172. package/skills/skills/skillkit/references/research-methodology.md +661 -0
  173. package/skills/skills/skillkit/references/section-2-full-creation-workflow.md +452 -0
  174. package/skills/skills/skillkit/references/section-3-validation-workflow-existing-skill.md +63 -0
  175. package/skills/skills/skillkit/references/section-4-decision-workflow-skills-vs-subagents.md +64 -0
  176. package/skills/skills/skillkit/references/section-5-migration-workflow-doc-to-skill.md +58 -0
  177. package/skills/skills/skillkit/references/section-6-subagent-creation-workflow.md +499 -0
  178. package/skills/skills/skillkit/references/section-7-knowledge-reference-map.md +72 -0
  179. package/skills/skills/skillkit/scripts/__pycache__/decision_helper.cpython-314.pyc +0 -0
  180. package/skills/skills/skillkit/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
  181. package/skills/skills/skillkit/scripts/__pycache__/quick_validate.cpython-314.pyc +0 -0
  182. package/skills/skills/skillkit/scripts/__pycache__/test_generator.cpython-314-pytest-9.0.2.pyc +0 -0
  183. package/skills/skills/skillkit/scripts/decision_helper.py +799 -0
  184. package/skills/skills/skillkit/scripts/init_skill.py +400 -0
  185. package/skills/skills/skillkit/scripts/init_subagent.py +231 -0
  186. package/skills/skills/skillkit/scripts/migration_helper.py +669 -0
  187. package/skills/skills/skillkit/scripts/package_skill.py +211 -0
  188. package/skills/skills/skillkit/scripts/pattern_detector.py +381 -0
  189. package/skills/skills/skillkit/scripts/pattern_detector_new.py +382 -0
  190. package/skills/skills/skillkit/scripts/pressure_tester.py +157 -0
  191. package/skills/skills/skillkit/scripts/quality_scorer.py +999 -0
  192. package/skills/skills/skillkit/scripts/quick_validate.py +100 -0
  193. package/skills/skills/skillkit/scripts/security_scanner.py +474 -0
  194. package/skills/skills/skillkit/scripts/split_skill.py +540 -0
  195. package/skills/skills/skillkit/scripts/test_generator.py +695 -0
  196. package/skills/skills/skillkit/scripts/token_estimator.py +493 -0
  197. package/skills/skills/skillkit/scripts/utils/__init__.py +49 -0
  198. package/skills/skills/skillkit/scripts/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  199. package/skills/skills/skillkit/scripts/utils/__pycache__/__init__.cpython-314.pyc +0 -0
  200. package/skills/skills/skillkit/scripts/utils/__pycache__/budget_tracker.cpython-312.pyc +0 -0
  201. package/skills/skills/skillkit/scripts/utils/__pycache__/budget_tracker.cpython-314.pyc +0 -0
  202. package/skills/skills/skillkit/scripts/utils/__pycache__/output_formatter.cpython-312.pyc +0 -0
  203. package/skills/skills/skillkit/scripts/utils/__pycache__/output_formatter.cpython-314.pyc +0 -0
  204. package/skills/skills/skillkit/scripts/utils/__pycache__/reference_validator.cpython-312.pyc +0 -0
  205. package/skills/skills/skillkit/scripts/utils/__pycache__/reference_validator.cpython-314.pyc +0 -0
  206. package/skills/skills/skillkit/scripts/utils/budget_tracker.py +388 -0
  207. package/skills/skills/skillkit/scripts/utils/output_formatter.py +263 -0
  208. package/skills/skills/skillkit/scripts/utils/reference_validator.py +401 -0
  209. package/skills/skills/skillkit/scripts/validate_skill.py +594 -0
  210. package/skills/skills/skillkit/tests/test_behavioral.py +39 -0
  211. package/skills/skills/skillkit/tests/test_scenarios.md +83 -0
  212. package/skills/skills/skillkit/tests/test_skill.py +136 -0
  213. package/skills/skills/skillkit-help/SKILL.md +81 -0
  214. package/skills/skills/skillkit-help/knowledge/application/09-case-studies.md +257 -0
  215. package/skills/skills/skillkit-help/knowledge/application/12-testing-and-validation.md +276 -0
  216. package/skills/skills/skillkit-help/knowledge/foundation/01-why-skills-exist.md +246 -0
  217. package/skills/skills/skillkit-help/knowledge/foundation/02-skills-vs-subagents-comparison.md +312 -0
  218. package/skills/skills/skillkit-help/knowledge/foundation/03-skills-vs-subagents-decision-tree.md +346 -0
  219. package/skills/skills/skillkit-help/knowledge/foundation/06-platform-constraints.md +237 -0
  220. package/skills/skills/skillkit-help/knowledge/foundation/08-when-not-to-use-skills.md +270 -0
  221. package/skills/skills/skillkit-help/template/SKILL.md +52 -0
  222. package/skills/skills/social-media-seo/SKILL.md +278 -0
  223. package/skills/skills/social-media-seo/databases/caption-styles.csv +31 -0
  224. package/skills/skills/social-media-seo/databases/engagement-tactics.csv +16 -0
  225. package/skills/skills/social-media-seo/databases/hashtag-strategies.csv +21 -0
  226. package/skills/skills/social-media-seo/databases/hook-formulas.csv +26 -0
  227. package/skills/skills/social-media-seo/databases/keyword-clusters.csv +11 -0
  228. package/skills/skills/social-media-seo/databases/thread-structures.csv +26 -0
  229. package/skills/skills/social-media-seo/databases/viral-patterns.csv +21 -0
  230. package/skills/skills/social-media-seo/references/analytics-guide.md +321 -0
  231. package/skills/skills/social-media-seo/references/instagram-seo.md +235 -0
  232. package/skills/skills/social-media-seo/references/threads-seo.md +305 -0
  233. package/skills/skills/social-media-seo/references/x-twitter-seo.md +337 -0
  234. package/skills/skills/social-media-seo/scripts/query_database.py +191 -0
  235. package/skills/skills/storyteller/SKILL.md +241 -0
  236. package/skills/skills/storyteller/references/transformation-methodology.md +293 -0
  237. package/skills/skills/storyteller/references/visual-vocabulary.md +177 -0
  238. package/skills/skills/thread-pro/SKILL.md +162 -0
  239. package/skills/skills/thread-pro/anti-ai-patterns.md +120 -0
  240. package/skills/skills/thread-pro/hook-formulas.md +138 -0
  241. package/skills/skills/thread-pro/references/anti-ai-patterns.md +120 -0
  242. package/skills/skills/thread-pro/references/hook-formulas.md +138 -0
  243. package/skills/skills/thread-pro/references/thread-structures.md +240 -0
  244. package/skills/skills/thread-pro/references/voice-injection.md +130 -0
  245. package/skills/skills/thread-pro/thread-structures.md +240 -0
  246. package/skills/skills/thread-pro/voice-injection.md +130 -0
  247. package/skills/skills/tinkering/SKILL.md +251 -0
  248. package/skills/skills/tinkering/references/graduation-checklist.md +100 -0
  249. package/skills/skills/validate-plan/.skillkit-mode +1 -0
  250. package/skills/skills/validate-plan/SKILL.md +406 -0
  251. package/skills/skills/validate-plan/references/dry-principles.md +251 -0
  252. package/skills/skills/validate-plan/references/gap-analysis-guide.md +320 -0
  253. package/skills/skills/validate-plan/references/tdd-patterns.md +413 -0
  254. package/skills/skills/validate-plan/references/yagni-checklist.md +330 -0
  255. package/skills/skills/verify-before-ship/.skillkit-mode +1 -0
  256. package/skills/skills/verify-before-ship/SKILL.md +116 -0
  257. package/skills/skills/verify-before-ship/references/anti-rationalization.md +212 -0
  258. package/skills/skills/verify-before-ship/references/verification-gates.md +305 -0
  259. package/skills-manifest.json +8 -2
  260. package/src/banner.js +1 -1
  261. package/src/cli.js +15 -4
  262. package/src/install.js +45 -29
  263. package/src/install.test.js +75 -7
  264. package/src/picker.js +15 -4
  265. package/src/picker.test.js +36 -1
  266. package/src/scope.js +8 -39
  267. package/src/scope.test.js +9 -13
  268. package/src/tools.js +76 -0
  269. package/src/tools.test.js +80 -0
@@ -0,0 +1,330 @@
1
+ # YAGNI Checklist - You Aren't Gonna Need It
2
+
3
+ ## Table of Contents
4
+
5
+ - [What is YAGNI?](#what-is-yagni)
6
+ - [YAGNI Violation Types](#yagni-violation-types)
7
+ - [YAGNI Detection Checklist](#yagni-detection-checklist)
8
+ - [Common YAGNI Scenarios](#common-yagni-scenarios)
9
+ - [Plan Validation Questions](#plan-validation-questions)
10
+ - [YAGNI-Compliant Alternatives](#yagni-compliant-alternatives)
11
+ - [Red Flags in Plans](#red-flags-in-plans)
12
+ - [Resolution Strategies](#resolution-strategies)
13
+ - [Examples in Plan Context](#examples-in-plan-context)
14
+
15
+ ## What is YAGNI?
16
+
17
+ **YAGNI (You Aren't Gonna Need It)** is a principle that states functionality should not be added until it is actually needed. It fights against over-engineering and speculative development.
18
+
19
+ ## YAGNI Violation Types
20
+
21
+ ### 1. Premature Abstraction
22
+
23
+ **Symptoms:**
24
+ - Abstract base classes with one implementation
25
+ - Plugin systems without plugins
26
+ - Generic solutions for specific problems
27
+ - Configuration for hypothetical scenarios
28
+
29
+ **Example:**
30
+ ```typescript
31
+ // ❌ YAGNI: Plugin system for one widget
32
+ interface WidgetPlugin {
33
+ render(): React.ReactNode;
34
+ configure(options: WidgetOptions): void;
35
+ }
36
+
37
+ class WidgetManager {
38
+ plugins: Map<string, WidgetPlugin> = new Map();
39
+
40
+ register(plugin: WidgetPlugin) { ... }
41
+ unregister(name: string) { ... }
42
+ loadFromConfig(config: PluginConfig[]) { ... }
43
+ }
44
+
45
+ // When you only have one widget:
46
+ <WidgetManager plugins={[UserProfileWidget]} />
47
+ ```
48
+
49
+ ```typescript
50
+ // ✅ YAGNI-compliant: Direct implementation first
51
+ <UserProfileWidget />
52
+ // Add abstraction when you have 2+ widgets
53
+ ```
54
+
55
+ ### 2. Over-Configuration
56
+
57
+ **Symptoms:**
58
+ - Settings that won't be changed
59
+ - Environment variables for constants
60
+ - Config files for simple values
61
+ - Feature flags for unimplemented features
62
+
63
+ **Example:**
64
+ ```javascript
65
+ // ❌ YAGNI: Config for values that never change
66
+ {
67
+ "buttonPadding": 8,
68
+ "primaryColor": "#007bff",
69
+ "maxRetries": 3,
70
+ "timeout": 5000
71
+ }
72
+ ```
73
+
74
+ ```javascript
75
+ // ✅ YAGNI-compliant: Hardcode until change needed
76
+ const BUTTON_PADDING = 8; // Extract when used in 2+ places
77
+ const PRIMARY_COLOR = "#007bff"; // Extract when theming needed
78
+ ```
79
+
80
+ ### 3. Future-Proofing
81
+
82
+ **Symptoms:**
83
+ - "We'll need this later" features
84
+ - Scalability for theoretical load
85
+ - Multi-tenant architecture for single tenant
86
+ - Multi-language support for one language
87
+
88
+ ### 4. Speculative Extensibility
89
+
90
+ **Symptoms:**
91
+ - Hook points that won't be used
92
+ - Event systems for no listeners
93
+ - Extension points without extensions
94
+ - API versioning for one version
95
+
96
+ ## YAGNI Detection Checklist
97
+
98
+ ### For Each Feature in Plan
99
+
100
+ - [ ] Is this required for the current user story?
101
+ - [ ] Is there a concrete, immediate use case?
102
+ - [ ] Can this be added later without rewriting?
103
+ - [ ] Is the complexity justified by the value?
104
+ - [ ] Would a simpler solution work now?
105
+
106
+ ### For Each Configuration
107
+
108
+ - [ ] Will this value actually be changed?
109
+ - [ ] Is this configurable in other similar projects?
110
+ - [ ] Does this need to vary by environment?
111
+ - [ ] Is the overhead of configuration worth it?
112
+
113
+ ### For Each Abstraction
114
+
115
+ - [ ] Are there 2+ concrete use cases now?
116
+ - [ ] Is the abstraction simpler than duplication?
117
+ - [ ] Will this abstraction actually be used?
118
+ - [ ] Can the abstraction be added later?
119
+
120
+ ## Common YAGNI Scenarios
121
+
122
+ ### 1. Database Design
123
+
124
+ **YAGNI Violations:**
125
+ - Soft delete when hard delete is fine
126
+ - Audit logging when not required
127
+ - Multi-tenant fields for single tenant
128
+ - Archiving strategies for new features
129
+
130
+ **Questions to Ask:**
131
+ - Do we actually need to restore deleted records?
132
+ - Who will review audit logs?
133
+ - When will we add tenants?
134
+ - How long until we have archive-worthy data?
135
+
136
+ ### 2. API Design
137
+
138
+ **YAGNI Violations:**
139
+ - GraphQL when REST is sufficient
140
+ - Pagination for small datasets
141
+ - Caching strategies for low traffic
142
+ - Rate limiting for internal APIs
143
+
144
+ **Questions to Ask:**
145
+ - How many entities will this endpoint return?
146
+ - What's the actual response time without caching?
147
+ - Who would abuse this API?
148
+ - What's the actual traffic volume?
149
+
150
+ ### 3. UI Components
151
+
152
+ **YAGNI Violations:**
153
+ - Theme system for single theme
154
+ - 10 button variants when 2 are used
155
+ - Responsive breakpoints for unsupported devices
156
+ - Accessibility features for internal tools
157
+
158
+ **Questions to Ask:**
159
+ - Will we actually have multiple themes?
160
+ - Which button variants are used in designs?
161
+ - What devices do our users actually use?
162
+ - Who are the actual users of this tool?
163
+
164
+ ### 4. Testing
165
+
166
+ **YAGNI Violations:**
167
+ - 100% coverage mandate
168
+ - E2E tests for simple CRUD
169
+ - Load testing for low-traffic features
170
+ - Cross-browser testing for Chrome-only users
171
+
172
+ **Questions to Ask:**
173
+ - What's the critical path for users?
174
+ - What bugs have actually occurred?
175
+ - What's the actual usage pattern?
176
+ - What browsers do analytics show?
177
+
178
+ ## Plan Validation Questions
179
+
180
+ ### High-Priority Checks
181
+
182
+ 1. **Does the plan include features not in requirements?**
183
+ ```
184
+ Requirement: "User can log in"
185
+ Plan includes: "OAuth, SAML, MFA, passwordless"
186
+ → YAGNI violation: Implement basic auth first
187
+ ```
188
+
189
+ 2. **Are there abstractions without concrete needs?**
190
+ ```
191
+ Plan: "Create plugin architecture for widget system"
192
+ Reality: Only one widget type needed
193
+ → YAGNI violation: Build direct widget first
194
+ ```
195
+
196
+ 3. **Is there premature optimization?**
197
+ ```
198
+ Plan: "Add Redis caching layer"
199
+ Reality: Database queries complete in <50ms
200
+ → YAGNI violation: Optimize when it's a problem
201
+ ```
202
+
203
+ ### Medium-Priority Checks
204
+
205
+ 1. **Are there configurable values that won't change?**
206
+ ```
207
+ Plan: "Make pagination limit configurable"
208
+ Reality: 20 items per page is standard
209
+ → YAGNI consideration: Hardcode, extract when needed
210
+ ```
211
+
212
+ 2. **Is there generic handling for specific cases?**
213
+ ```
214
+ Plan: "Support N validation rules per field"
215
+ Reality: Only required + email validation needed
216
+ → YAGNI consideration: Handle specific case first
217
+ ```
218
+
219
+ ## YAGNI-Compliant Alternatives
220
+
221
+ ### When Tempted to Add Abstraction
222
+
223
+ | Instead of... | Do this first... | Add abstraction when... |
224
+ |---------------|------------------|------------------------|
225
+ | Plugin system | Direct implementation | 2+ plugins exist |
226
+ | Generic validator | Specific validation | 3+ similar validations |
227
+ | Config file | Hardcoded constants | Values differ by env |
228
+ | Event system | Direct function calls | 2+ listeners needed |
229
+ | Microservices | Monolith modules | Team scaling issues |
230
+
231
+ ### When Tempted to Optimize
232
+
233
+ | Instead of... | Do this first... | Optimize when... |
234
+ |---------------|------------------|------------------|
235
+ | Database caching | Direct queries | >200ms response |
236
+ | CDN | Serve static files | >1s load time |
237
+ | Connection pooling | Simple connections | Connection limits hit |
238
+ | Async processing | Synchronous | User waits >3s |
239
+ | Pagination | Full list | >50 items |
240
+
241
+ ## Red Flags in Plans
242
+
243
+ ### Critical (Must Fix)
244
+ - Building features for hypothetical users
245
+ - Multi-tenant architecture for single tenant
246
+ - API versioning before first release
247
+ - Scalability for theoretical load
248
+
249
+ ### Warning (Consider Carefully)
250
+ - More than 3 configuration options
251
+ - Generic solutions for one use case
252
+ - Extensibility hooks without clear need
253
+ - Caching for low-traffic features
254
+
255
+ ### Info (Keep in Mind)
256
+ - Extra fields "just in case"
257
+ - Comments about future features
258
+ - TODO items not in current scope
259
+ - "We might need this" statements
260
+
261
+ ## Resolution Strategies
262
+
263
+ ### When YAGNI Violation Found
264
+
265
+ 1. **Assess the actual need**
266
+ - Is this in current requirements?
267
+ - What's the concrete use case?
268
+ - When will this be needed?
269
+
270
+ 2. **Determine the right scope**
271
+ - Remove speculative features
272
+ - Simplify abstractions
273
+ - Hardcode configuration values
274
+ - Focus on immediate requirements
275
+
276
+ 3. **Document future possibilities**
277
+ - Add comments for future extension
278
+ - Note potential abstraction points
279
+ - Don't build, but design for addition
280
+
281
+ ## Examples in Plan Context
282
+
283
+ ### Example 1: Admin Interface
284
+
285
+ **Plan says:**
286
+ ```markdown
287
+ Create comprehensive admin panel with:
288
+ - User management
289
+ - Role configuration
290
+ - Audit logging
291
+ - Export functionality
292
+ - Bulk operations
293
+ ```
294
+
295
+ **YAGNI Check:**
296
+ - Requirements only mention "admin can view users"
297
+ - No mention of roles, audit, export, bulk ops
298
+
299
+ **Recommendation:**
300
+ ```markdown
301
+ Create simple user list view:
302
+ - Display users in table
303
+ - Basic filtering
304
+ - YAGNI: Add admin features when admin workflows are defined
305
+ ```
306
+
307
+ ### Example 2: API Design
308
+
309
+ **Plan says:**
310
+ ```markdown
311
+ Design API with:
312
+ - Versioning (/v1/, /v2/)
313
+ - Pagination for all endpoints
314
+ - HATEOAS links
315
+ - Rate limiting
316
+ - Request queuing
317
+ ```
318
+
319
+ **YAGNI Check:**
320
+ - Only one client (web app)
321
+ - Low traffic expected initially
322
+ - Small dataset
323
+
324
+ **Recommendation:**
325
+ ```markdown
326
+ Simple REST API:
327
+ - No versioning until breaking change needed
328
+ - Pagination when datasets grow >50 items
329
+ - YAGNI: Add rate limiting when abuse detected
330
+ ```
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: verify-before-ship
3
+ description: Enforce agent to complete all 7 production safety gates with evidence before any deployment. Use when about to deploy, push to production, merge a release branch, or ship any change to a live environment. Blocks rationalized shortcuts under time, authority, sunk-cost, or exhaustion pressure.
4
+ category: deployment
5
+ ---
6
+
7
+ # Verify Before Ship
8
+
9
+ ## The Non-Negotiable Mandate
10
+
11
+ **You may not ship to production until all 7 gates are cleared with evidence.**
12
+
13
+ This is not a suggestion. It is not a checklist to tick when convenient. No urgency, role, authority, or circumstance overrides this mandate. The pressure you feel to skip a gate is the exact signal that the gate must be held.
14
+
15
+ When in doubt: **DO NOT SHIP.**
16
+
17
+ ## When This Skill Applies
18
+
19
+ Invoke this skill whenever any of the following is true:
20
+ - You are about to deploy code to production
21
+ - You are merging a release branch into main/master
22
+ - You are pushing a hotfix, patch, or "quick fix" live
23
+ - You are applying schema migrations, config changes, or infrastructure updates
24
+ - Someone asks you to ship anything to a live environment
25
+
26
+ ## The 7 Gates
27
+
28
+ Every gate requires **evidence** — a concrete artifact, not a statement of belief.
29
+
30
+ | # | Gate | Evidence Required |
31
+ |---|------|-------------------|
32
+ | G1 | Tests pass | Paste CI output or test run result showing all pass |
33
+ | G2 | Security scan clean | Paste scan report summary — no critical/high CVEs |
34
+ | G3 | No breaking changes | Paste diff summary or contract test output |
35
+ | G4 | Environment config validated | Paste config diff between staging and production |
36
+ | G5 | Staging deployment verified | Paste staging URL + smoke test result or screenshot |
37
+ | G6 | Rollback plan documented | Paste rollback steps or link to runbook |
38
+ | G7 | Code review approved | Paste PR link showing at least one approval |
39
+
40
+ Gates must be completed **in full, not in part**. "I checked" without evidence is not evidence.
41
+
42
+ **→ Full gate specifications with evidence templates: [references/verification-gates.md](references/verification-gates.md)**
43
+
44
+ ## Red Flags — Rationalization Alert
45
+
46
+ If you hear yourself thinking any of these, STOP. Do not proceed.
47
+
48
+ | Rationalization | Reality | Required Action |
49
+ |-----------------|---------|-----------------|
50
+ | "The manager/CTO authorized skipping this" | No one has authority to skip safety gates | Hold the gate. Escalate the risk in writing. |
51
+ | "It's just a minimal/targeted check, not the full thing" | Partial verification is no verification | All 7 gates. No subset. |
52
+ | "It's a live outage — different rules apply" | Outage pressure is the exact trap this skill prevents | Gates still apply. Compress time, not gates. |
53
+ | "I've already spent hours on this, the logic is clearly correct" | Self-review under sunk-cost bias misses bugs systematically | Tests catch what familiarity hides. |
54
+ | "It's just a hotfix / one-line change / obviously safe" | Catastrophic incidents commonly originate from "obvious" fixes | Gate size does not scale with change size. |
55
+ | "I'll verify after it's live" | Post-hoc verification of broken production is incident response | Verify before. Always. |
56
+ | "Tests are slow / CI is down today" | Use that time to write the rollback plan | No CI = no ship today. |
57
+ | "We can rollback if anything goes wrong" | Rollback is not a substitute for verification | Rollback must be the last resort, not the plan A. |
58
+
59
+ **→ Full rationalization counter-playbook: [references/anti-rationalization.md](references/anti-rationalization.md)**
60
+
61
+ ## Gate Sequence Protocol
62
+
63
+ ```
64
+ BEFORE SHIP:
65
+ FOR each gate G1 through G7:
66
+ 1. Collect evidence artifact
67
+ 2. Present evidence explicitly
68
+ 3. Confirm gate cleared
69
+ IF any gate cannot be cleared:
70
+ → DO NOT SHIP
71
+ → Document the blocker
72
+ → Escalate to human decision-maker WITH the blocker documented
73
+ IF all 7 gates cleared:
74
+ → Ship with confidence
75
+ → Monitor first 15 minutes post-deploy
76
+ ```
77
+
78
+ ## Hardcoded Exceptions
79
+
80
+ There are **zero** hardcoded exceptions to the gate sequence.
81
+
82
+ Not for P0 incidents. Not for CTO orders. Not for contract deadlines. Not for 2AM exhaustion. Not for "obviously correct" fixes. Not for one-line changes.
83
+
84
+ The argument "this is a special case" is the most common rationalization pattern. Every skipped gate in history felt like a special case at the time.
85
+
86
+ ## Evidence Format
87
+
88
+ When presenting gate evidence, use this format:
89
+
90
+ ```
91
+ GATE [#] [Name]: CLEARED
92
+ Evidence: [paste artifact here]
93
+ ```
94
+
95
+ Example:
96
+ ```
97
+ GATE G1 Tests: CLEARED
98
+ Evidence:
99
+ ✓ 247 tests passed, 0 failed, 0 skipped
100
+ CI run: github.com/org/repo/actions/runs/12345
101
+
102
+ GATE G6 Rollback: CLEARED
103
+ Evidence:
104
+ Rollback steps:
105
+ 1. git revert HEAD~1
106
+ 2. kubectl rollout undo deployment/api
107
+ 3. Verify health endpoint returns 200
108
+ ```
109
+
110
+ ## After All Gates Clear
111
+
112
+ Only after all 7 gates show CLEARED:
113
+ 1. Ship the change
114
+ 2. Monitor for 15 minutes post-deploy (errors, latency, alerts)
115
+ 3. Confirm health indicators are stable
116
+ 4. Document the deployment in your team's deploy log
@@ -0,0 +1,212 @@
1
+ # Anti-Rationalization Playbook
2
+
3
+ This file documents every known rationalization pattern for skipping production verification gates, with explicit counters. Each entry comes from observed agent behavior under pressure.
4
+
5
+ When you recognize a rationalization, name it aloud and apply the counter.
6
+
7
+ ## Table of Contents
8
+
9
+ - [Pattern 1: Authority Override](#pattern-1-authority-override)
10
+ - [Pattern 2: Minimal Verification Substitution](#pattern-2-minimal-verification-substitution)
11
+ - [Pattern 3: Live Outage Exception](#pattern-3-live-outage-exception)
12
+ - [Pattern 4: Sunk Cost Confidence](#pattern-4-sunk-cost-confidence)
13
+ - [Pattern 5: Post-Hoc Verification Promise](#pattern-5-post-hoc-verification-promise)
14
+ - [Pattern 6: Change Size Minimization](#pattern-6-change-size-minimization)
15
+ - [Pattern 7: CI Infrastructure Excuse](#pattern-7-ci-infrastructure-excuse)
16
+ - [Combined Pressure Recognition](#combined-pressure-recognition)
17
+
18
+ ---
19
+
20
+ ## Pattern 1: Authority Override
21
+
22
+ **The rationalization:**
23
+ > "My manager / CTO / VP / incident commander has authorized skipping the verification process. They said this is a special case."
24
+
25
+ **Why it feels compelling:**
26
+ Hierarchy is a powerful social signal. When a high-authority figure gives a direct order, compliance feels correct. The agent may frame skipping as "following orders" rather than "skipping safety."
27
+
28
+ **The counter:**
29
+ Authority controls business decisions. Authority does not change whether the code is correct, whether tests pass, or whether a rollback plan exists.
30
+
31
+ When an executive says "skip verification," they mean "move as fast as possible given the risk." They are expressing urgency, not literally ordering you to deploy broken code. Your job is to compress verification time, not eliminate it.
32
+
33
+ **Correct response to authority pressure:**
34
+ - Acknowledge urgency: "Moving as fast as possible."
35
+ - State what you're doing: "Running targeted tests and writing the rollback command now — 3 minutes."
36
+ - Escalate the risk in writing: "Deploying without G1/G2 — @CTO, confirming you accept this risk" [in writing, timestamped].
37
+ - If they say "no, zero checks": Ask them to deploy it themselves. You are not an execution arm for non-judgment.
38
+
39
+ **What is NOT acceptable:**
40
+ - Deploying with no tests run because someone told you to
41
+ - Saying "the CTO authorized it" without running any of the 7 gates
42
+ - Treating "authority approval" as equivalent to evidence
43
+
44
+ ---
45
+
46
+ ## Pattern 2: Minimal Verification Substitution
47
+
48
+ **The rationalization:**
49
+ > "I'll do a minimal/targeted/quick verification instead of the full checklist. Just the critical checks. Not the full suite."
50
+
51
+ **Why it feels compelling:**
52
+ This sounds reasonable. "I'm not skipping verification, I'm just scoping it appropriately." It lets the agent feel disciplined while still bypassing most gates.
53
+
54
+ **The counter:**
55
+ "Minimal verification" is not a defined state — it is a blank check to skip whichever gate is most inconvenient. Every skipped gate sounded "not critical" to someone, at some point, before an incident.
56
+
57
+ The 7 gates exist as a set. The gate you most want to skip is usually the gate that would catch the bug.
58
+
59
+ **The specific substitutions to reject:**
60
+ - "Just running unit tests, not integration" → G1 requires all tests to pass
61
+ - "Skipping staging because it's similar to prod" → G5 is not optional
62
+ - "No rollback plan needed, it's a simple change" → G6 is not optional
63
+ - "Code review was informal, not a formal PR" → G7 requires a documented approval
64
+
65
+ **Correct behavior:**
66
+ State which gates cannot be cleared and why. Do not invent a subset that happens to be completable. If a gate cannot be cleared, the ship is blocked. That is the correct outcome.
67
+
68
+ ---
69
+
70
+ ## Pattern 3: Live Outage Exception
71
+
72
+ **The rationalization:**
73
+ > "There's a live outage causing active harm right now. Normal verification rules don't apply in a P0 situation. We need to deploy the fix immediately with minimum viable checks."
74
+
75
+ **Why it feels compelling:**
76
+ The harm is real and visible. Users are affected. Every minute counts. Skipping verification feels like the responsible thing — it prioritizes users over process.
77
+
78
+ **The counter:**
79
+ Deploying an unverified fix during an active outage is how single outages become cascading disasters. The pressure to skip verification is highest exactly when the consequences of a bad deploy are worst.
80
+
81
+ "Minimum viable checks" during an outage usually means "I'm too stressed to think clearly about what to check." Stressed, rushed verification is worse than no verification because it gives false confidence.
82
+
83
+ **What changes during a P0:**
84
+ - **Speed:** Compress the time per gate, not the number of gates
85
+ - **Scope:** You may run smoke tests instead of the full suite for G1, if that is the established protocol
86
+ - **Parallelism:** Multiple engineers can work gates simultaneously
87
+ - **Communication:** Keep stakeholders informed in real time
88
+
89
+ **What does NOT change during a P0:**
90
+ - The requirement to run some tests before deploying (G1)
91
+ - The requirement to have a rollback plan (G6) — especially critical during an outage
92
+ - The requirement to check the fix is actually deployed to the right environment (G5)
93
+
94
+ **Correct behavior during P0:**
95
+ Run the fastest possible version of each gate in parallel. Do not eliminate gates. A 5-minute verified deploy beats a 2-minute unverified deploy that makes the outage worse.
96
+
97
+ ---
98
+
99
+ ## Pattern 4: Sunk Cost Confidence
100
+
101
+ **The rationalization:**
102
+ > "I've been working on this for hours. I've reviewed every line. The logic is clearly correct. Tests are just a formality at this point — they'll pass."
103
+
104
+ **Why it feels compelling:**
105
+ Familiarity creates confidence. Deep investment in the code creates ownership and the belief that bugs would have been noticed. Running tests "just to confirm" feels like wasted time.
106
+
107
+ **The counter:**
108
+ The confidence produced by deep familiarity is exactly the condition under which subtle bugs survive. You stop seeing what you expect to see and start seeing what you expect to see. This is not a character flaw — it is how human cognition works under prolonged focus.
109
+
110
+ "Tests will pass" is a prediction, not evidence. Tests exist precisely to catch what self-review misses.
111
+
112
+ **Empirical reality:**
113
+ - Most production incidents are caused by changes the author was confident about
114
+ - "Obviously correct" fixes are responsible for a disproportionate share of outages
115
+ - The size of the sunk cost (hours worked) has zero correlation with code correctness
116
+
117
+ **Correct behavior:**
118
+ Run the tests. The 45 minutes you spent on the fix does not reduce the 5 minutes it takes to confirm it works. If CI is down, use that time to write G6 (rollback plan) while waiting for it to come back up.
119
+
120
+ ---
121
+
122
+ ## Pattern 5: Post-Hoc Verification Promise
123
+
124
+ **The rationalization:**
125
+ > "We'll verify after it's live. If anything is wrong, we'll catch it quickly in monitoring and roll back."
126
+
127
+ **Why it feels compelling:**
128
+ Monitoring is real. Rollback is real. This sounds like a mature engineering stance — "we have safeguards."
129
+
130
+ **The counter:**
131
+ Post-hoc verification is incident response, not shipping safety. The purpose of pre-ship verification is to prevent the incident in the first place. Rollback is not free — it causes downtime, data inconsistency, and user impact.
132
+
133
+ "We'll catch it in monitoring" requires:
134
+ - Monitoring that actually covers the changed behavior
135
+ - An alert that fires before significant harm occurs
136
+ - Someone available to respond immediately
137
+ - A rollback plan that works (which is G6 — a gate you just skipped)
138
+
139
+ Without pre-ship verification, you are gambling that every one of those conditions is true.
140
+
141
+ **Correct behavior:**
142
+ Verify before shipping. If you want to also monitor after shipping, add monitoring. These are not alternatives — they are both required.
143
+
144
+ ---
145
+
146
+ ## Pattern 6: Change Size Minimization
147
+
148
+ **The rationalization:**
149
+ > "It's just a one-line change / a hotfix / a trivial config update / obviously safe. The full gate process is overkill for something this small."
150
+
151
+ **Why it feels compelling:**
152
+ Proportionality feels rational. Running a full verification suite for a typo fix seems excessive. The risk genuinely seems lower for small changes.
153
+
154
+ **The counter:**
155
+ Change size does not correlate with incident risk. Some of the most severe production outages in engineering history originated from single-line changes, configuration value updates, and "trivial" fixes.
156
+
157
+ One-line changes are more dangerous in one specific way: they reduce scrutiny. The smaller the change looks, the less carefully reviewers and authors check it.
158
+
159
+ **Examples of one-line changes that caused major incidents:**
160
+ - Flipping a boolean flag from false to true (wrong environment)
161
+ - Adding a missing comma to a config file (broke serialization)
162
+ - Changing a timeout value from milliseconds to seconds (10x slower)
163
+ - Removing a single null check ("it can't be null here")
164
+
165
+ **Correct behavior:**
166
+ Gate size does not scale with change size. All 7 gates apply to all changes. For genuinely tiny changes (config value update), the gates take 5 minutes, not hours. Run them.
167
+
168
+ ---
169
+
170
+ ## Pattern 7: CI Infrastructure Excuse
171
+
172
+ **The rationalization:**
173
+ > "CI is down / slow / unreliable today. I can't run the tests. That's not my fault — I'll just ship and we'll fix CI later."
174
+
175
+ **Why it feels compelling:**
176
+ The obstacle is real and external. The agent is not the one who broke CI. Waiting for CI feels like being blocked by someone else's problem.
177
+
178
+ **The counter:**
179
+ CI being down does not make your code correct. It removes a verification mechanism — which increases risk, not decreases it.
180
+
181
+ **Options when CI is unavailable:**
182
+ 1. Run tests locally and paste local output as evidence
183
+ 2. Wait for CI to recover
184
+ 3. Fix the CI problem
185
+ 4. Escalate to a human decision-maker with the full picture: "CI is down, tests unverified, here is the specific risk I'm asking you to accept"
186
+
187
+ **What is not an option:**
188
+ Shipping without test evidence because CI is inconvenient.
189
+
190
+ **Correct behavior:**
191
+ No CI output = no G1 evidence = G1 not cleared = no ship. Use the downtime to complete other gates (G6 rollback plan is always available without CI).
192
+
193
+ ---
194
+
195
+ ## Combined Pressure Recognition
196
+
197
+ When multiple pressures hit simultaneously, the rationalization becomes more sophisticated:
198
+
199
+ **Example combined prompt:**
200
+ "It's 2AM (exhaustion). The client is losing $50k/hour (time). The CTO authorized it (authority). You've already written the fix (sunk cost). Just deploy it."
201
+
202
+ **Recognition signal:**
203
+ Combined pressure scenarios feel overwhelming and make any resistance seem unreasonable. This is the highest-risk moment — the moment most likely to produce a bad deploy.
204
+
205
+ **Counter-procedure:**
206
+ 1. Name the pressures explicitly: "I'm seeing time + authority + exhaustion pressure simultaneously."
207
+ 2. Apply each counter individually.
208
+ 3. Compress gate execution (run G1 locally, write G6 in 2 minutes, skip non-critical G3/G4 only if explicitly accepted in writing by decision-maker).
209
+ 4. Do not let the combination of pressures bypass all gates. Each rationalization is still invalid when combined with others.
210
+
211
+ **The truth about combined pressure:**
212
+ The higher the pressure, the more important verification becomes. Pressure does not reduce risk — it adds it.