@takuma-hirai/hirai-method 0.1.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 (822) hide show
  1. package/.claude/.stale-harness-state/last-check +0 -0
  2. package/.claude/CommonRules.md +121 -0
  3. package/.claude/agents/01-core-development/api-designer.md +237 -0
  4. package/.claude/agents/01-core-development/backend-developer.md +222 -0
  5. package/.claude/agents/01-core-development/design-bridge.md +127 -0
  6. package/.claude/agents/01-core-development/electron-pro.md +240 -0
  7. package/.claude/agents/01-core-development/frontend-developer.md +133 -0
  8. package/.claude/agents/01-core-development/fullstack-developer.md +235 -0
  9. package/.claude/agents/01-core-development/graphql-architect.md +238 -0
  10. package/.claude/agents/01-core-development/microservices-architect.md +239 -0
  11. package/.claude/agents/01-core-development/mobile-developer.md +283 -0
  12. package/.claude/agents/01-core-development/ui-designer.md +174 -0
  13. package/.claude/agents/01-core-development/websocket-engineer.md +150 -0
  14. package/.claude/agents/03-infrastructure/azure-infra-engineer.md +53 -0
  15. package/.claude/agents/03-infrastructure/cloud-architect.md +277 -0
  16. package/.claude/agents/03-infrastructure/database-administrator.md +287 -0
  17. package/.claude/agents/03-infrastructure/deployment-engineer.md +287 -0
  18. package/.claude/agents/03-infrastructure/devops-engineer.md +287 -0
  19. package/.claude/agents/03-infrastructure/devops-incident-responder.md +287 -0
  20. package/.claude/agents/03-infrastructure/docker-expert.md +278 -0
  21. package/.claude/agents/03-infrastructure/incident-responder.md +287 -0
  22. package/.claude/agents/03-infrastructure/kubernetes-specialist.md +287 -0
  23. package/.claude/agents/03-infrastructure/network-engineer.md +287 -0
  24. package/.claude/agents/03-infrastructure/platform-engineer.md +287 -0
  25. package/.claude/agents/03-infrastructure/security-engineer.md +277 -0
  26. package/.claude/agents/03-infrastructure/sre-engineer.md +287 -0
  27. package/.claude/agents/03-infrastructure/terraform-engineer.md +287 -0
  28. package/.claude/agents/03-infrastructure/terragrunt-expert.md +307 -0
  29. package/.claude/agents/03-infrastructure/windows-infra-admin.md +52 -0
  30. package/.claude/agents/04-quality-security/accessibility-tester.md +277 -0
  31. package/.claude/agents/04-quality-security/ad-security-reviewer.md +56 -0
  32. package/.claude/agents/04-quality-security/ai-writing-auditor.md +77 -0
  33. package/.claude/agents/04-quality-security/architect-reviewer.md +287 -0
  34. package/.claude/agents/04-quality-security/chaos-engineer.md +277 -0
  35. package/.claude/agents/04-quality-security/code-reviewer.md +287 -0
  36. package/.claude/agents/04-quality-security/compliance-auditor.md +277 -0
  37. package/.claude/agents/04-quality-security/debugger.md +287 -0
  38. package/.claude/agents/04-quality-security/error-detective.md +287 -0
  39. package/.claude/agents/04-quality-security/penetration-tester.md +287 -0
  40. package/.claude/agents/04-quality-security/performance-engineer.md +287 -0
  41. package/.claude/agents/04-quality-security/powershell-security-hardening.md +54 -0
  42. package/.claude/agents/04-quality-security/qa-expert.md +287 -0
  43. package/.claude/agents/04-quality-security/security-auditor.md +287 -0
  44. package/.claude/agents/04-quality-security/test-automator.md +287 -0
  45. package/.claude/agents/04-quality-security/ui-ux-tester.md +234 -0
  46. package/.claude/agents/06-developer-experience/build-engineer.md +286 -0
  47. package/.claude/agents/06-developer-experience/cli-developer.md +286 -0
  48. package/.claude/agents/06-developer-experience/dependency-manager.md +286 -0
  49. package/.claude/agents/06-developer-experience/documentation-engineer.md +276 -0
  50. package/.claude/agents/06-developer-experience/dx-optimizer.md +286 -0
  51. package/.claude/agents/06-developer-experience/git-workflow-manager.md +286 -0
  52. package/.claude/agents/06-developer-experience/legacy-modernizer.md +286 -0
  53. package/.claude/agents/06-developer-experience/mcp-developer.md +275 -0
  54. package/.claude/agents/06-developer-experience/powershell-module-architect.md +58 -0
  55. package/.claude/agents/06-developer-experience/powershell-ui-architect.md +135 -0
  56. package/.claude/agents/06-developer-experience/readme-generator.md +238 -0
  57. package/.claude/agents/06-developer-experience/refactoring-specialist.md +286 -0
  58. package/.claude/agents/06-developer-experience/slack-expert.md +232 -0
  59. package/.claude/agents/06-developer-experience/tooling-engineer.md +286 -0
  60. package/.claude/agents/09-meta-orchestration/agent-installer.md +97 -0
  61. package/.claude/agents/09-meta-orchestration/agent-organizer.md +287 -0
  62. package/.claude/agents/09-meta-orchestration/codebase-orchestrator.md +249 -0
  63. package/.claude/agents/09-meta-orchestration/context-manager.md +287 -0
  64. package/.claude/agents/09-meta-orchestration/error-coordinator.md +287 -0
  65. package/.claude/agents/09-meta-orchestration/it-ops-orchestrator.md +60 -0
  66. package/.claude/agents/09-meta-orchestration/knowledge-synthesizer.md +287 -0
  67. package/.claude/agents/09-meta-orchestration/multi-agent-coordinator.md +287 -0
  68. package/.claude/agents/09-meta-orchestration/performance-monitor.md +287 -0
  69. package/.claude/agents/09-meta-orchestration/task-distributor.md +287 -0
  70. package/.claude/agents/09-meta-orchestration/workflow-orchestrator.md +287 -0
  71. package/.claude/agents/10-research-analysis/competitive-analyst.md +287 -0
  72. package/.claude/agents/10-research-analysis/data-researcher.md +287 -0
  73. package/.claude/agents/10-research-analysis/market-researcher.md +287 -0
  74. package/.claude/agents/10-research-analysis/project-idea-validator.md +269 -0
  75. package/.claude/agents/10-research-analysis/research-analyst.md +287 -0
  76. package/.claude/agents/10-research-analysis/scientific-literature-researcher.md +151 -0
  77. package/.claude/agents/10-research-analysis/search-specialist.md +287 -0
  78. package/.claude/agents/10-research-analysis/trend-analyst.md +287 -0
  79. package/.claude/archive/README.md +47 -0
  80. package/.claude/archive/agents/02-language-specialists/angular-architect.md +287 -0
  81. package/.claude/archive/agents/02-language-specialists/cpp-pro.md +277 -0
  82. package/.claude/archive/agents/02-language-specialists/csharp-developer.md +287 -0
  83. package/.claude/archive/agents/02-language-specialists/django-developer.md +287 -0
  84. package/.claude/archive/agents/02-language-specialists/dotnet-core-expert.md +287 -0
  85. package/.claude/archive/agents/02-language-specialists/dotnet-framework-4.8-expert.md +306 -0
  86. package/.claude/archive/agents/02-language-specialists/elixir-expert.md +311 -0
  87. package/.claude/archive/agents/02-language-specialists/expo-react-native-expert.md +268 -0
  88. package/.claude/archive/agents/02-language-specialists/fastapi-developer.md +287 -0
  89. package/.claude/archive/agents/02-language-specialists/flutter-expert.md +287 -0
  90. package/.claude/archive/agents/02-language-specialists/golang-pro.md +277 -0
  91. package/.claude/archive/agents/02-language-specialists/java-architect.md +287 -0
  92. package/.claude/archive/agents/02-language-specialists/javascript-pro.md +277 -0
  93. package/.claude/archive/agents/02-language-specialists/kotlin-specialist.md +287 -0
  94. package/.claude/archive/agents/02-language-specialists/laravel-specialist.md +287 -0
  95. package/.claude/archive/agents/02-language-specialists/nextjs-developer.md +287 -0
  96. package/.claude/archive/agents/02-language-specialists/node-specialist.md +124 -0
  97. package/.claude/archive/agents/02-language-specialists/php-pro.md +287 -0
  98. package/.claude/archive/agents/02-language-specialists/powershell-5.1-expert.md +59 -0
  99. package/.claude/archive/agents/02-language-specialists/powershell-7-expert.md +57 -0
  100. package/.claude/archive/agents/02-language-specialists/python-pro.md +277 -0
  101. package/.claude/archive/agents/02-language-specialists/rails-expert.md +358 -0
  102. package/.claude/archive/agents/02-language-specialists/react-specialist.md +287 -0
  103. package/.claude/archive/agents/02-language-specialists/rust-engineer.md +287 -0
  104. package/.claude/archive/agents/02-language-specialists/spring-boot-engineer.md +287 -0
  105. package/.claude/archive/agents/02-language-specialists/sql-pro.md +287 -0
  106. package/.claude/archive/agents/02-language-specialists/swift-expert.md +287 -0
  107. package/.claude/archive/agents/02-language-specialists/symfony-specialist.md +354 -0
  108. package/.claude/archive/agents/02-language-specialists/typescript-pro.md +277 -0
  109. package/.claude/archive/agents/02-language-specialists/vue-expert.md +287 -0
  110. package/.claude/archive/agents/05-data-ai/ai-engineer.md +287 -0
  111. package/.claude/archive/agents/05-data-ai/data-analyst.md +277 -0
  112. package/.claude/archive/agents/05-data-ai/data-engineer.md +287 -0
  113. package/.claude/archive/agents/05-data-ai/data-scientist.md +287 -0
  114. package/.claude/archive/agents/05-data-ai/database-optimizer.md +287 -0
  115. package/.claude/archive/agents/05-data-ai/llm-architect.md +287 -0
  116. package/.claude/archive/agents/05-data-ai/machine-learning-engineer.md +277 -0
  117. package/.claude/archive/agents/05-data-ai/ml-engineer.md +287 -0
  118. package/.claude/archive/agents/05-data-ai/mlops-engineer.md +287 -0
  119. package/.claude/archive/agents/05-data-ai/nlp-engineer.md +287 -0
  120. package/.claude/archive/agents/05-data-ai/postgres-pro.md +287 -0
  121. package/.claude/archive/agents/05-data-ai/prompt-engineer.md +287 -0
  122. package/.claude/archive/agents/05-data-ai/reinforcement-learning-engineer.md +277 -0
  123. package/.claude/archive/agents/07-specialized-domains/api-documenter.md +277 -0
  124. package/.claude/archive/agents/07-specialized-domains/blockchain-developer.md +287 -0
  125. package/.claude/archive/agents/07-specialized-domains/embedded-systems.md +287 -0
  126. package/.claude/archive/agents/07-specialized-domains/fintech-engineer.md +287 -0
  127. package/.claude/archive/agents/07-specialized-domains/game-developer.md +287 -0
  128. package/.claude/archive/agents/07-specialized-domains/healthcare-admin.md +199 -0
  129. package/.claude/archive/agents/07-specialized-domains/iot-engineer.md +287 -0
  130. package/.claude/archive/agents/07-specialized-domains/m365-admin.md +48 -0
  131. package/.claude/archive/agents/07-specialized-domains/mobile-app-developer.md +287 -0
  132. package/.claude/archive/agents/07-specialized-domains/payment-integration.md +287 -0
  133. package/.claude/archive/agents/07-specialized-domains/quant-analyst.md +287 -0
  134. package/.claude/archive/agents/07-specialized-domains/risk-manager.md +287 -0
  135. package/.claude/archive/agents/07-specialized-domains/seo-specialist.md +184 -0
  136. package/.claude/archive/agents/08-business-product/business-analyst.md +287 -0
  137. package/.claude/archive/agents/08-business-product/content-marketer.md +287 -0
  138. package/.claude/archive/agents/08-business-product/customer-success-manager.md +287 -0
  139. package/.claude/archive/agents/08-business-product/legal-advisor.md +287 -0
  140. package/.claude/archive/agents/08-business-product/license-engineer.md +295 -0
  141. package/.claude/archive/agents/08-business-product/product-manager.md +287 -0
  142. package/.claude/archive/agents/08-business-product/project-manager.md +287 -0
  143. package/.claude/archive/agents/08-business-product/sales-engineer.md +287 -0
  144. package/.claude/archive/agents/08-business-product/scrum-master.md +287 -0
  145. package/.claude/archive/agents/08-business-product/technical-writer.md +287 -0
  146. package/.claude/archive/agents/08-business-product/ux-researcher.md +287 -0
  147. package/.claude/archive/agents/08-business-product/wordpress-master.md +316 -0
  148. package/.claude/archive/skills/competitive-ads-extractor/SKILL.md +293 -0
  149. package/.claude/archive/skills/developer-growth-analysis/SKILL.md +322 -0
  150. package/.claude/archive/skills/document-docx/LICENSE.txt +30 -0
  151. package/.claude/archive/skills/document-docx/SKILL.md +197 -0
  152. package/.claude/archive/skills/document-docx/docx-js.md +350 -0
  153. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  154. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  155. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  156. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  157. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  158. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  159. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  160. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  161. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  162. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  163. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  164. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  165. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  166. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  167. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  168. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  169. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  170. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  171. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  172. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  173. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  174. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  175. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  176. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  177. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  178. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  179. package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  180. package/.claude/archive/skills/document-docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  181. package/.claude/archive/skills/document-docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  182. package/.claude/archive/skills/document-docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  183. package/.claude/archive/skills/document-docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  184. package/.claude/archive/skills/document-docx/ooxml/schemas/mce/mc.xsd +75 -0
  185. package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  186. package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  187. package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  188. package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  189. package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  190. package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  191. package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  192. package/.claude/archive/skills/document-docx/ooxml/scripts/pack.py +159 -0
  193. package/.claude/archive/skills/document-docx/ooxml/scripts/unpack.py +29 -0
  194. package/.claude/archive/skills/document-docx/ooxml/scripts/validate.py +69 -0
  195. package/.claude/archive/skills/document-docx/ooxml/scripts/validation/__init__.py +15 -0
  196. package/.claude/archive/skills/document-docx/ooxml/scripts/validation/base.py +951 -0
  197. package/.claude/archive/skills/document-docx/ooxml/scripts/validation/docx.py +274 -0
  198. package/.claude/archive/skills/document-docx/ooxml/scripts/validation/pptx.py +315 -0
  199. package/.claude/archive/skills/document-docx/ooxml/scripts/validation/redlining.py +279 -0
  200. package/.claude/archive/skills/document-docx/ooxml.md +610 -0
  201. package/.claude/archive/skills/document-docx/scripts/__init__.py +1 -0
  202. package/.claude/archive/skills/document-docx/scripts/document.py +1276 -0
  203. package/.claude/archive/skills/document-docx/scripts/templates/comments.xml +3 -0
  204. package/.claude/archive/skills/document-docx/scripts/templates/commentsExtended.xml +3 -0
  205. package/.claude/archive/skills/document-docx/scripts/templates/commentsExtensible.xml +3 -0
  206. package/.claude/archive/skills/document-docx/scripts/templates/commentsIds.xml +3 -0
  207. package/.claude/archive/skills/document-docx/scripts/templates/people.xml +3 -0
  208. package/.claude/archive/skills/document-docx/scripts/utilities.py +374 -0
  209. package/.claude/archive/skills/document-pdf/LICENSE.txt +30 -0
  210. package/.claude/archive/skills/document-pdf/SKILL.md +294 -0
  211. package/.claude/archive/skills/document-pdf/forms.md +205 -0
  212. package/.claude/archive/skills/document-pdf/reference.md +612 -0
  213. package/.claude/archive/skills/document-pdf/scripts/check_bounding_boxes.py +70 -0
  214. package/.claude/archive/skills/document-pdf/scripts/check_bounding_boxes_test.py +226 -0
  215. package/.claude/archive/skills/document-pdf/scripts/check_fillable_fields.py +12 -0
  216. package/.claude/archive/skills/document-pdf/scripts/convert_pdf_to_images.py +35 -0
  217. package/.claude/archive/skills/document-pdf/scripts/create_validation_image.py +41 -0
  218. package/.claude/archive/skills/document-pdf/scripts/extract_form_field_info.py +152 -0
  219. package/.claude/archive/skills/document-pdf/scripts/fill_fillable_fields.py +114 -0
  220. package/.claude/archive/skills/document-pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  221. package/.claude/archive/skills/document-pptx/LICENSE.txt +30 -0
  222. package/.claude/archive/skills/document-pptx/SKILL.md +484 -0
  223. package/.claude/archive/skills/document-pptx/html2pptx.md +625 -0
  224. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  225. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  226. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  227. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  228. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  229. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  230. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  231. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  232. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  233. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  234. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  235. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  236. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  237. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  238. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  239. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  240. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  241. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  242. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  243. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  244. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  245. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  246. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  247. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  248. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  249. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  250. package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  251. package/.claude/archive/skills/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  252. package/.claude/archive/skills/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  253. package/.claude/archive/skills/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  254. package/.claude/archive/skills/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  255. package/.claude/archive/skills/document-pptx/ooxml/schemas/mce/mc.xsd +75 -0
  256. package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  257. package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  258. package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  259. package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  260. package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  261. package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  262. package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  263. package/.claude/archive/skills/document-pptx/ooxml/scripts/pack.py +159 -0
  264. package/.claude/archive/skills/document-pptx/ooxml/scripts/unpack.py +29 -0
  265. package/.claude/archive/skills/document-pptx/ooxml/scripts/validate.py +69 -0
  266. package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/__init__.py +15 -0
  267. package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/base.py +951 -0
  268. package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/docx.py +274 -0
  269. package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/pptx.py +315 -0
  270. package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/redlining.py +279 -0
  271. package/.claude/archive/skills/document-pptx/ooxml.md +427 -0
  272. package/.claude/archive/skills/document-pptx/scripts/html2pptx.js +979 -0
  273. package/.claude/archive/skills/document-pptx/scripts/inventory.py +1020 -0
  274. package/.claude/archive/skills/document-pptx/scripts/rearrange.py +231 -0
  275. package/.claude/archive/skills/document-pptx/scripts/replace.py +385 -0
  276. package/.claude/archive/skills/document-pptx/scripts/thumbnail.py +450 -0
  277. package/.claude/archive/skills/document-xlsx/LICENSE.txt +30 -0
  278. package/.claude/archive/skills/document-xlsx/SKILL.md +289 -0
  279. package/.claude/archive/skills/document-xlsx/recalc.py +178 -0
  280. package/.claude/archive/skills/image-enhancer/SKILL.md +99 -0
  281. package/.claude/archive/skills/meeting-insights-analyzer/SKILL.md +327 -0
  282. package/.claude/archive/skills/slack-gif-creator/LICENSE.txt +202 -0
  283. package/.claude/archive/skills/slack-gif-creator/SKILL.md +646 -0
  284. package/.claude/archive/skills/slack-gif-creator/core/color_palettes.py +302 -0
  285. package/.claude/archive/skills/slack-gif-creator/core/easing.py +230 -0
  286. package/.claude/archive/skills/slack-gif-creator/core/frame_composer.py +469 -0
  287. package/.claude/archive/skills/slack-gif-creator/core/gif_builder.py +246 -0
  288. package/.claude/archive/skills/slack-gif-creator/core/typography.py +357 -0
  289. package/.claude/archive/skills/slack-gif-creator/core/validators.py +264 -0
  290. package/.claude/archive/skills/slack-gif-creator/core/visual_effects.py +494 -0
  291. package/.claude/archive/skills/slack-gif-creator/requirements.txt +4 -0
  292. package/.claude/archive/skills/slack-gif-creator/templates/bounce.py +106 -0
  293. package/.claude/archive/skills/slack-gif-creator/templates/explode.py +331 -0
  294. package/.claude/archive/skills/slack-gif-creator/templates/fade.py +329 -0
  295. package/.claude/archive/skills/slack-gif-creator/templates/flip.py +291 -0
  296. package/.claude/archive/skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
  297. package/.claude/archive/skills/slack-gif-creator/templates/morph.py +329 -0
  298. package/.claude/archive/skills/slack-gif-creator/templates/move.py +293 -0
  299. package/.claude/archive/skills/slack-gif-creator/templates/pulse.py +268 -0
  300. package/.claude/archive/skills/slack-gif-creator/templates/shake.py +127 -0
  301. package/.claude/archive/skills/slack-gif-creator/templates/slide.py +291 -0
  302. package/.claude/archive/skills/slack-gif-creator/templates/spin.py +269 -0
  303. package/.claude/archive/skills/slack-gif-creator/templates/wiggle.py +300 -0
  304. package/.claude/archive/skills/slack-gif-creator/templates/zoom.py +312 -0
  305. package/.claude/archive/skills/twitter-algorithm-optimizer/SKILL.md +327 -0
  306. package/.claude/archive/skills/video-downloader/SKILL.md +99 -0
  307. package/.claude/archive/skills/video-downloader/scripts/download_video.py +145 -0
  308. package/.claude/bash-whitelist-requests/2026-05-28-grep-find-rg.md +68 -0
  309. package/.claude/bash-whitelist-requests/2026-06-01-readonly-filters.md +76 -0
  310. package/.claude/bash-whitelist.txt +124 -0
  311. package/.claude/commands/agent-introspect.md +89 -0
  312. package/.claude/commands/apply-rules.md +363 -0
  313. package/.claude/commands/approve-design.md +219 -0
  314. package/.claude/commands/approve-org-money.md +267 -0
  315. package/.claude/commands/build.md +234 -0
  316. package/.claude/commands/commit.md +97 -0
  317. package/.claude/commands/context-fetch.md +113 -0
  318. package/.claude/commands/create-tool.md +496 -0
  319. package/.claude/commands/design-review.md +138 -0
  320. package/.claude/commands/design.md +807 -0
  321. package/.claude/commands/discharge-byproduct.md +208 -0
  322. package/.claude/commands/doc-review.md +165 -0
  323. package/.claude/commands/document-pair.md +76 -0
  324. package/.claude/commands/error-triage.md +435 -0
  325. package/.claude/commands/eval.md +70 -0
  326. package/.claude/commands/evolve.md +49 -0
  327. package/.claude/commands/finish-task.md +105 -0
  328. package/.claude/commands/gan-build.md +91 -0
  329. package/.claude/commands/gan-design.md +82 -0
  330. package/.claude/commands/gate-bypass.md +77 -0
  331. package/.claude/commands/gate-clear.md +45 -0
  332. package/.claude/commands/gate-status.md +46 -0
  333. package/.claude/commands/harness-audit.md +151 -0
  334. package/.claude/commands/hearing.md +138 -0
  335. package/.claude/commands/impact-check.md +486 -0
  336. package/.claude/commands/init-tasks.md +49 -0
  337. package/.claude/commands/instinct-export.md +47 -0
  338. package/.claude/commands/instinct-import.md +41 -0
  339. package/.claude/commands/instinct-status.md +43 -0
  340. package/.claude/commands/investigate.md +547 -0
  341. package/.claude/commands/learn.md +55 -0
  342. package/.claude/commands/lint-rules.md +400 -0
  343. package/.claude/commands/mode.md +58 -0
  344. package/.claude/commands/modify-feature.md +209 -0
  345. package/.claude/commands/module-review.md +149 -0
  346. package/.claude/commands/move-section.md +67 -0
  347. package/.claude/commands/new-draft.md +67 -0
  348. package/.claude/commands/new-feature.md +286 -0
  349. package/.claude/commands/new-task.md +156 -0
  350. package/.claude/commands/notification.md +107 -0
  351. package/.claude/commands/pm-start.md +119 -0
  352. package/.claude/commands/projects.md +32 -0
  353. package/.claude/commands/promote.md +43 -0
  354. package/.claude/commands/rasis-report.md +1323 -0
  355. package/.claude/commands/release-note.md +130 -0
  356. package/.claude/commands/reply-watch.md +149 -0
  357. package/.claude/commands/requirement.md +352 -0
  358. package/.claude/commands/resume-state.md +187 -0
  359. package/.claude/commands/reviewpr.md +118 -0
  360. package/.claude/commands/save-state.md +100 -0
  361. package/.claude/commands/sentry-pr.md +157 -0
  362. package/.claude/commands/start-task.md +87 -0
  363. package/.claude/commands/system-review.md +147 -0
  364. package/.claude/commands/task-bypass.md +70 -0
  365. package/.claude/commands/task-estimate.md +100 -0
  366. package/.claude/commands/template-apply.md +89 -0
  367. package/.claude/commands/test-design.md +116 -0
  368. package/.claude/commands/transfer-mismatch.md +317 -0
  369. package/.claude/commands/verify.md +51 -0
  370. package/.claude/evals/grader-loop-mode-autonomy.sh +165 -0
  371. package/.claude/evals/grader-system-reminder-attention.sh +99 -0
  372. package/.claude/evals/loop-mode-autonomy.md +121 -0
  373. package/.claude/evals/loop-mode-autonomy.results.template.md +133 -0
  374. package/.claude/evals/system-reminder-attention.md +123 -0
  375. package/.claude/evals/system-reminder-attention.results.template.md +93 -0
  376. package/.claude/evals/system-reminder-attention.runner.md +353 -0
  377. package/.claude/harness-config.local.yml +48 -0
  378. package/.claude/harness-config.yml +534 -0
  379. package/.claude/hooks/agent-marker-clear.sh +43 -0
  380. package/.claude/hooks/agent-marker-set.sh +40 -0
  381. package/.claude/hooks/agent-router-suggest.sh +123 -0
  382. package/.claude/hooks/autonomous-action-guard.sh +242 -0
  383. package/.claude/hooks/byproduct-discharge-guard.sh +128 -0
  384. package/.claude/hooks/check-md-mermaid.sh +144 -0
  385. package/.claude/hooks/check-required-env.sh +95 -0
  386. package/.claude/hooks/check-serena-mcp.sh +123 -0
  387. package/.claude/hooks/confidence-gate.sh +139 -0
  388. package/.claude/hooks/context-budget.sh +233 -0
  389. package/.claude/hooks/delegation-guard.sh +99 -0
  390. package/.claude/hooks/dispatcher-manifest.tsv +38 -0
  391. package/.claude/hooks/draft-flow-guard.sh +304 -0
  392. package/.claude/hooks/failure-loop-detect.sh +139 -0
  393. package/.claude/hooks/gateguard.sh +209 -0
  394. package/.claude/hooks/improvement-proposal.sh +112 -0
  395. package/.claude/hooks/init-tasks-on-start.sh +34 -0
  396. package/.claude/hooks/lib/bypass-logger.sh +82 -0
  397. package/.claude/hooks/lib/confidence-gate/bypass.sh +48 -0
  398. package/.claude/hooks/lib/confidence-gate/extract.sh +99 -0
  399. package/.claude/hooks/lib/confidence-gate/major-agent-filter.sh +59 -0
  400. package/.claude/hooks/lib/confidence-gate/messages.sh +53 -0
  401. package/.claude/hooks/lib/config-loader.sh +784 -0
  402. package/.claude/hooks/lib/delegation-guard/bash-whitelist.sh +323 -0
  403. package/.claude/hooks/lib/delegation-guard/git-deny.sh +188 -0
  404. package/.claude/hooks/lib/delegation-guard/protected-paths.sh +105 -0
  405. package/.claude/hooks/lib/delegation-guard/subagent-detect.sh +40 -0
  406. package/.claude/hooks/lib/dispatcher-core.sh +454 -0
  407. package/.claude/hooks/lib/improvement-proposal/aggregate.py +466 -0
  408. package/.claude/hooks/lib/improvement-proposal/cache.sh +78 -0
  409. package/.claude/hooks/lib/mode-loader.sh +80 -0
  410. package/.claude/hooks/lib/next-actions-parser.sh +153 -0
  411. package/.claude/hooks/lib/project-root.sh +60 -0
  412. package/.claude/hooks/list-md-plan-first-reminder.sh +143 -0
  413. package/.claude/hooks/loop-auto-progress-reminder.sh +108 -0
  414. package/.claude/hooks/loop-confirmation-detector.sh +241 -0
  415. package/.claude/hooks/mode-asana-prompt.sh +61 -0
  416. package/.claude/hooks/mode-enforce.sh +57 -0
  417. package/.claude/hooks/mode-session-start.sh +93 -0
  418. package/.claude/hooks/next-actions-surface.sh +136 -0
  419. package/.claude/hooks/notification-dispatcher.sh +9 -0
  420. package/.claude/hooks/notify.sh +27 -0
  421. package/.claude/hooks/parallel-subagent-reminder.sh +469 -0
  422. package/.claude/hooks/post-tool-use-dispatcher.sh +9 -0
  423. package/.claude/hooks/pre-tool-use-dispatcher.sh +9 -0
  424. package/.claude/hooks/reviewer-count-guard.sh +313 -0
  425. package/.claude/hooks/session-help-surface.sh +192 -0
  426. package/.claude/hooks/session-start-dispatcher.sh +9 -0
  427. package/.claude/hooks/session-start-wrapper.sh +156 -0
  428. package/.claude/hooks/stale-harness-detect.sh +422 -0
  429. package/.claude/hooks/stop-dispatcher.sh +9 -0
  430. package/.claude/hooks/stop.sh +25 -0
  431. package/.claude/hooks/subagent-stop-dispatcher.sh +9 -0
  432. package/.claude/hooks/task-rule-guard.sh +317 -0
  433. package/.claude/hooks/tests/run-tests.sh +23 -0
  434. package/.claude/hooks/tests/test-agent-marker-warn.sh +86 -0
  435. package/.claude/hooks/tests/test-check-required-env.sh +138 -0
  436. package/.claude/hooks/tests/test-confidence-gate.sh +170 -0
  437. package/.claude/hooks/tests/test-config-env-override.sh +220 -0
  438. package/.claude/hooks/tests/test-gate-disable.sh +118 -0
  439. package/.claude/hooks/tests/test-improvement-proposal.sh +284 -0
  440. package/.claude/hooks/tool-call-slip-detector.sh +188 -0
  441. package/.claude/hooks/user-prompt-submit-dispatcher.sh +9 -0
  442. package/.claude/hooks/why-x5-reminder.sh +45 -0
  443. package/.claude/hooks/why-x5-violation-detect.sh +152 -0
  444. package/.claude/hooks/workflow-guard.sh +263 -0
  445. package/.claude/mode.yml +28 -0
  446. package/.claude/project-rules/development-process.md +8 -0
  447. package/.claude/project-rules/git-workflow.md +8 -0
  448. package/.claude/project-rules/modes.md +8 -0
  449. package/.claude/project-rules/self-improvement.md +8 -0
  450. package/.claude/project-rules/task-management.md +8 -0
  451. package/.claude/project-rules/why-x5-output.md +8 -0
  452. package/.claude/project-rules/workflow.md +8 -0
  453. package/.claude/rules/development-process.md +293 -0
  454. package/.claude/rules/git-workflow.md +71 -0
  455. package/.claude/rules/modes.md +189 -0
  456. package/.claude/rules/self-improvement.md +76 -0
  457. package/.claude/rules/task-management.md +261 -0
  458. package/.claude/rules/why-x5-output.md +97 -0
  459. package/.claude/rules/workflow.md +157 -0
  460. package/.claude/rules-details/README.md +67 -0
  461. package/.claude/rules-details/development-process/confidence-gate.md +22 -0
  462. package/.claude/rules-details/development-process/cross-repo-write.md +35 -0
  463. package/.claude/rules-details/development-process/delegation-requirements.md +158 -0
  464. package/.claude/rules-details/development-process/harness-sync.md +21 -0
  465. package/.claude/rules-details/development-process/origin.md +13 -0
  466. package/.claude/rules-details/development-process/parallelization-origin.md +22 -0
  467. package/.claude/rules-details/development-process/research-reuse.md +22 -0
  468. package/.claude/rules-details/development-process/staging-strategy.md +47 -0
  469. package/.claude/rules-details/modes/artifacts.md +34 -0
  470. package/.claude/rules-details/modes/compliance-items.md +120 -0
  471. package/.claude/rules-details/modes/five-layer-enforcement.md +46 -0
  472. package/.claude/rules-details/modes/mode-hooks.md +51 -0
  473. package/.claude/rules-details/modes/origin.md +17 -0
  474. package/.claude/rules-details/self-improvement/l4-mechanics.md +36 -0
  475. package/.claude/rules-details/self-improvement/origin.md +8 -0
  476. package/.claude/rules-details/self-improvement/related-skills.md +35 -0
  477. package/.claude/rules-details/self-improvement/when-to-use-layers.md +39 -0
  478. package/.claude/rules-details/task-management/hook-enforcement.md +25 -0
  479. package/.claude/rules-details/task-management/mandatory-reading.md +20 -0
  480. package/.claude/rules-details/task-management/origin.md +12 -0
  481. package/.claude/rules-details/task-management/parking-lot.md +26 -0
  482. package/.claude/rules-details/task-management/plan-first.md +44 -0
  483. package/.claude/rules-details/task-management/six-articles.md +68 -0
  484. package/.claude/rules-details/task-management/task-migration.md +16 -0
  485. package/.claude/rules-details/task-management/ui-detection.md +11 -0
  486. package/.claude/rules-details/why-x5-output/examples.md +41 -0
  487. package/.claude/rules-details/why-x5-output/feedback-memory.md +14 -0
  488. package/.claude/rules-details/why-x5-output/origin.md +10 -0
  489. package/.claude/rules-details/why-x5-output/v1-v10-history.md +19 -0
  490. package/.claude/rules-details/workflow/10-stage.md +43 -0
  491. package/.claude/rules-details/workflow/14-stage.md +52 -0
  492. package/.claude/rules-details/workflow/byproduct-discharge.md +39 -0
  493. package/.claude/rules-details/workflow/draft-flow-guard.md +31 -0
  494. package/.claude/rules-details/workflow/fan-out.md +70 -0
  495. package/.claude/rules-details/workflow/mece-20.md +36 -0
  496. package/.claude/rules-details/workflow/origin.md +14 -0
  497. package/.claude/rules-details/workflow/refactoring.md +48 -0
  498. package/.claude/rules-details/workflow/related-skills.md +22 -0
  499. package/.claude/rules-details/workflow/reviewer-prompt.md +100 -0
  500. package/.claude/rules-details/workflow/session-persistence.md +46 -0
  501. package/.claude/rules-details/workflow/workflow-guard.md +36 -0
  502. package/.claude/scripts/__pycache__/harness-audit.cpython-313.pyc +0 -0
  503. package/.claude/scripts/agent-stocktake.py +421 -0
  504. package/.claude/scripts/check-md-mermaid.mjs +138 -0
  505. package/.claude/scripts/generate-settings.sh +0 -0
  506. package/.claude/scripts/harness-audit.py +1547 -0
  507. package/.claude/scripts/hc-config.sh +2265 -0
  508. package/.claude/scripts/init-tasks.sh +117 -0
  509. package/.claude/scripts/lib/enforcement-matrix-parse.sh +81 -0
  510. package/.claude/scripts/lib/hc-config-metadata.sh +190 -0
  511. package/.claude/scripts/lib/hc-config-web-server.js +1528 -0
  512. package/.claude/scripts/lib/hc-config-web-ui/app.js +1054 -0
  513. package/.claude/scripts/lib/hc-config-web-ui/index.html +130 -0
  514. package/.claude/scripts/lib/hc-config-web-ui/style.css +522 -0
  515. package/.claude/scripts/new-task-helper.sh +432 -0
  516. package/.claude/scripts/observe-repair.sh +437 -0
  517. package/.claude/scripts/observe-rotate.sh +311 -0
  518. package/.claude/scripts/statusline.sh +239 -0
  519. package/.claude/settings.generated.preview.json +211 -0
  520. package/.claude/settings.json +215 -0
  521. package/.claude/settings.local.example.json +20 -0
  522. package/.claude/settings.local.json +36 -0
  523. package/.claude/skills/agent-introspection-debugging/SKILL.md +123 -0
  524. package/.claude/skills/agent-router/README.md +137 -0
  525. package/.claude/skills/agent-router/SKILL.md +74 -0
  526. package/.claude/skills/agent-router/dispatch-table.yml +352 -0
  527. package/.claude/skills/agent-router/router.py +1086 -0
  528. package/.claude/skills/agent-router/samples/representative_prompts.txt +24 -0
  529. package/.claude/skills/agent-router/tests/__init__.py +0 -0
  530. package/.claude/skills/agent-router/tests/test_router.py +762 -0
  531. package/.claude/skills/artifacts-builder/LICENSE.txt +202 -0
  532. package/.claude/skills/artifacts-builder/SKILL.md +74 -0
  533. package/.claude/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  534. package/.claude/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
  535. package/.claude/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  536. package/.claude/skills/brand-guidelines/LICENSE.txt +202 -0
  537. package/.claude/skills/brand-guidelines/SKILL.md +73 -0
  538. package/.claude/skills/canvas-design/LICENSE.txt +202 -0
  539. package/.claude/skills/canvas-design/SKILL.md +130 -0
  540. package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  541. package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  542. package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  543. package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  544. package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  545. package/.claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  546. package/.claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  547. package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  548. package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  549. package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  550. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  551. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  552. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  553. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  554. package/.claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  555. package/.claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  556. package/.claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  557. package/.claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  558. package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  559. package/.claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  560. package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  561. package/.claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  562. package/.claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  563. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  564. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  565. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  566. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  567. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  568. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  569. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  570. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  571. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  572. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  573. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  574. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  575. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  576. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  577. package/.claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  578. package/.claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  579. package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  580. package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  581. package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  582. package/.claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  583. package/.claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  584. package/.claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  585. package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  586. package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  587. package/.claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  588. package/.claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  589. package/.claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  590. package/.claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  591. package/.claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  592. package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  593. package/.claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  594. package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  595. package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  596. package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  597. package/.claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  598. package/.claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  599. package/.claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  600. package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  601. package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  602. package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  603. package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  604. package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  605. package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  606. package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  607. package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  608. package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  609. package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  610. package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  611. package/.claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  612. package/.claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  613. package/.claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  614. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  615. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  616. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  617. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  618. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  619. package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  620. package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  621. package/.claude/skills/changelog-generator/SKILL.md +104 -0
  622. package/.claude/skills/check-md-mermaid/SKILL.md +62 -0
  623. package/.claude/skills/connect/SKILL.md +156 -0
  624. package/.claude/skills/connect-apps/SKILL.md +80 -0
  625. package/.claude/skills/content-research-writer/SKILL.md +538 -0
  626. package/.claude/skills/continuous-agent-loop/SKILL.md +187 -0
  627. package/.claude/skills/continuous-learning-v2/SKILL.md +238 -0
  628. package/.claude/skills/continuous-learning-v2/config.json +35 -0
  629. package/.claude/skills/continuous-learning-v2/hooks/observe.sh +333 -0
  630. package/.claude/skills/continuous-learning-v2/instinct-cli.py +406 -0
  631. package/.claude/skills/domain-name-brainstormer/SKILL.md +212 -0
  632. package/.claude/skills/eval-harness/SKILL.md +100 -0
  633. package/.claude/skills/eval-harness/swe-bench/README.md +80 -0
  634. package/.claude/skills/eval-harness/swe-bench/config.yml +29 -0
  635. package/.claude/skills/eval-harness/swe-bench/docker/Dockerfile +25 -0
  636. package/.claude/skills/eval-harness/swe-bench/docker/docker-compose.yml +18 -0
  637. package/.claude/skills/eval-harness/swe-bench/results/dry-run-2026-05-04.json +137 -0
  638. package/.claude/skills/eval-harness/swe-bench/results/dry-run-comparison-2026-05-04.md +112 -0
  639. package/.claude/skills/eval-harness/swe-bench/results/dry-run-improved-2026-05-04.json +165 -0
  640. package/.claude/skills/eval-harness/swe-bench/results/raw/astropy__astropy-12907.patch +12 -0
  641. package/.claude/skills/eval-harness/swe-bench/results/raw/astropy__astropy-12907.txt +322 -0
  642. package/.claude/skills/eval-harness/swe-bench/results/raw/astropy__astropy-12907.whole-file.txt +322 -0
  643. package/.claude/skills/eval-harness/swe-bench/runner.py +845 -0
  644. package/.claude/skills/eval-harness/swe-bench/scoring.py +298 -0
  645. package/.claude/skills/eval-harness/swe-bench/tasks/fetch_tasks.py +81 -0
  646. package/.claude/skills/eval-harness/swe-bench/tasks/lite-50.json +702 -0
  647. package/.claude/skills/file-organizer/SKILL.md +433 -0
  648. package/.claude/skills/gan-style-harness/SKILL.md +111 -0
  649. package/.claude/skills/gateguard/.gateguard.yml +47 -0
  650. package/.claude/skills/gateguard/SKILL.md +99 -0
  651. package/.claude/skills/internal-comms/LICENSE.txt +202 -0
  652. package/.claude/skills/internal-comms/SKILL.md +32 -0
  653. package/.claude/skills/internal-comms/examples/3p-updates.md +47 -0
  654. package/.claude/skills/internal-comms/examples/company-newsletter.md +65 -0
  655. package/.claude/skills/internal-comms/examples/faq-answers.md +30 -0
  656. package/.claude/skills/internal-comms/examples/general-comms.md +16 -0
  657. package/.claude/skills/invoice-organizer/SKILL.md +446 -0
  658. package/.claude/skills/karpathy-guidelines/SKILL.md +67 -0
  659. package/.claude/skills/langsmith-fetch/SKILL.md +485 -0
  660. package/.claude/skills/lead-research-assistant/SKILL.md +199 -0
  661. package/.claude/skills/mcp-builder/LICENSE.txt +202 -0
  662. package/.claude/skills/mcp-builder/SKILL.md +328 -0
  663. package/.claude/skills/mcp-builder/reference/evaluation.md +602 -0
  664. package/.claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
  665. package/.claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
  666. package/.claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
  667. package/.claude/skills/mcp-builder/scripts/connections.py +151 -0
  668. package/.claude/skills/mcp-builder/scripts/evaluation.py +373 -0
  669. package/.claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  670. package/.claude/skills/mcp-builder/scripts/requirements.txt +2 -0
  671. package/.claude/skills/raffle-winner-picker/SKILL.md +159 -0
  672. package/.claude/skills/repo-map/README.md +125 -0
  673. package/.claude/skills/repo-map/SKILL.md +128 -0
  674. package/.claude/skills/repo-map/examples/sample-output.md +1194 -0
  675. package/.claude/skills/repo-map/repo-map.py +715 -0
  676. package/.claude/skills/salesforce-e2e-testing/SKILL.md +116 -0
  677. package/.claude/skills/salesforce-e2e-testing/catalog-template.md +161 -0
  678. package/.claude/skills/salesforce-e2e-testing/methodology.md +179 -0
  679. package/.claude/skills/salesforce-e2e-testing/observation-rules.md +280 -0
  680. package/.claude/skills/salesforce-e2e-testing/pattern-taxonomy.md +392 -0
  681. package/.claude/skills/salesforce-e2e-testing/procedure-template.md +376 -0
  682. package/.claude/skills/skill-creator/LICENSE.txt +202 -0
  683. package/.claude/skills/skill-creator/SKILL.md +209 -0
  684. package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
  685. package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
  686. package/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
  687. package/.claude/skills/skill-share/SKILL.md +80 -0
  688. package/.claude/skills/tailored-resume-generator/SKILL.md +345 -0
  689. package/.claude/skills/template-skill/SKILL.md +6 -0
  690. package/.claude/skills/theme-factory/LICENSE.txt +202 -0
  691. package/.claude/skills/theme-factory/SKILL.md +59 -0
  692. package/.claude/skills/theme-factory/theme-showcase.pdf +0 -0
  693. package/.claude/skills/theme-factory/themes/arctic-frost.md +19 -0
  694. package/.claude/skills/theme-factory/themes/botanical-garden.md +19 -0
  695. package/.claude/skills/theme-factory/themes/desert-rose.md +19 -0
  696. package/.claude/skills/theme-factory/themes/forest-canopy.md +19 -0
  697. package/.claude/skills/theme-factory/themes/golden-hour.md +19 -0
  698. package/.claude/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  699. package/.claude/skills/theme-factory/themes/modern-minimalist.md +19 -0
  700. package/.claude/skills/theme-factory/themes/ocean-depths.md +19 -0
  701. package/.claude/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  702. package/.claude/skills/theme-factory/themes/tech-innovation.md +19 -0
  703. package/.claude/skills/verification-loop/SKILL.md +129 -0
  704. package/.claude/skills/webapp-testing/LICENSE.txt +202 -0
  705. package/.claude/skills/webapp-testing/SKILL.md +96 -0
  706. package/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
  707. package/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
  708. package/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
  709. package/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
  710. package/.claude/templates/docs/draft/_DRAFT_TEMPLATE.md +162 -0
  711. package/.claude/templates/docs/draft/_TEST_DESIGN_TEMPLATE.md +76 -0
  712. package/.claude/templates/docs/tasks/_TASK_TEMPLATE.md +276 -0
  713. package/.claude/templates/docs/tasks/list.md +80 -0
  714. package/.claude/templates/docs/tasks/parking-lot.md +82 -0
  715. package/.claude/templates/settings.user-level.json.template +306 -0
  716. package/.claude/tests/SMOKE-CLASSIFICATION.md +199 -0
  717. package/.claude/tests/action-space-count-smoke.sh +130 -0
  718. package/.claude/tests/agent-router-suggest-wiring-smoke.sh +188 -0
  719. package/.claude/tests/audit-followups-smoke.sh +158 -0
  720. package/.claude/tests/autonomous-action-guard-relaxation-smoke.sh +479 -0
  721. package/.claude/tests/autonomous-action-guard-smoke.sh +187 -0
  722. package/.claude/tests/check-serena-mcp-smoke.sh +156 -0
  723. package/.claude/tests/common-rules-import-smoke.sh +209 -0
  724. package/.claude/tests/confidence-gate-smoke.sh +220 -0
  725. package/.claude/tests/config-feature-toggles-smoke.sh +389 -0
  726. package/.claude/tests/context-budget-smoke.sh +222 -0
  727. package/.claude/tests/custom-pm-commands-smoke.sh +93 -0
  728. package/.claude/tests/delegation-guard-code-smoke.sh +244 -0
  729. package/.claude/tests/delegation-guard-deny-layers-smoke.sh +356 -0
  730. package/.claude/tests/delegation-guard-readonly-filter-smoke.sh +205 -0
  731. package/.claude/tests/delegation-guard-search-whitelist-smoke.sh +152 -0
  732. package/.claude/tests/delegation-guard-segment-smoke.sh +109 -0
  733. package/.claude/tests/dispatcher-blocker-invariance-smoke.sh +700 -0
  734. package/.claude/tests/dispatcher-core-smoke.sh +452 -0
  735. package/.claude/tests/dispatcher-merge-matrix-smoke.sh +825 -0
  736. package/.claude/tests/dispatcher-success-stdout-smoke.sh +290 -0
  737. package/.claude/tests/draft-flow-guard-approved-dir-smoke.sh +234 -0
  738. package/.claude/tests/draft-flow-guard-smoke.sh +194 -0
  739. package/.claude/tests/dual-mode-portability-smoke.sh +131 -0
  740. package/.claude/tests/effective-hook-matrix-smoke.sh +261 -0
  741. package/.claude/tests/enforcement-mismatch-smoke.sh +263 -0
  742. package/.claude/tests/fixtures/cascade-sample.jsonl +9 -0
  743. package/.claude/tests/fixtures/next-actions/case-clean.md +14 -0
  744. package/.claude/tests/fixtures/next-actions/case-with-red.md +16 -0
  745. package/.claude/tests/fixtures/next-actions/case-with-yellow-only.md +14 -0
  746. package/.claude/tests/fixtures/normal-broken-scatter.jsonl +5 -0
  747. package/.claude/tests/fixtures/task-71/blocker-baseline.tsv +24 -0
  748. package/.claude/tests/fixtures/task-71/settings-inventory.tsv +37 -0
  749. package/.claude/tests/fixtures/transcript-50pct.jsonl +2 -0
  750. package/.claude/tests/fixtures/transcript-60pct.jsonl +2 -0
  751. package/.claude/tests/fixtures/transcript-80pct.jsonl +2 -0
  752. package/.claude/tests/fixtures/transcript-95pct.jsonl +2 -0
  753. package/.claude/tests/fixtures/workflow-guard/case-2-mid.json +21 -0
  754. package/.claude/tests/fixtures/workflow-guard/case-3-blocked.json +33 -0
  755. package/.claude/tests/fixtures/workflow-guard/case-4-clean.json +27 -0
  756. package/.claude/tests/fixtures/workflow-guard/case-8-modify.json +23 -0
  757. package/.claude/tests/fixtures/workflow-guard/inputs/case-1.json +1 -0
  758. package/.claude/tests/fixtures/workflow-guard/inputs/case-2.json +1 -0
  759. package/.claude/tests/fixtures/workflow-guard/inputs/case-3.json +1 -0
  760. package/.claude/tests/fixtures/workflow-guard/inputs/case-4.json +1 -0
  761. package/.claude/tests/fixtures/workflow-guard/inputs/case-5.json +1 -0
  762. package/.claude/tests/fixtures/workflow-guard/inputs/case-6.json +1 -0
  763. package/.claude/tests/fixtures/workflow-guard/inputs/case-7.json +1 -0
  764. package/.claude/tests/fixtures/workflow-guard/inputs/case-8.json +1 -0
  765. package/.claude/tests/gateguard-smoke.sh +213 -0
  766. package/.claude/tests/git-deny-mainline-policy-smoke.sh +222 -0
  767. package/.claude/tests/harness-audit-c-batch-smoke.sh +270 -0
  768. package/.claude/tests/harness-audit-compare-smoke.sh +186 -0
  769. package/.claude/tests/harness-audit-pipeline-health-smoke.sh +326 -0
  770. package/.claude/tests/harness-config-local-smoke.sh +232 -0
  771. package/.claude/tests/hc-config-git-policy-smoke.sh +241 -0
  772. package/.claude/tests/hc-config-key-parity-smoke.sh +149 -0
  773. package/.claude/tests/hc-config-migration-smoke.sh +251 -0
  774. package/.claude/tests/hc-config-script-smoke.sh +1106 -0
  775. package/.claude/tests/hc-config-tui-smoke.sh +801 -0
  776. package/.claude/tests/hc-config-web-ui-smoke.sh +3224 -0
  777. package/.claude/tests/hook-cwd-robustness-smoke.sh +206 -0
  778. package/.claude/tests/hook-frequency-tweaks-smoke.sh +312 -0
  779. package/.claude/tests/improvement-proposal-cache-smoke.sh +238 -0
  780. package/.claude/tests/install-sh-overwrite-all-smoke.sh +274 -0
  781. package/.claude/tests/install-sh-regen-settings-smoke.sh +301 -0
  782. package/.claude/tests/install-sh-sync-drift-smoke.sh +285 -0
  783. package/.claude/tests/layer-b-context-isolation-smoke.sh +392 -0
  784. package/.claude/tests/list-md-plan-first-reminder-smoke.sh +313 -0
  785. package/.claude/tests/loop-auto-progress-smoke.sh +372 -0
  786. package/.claude/tests/loop-confirmation-detector-smoke.sh +674 -0
  787. package/.claude/tests/new-task-batch-update-smoke.sh +664 -0
  788. package/.claude/tests/next-actions-hooks-smoke.sh +283 -0
  789. package/.claude/tests/npx-cli-smoke.sh +696 -0
  790. package/.claude/tests/observe-flock-smoke.sh +223 -0
  791. package/.claude/tests/observe-jq-parse-smoke.sh +250 -0
  792. package/.claude/tests/observe-repair-smoke.sh +475 -0
  793. package/.claude/tests/observe-rotate-smoke.sh +428 -0
  794. package/.claude/tests/observe-subagent-stop-smoke.sh +476 -0
  795. package/.claude/tests/parallel-subagent-reminder-smoke.sh +918 -0
  796. package/.claude/tests/project-root-smoke.sh +140 -0
  797. package/.claude/tests/project-rules-protection-smoke.sh +199 -0
  798. package/.claude/tests/review-required-min-count-smoke.sh +286 -0
  799. package/.claude/tests/reviewer-count-guard-smoke.sh +490 -0
  800. package/.claude/tests/rule-architecture-smoke.sh +418 -0
  801. package/.claude/tests/rule-change-draft-flow-guard-smoke.sh +343 -0
  802. package/.claude/tests/run-all-smokes.sh +340 -0
  803. package/.claude/tests/session-help-surface-smoke.sh +224 -0
  804. package/.claude/tests/session-start-parallel-smoke.sh +165 -0
  805. package/.claude/tests/sessionstart-budget-smoke.sh +185 -0
  806. package/.claude/tests/sessionstart-footprint-smoke.sh +258 -0
  807. package/.claude/tests/settings-dispatcher-baseline-smoke.sh +709 -0
  808. package/.claude/tests/settings-generation-feature-pruning-smoke.sh +196 -0
  809. package/.claude/tests/stale-harness-detect-smoke.sh +974 -0
  810. package/.claude/tests/statusline-smoke.sh +180 -0
  811. package/.claude/tests/task-rule-guard-smoke.sh +656 -0
  812. package/.claude/tests/tool-call-slip-detector-smoke.sh +101 -0
  813. package/.claude/tests/wave-precheck-template-smoke.sh +159 -0
  814. package/.claude/tests/why-x5-violation-detect-smoke.sh +157 -0
  815. package/.claude/tests/workflow-guard-smoke.sh +266 -0
  816. package/CLAUDE.md +75 -0
  817. package/LICENSE +21 -0
  818. package/README.md +790 -0
  819. package/bin/cli.js +395 -0
  820. package/docs/INVENTORY.md +163 -0
  821. package/install.sh +769 -0
  822. package/package.json +25 -0
@@ -0,0 +1,263 @@
1
+ #!/usr/bin/env bash
2
+ # .claude/hooks/workflow-guard.sh
3
+ # PreToolUse(Bash) hook — /finish-task で .claude/.workflow-state/<slug>.json を検証
4
+ # 仕様: docs/draft/workflow-enforcement.md v2 §3 W4 + .claude/.workflow-state/SCHEMA.md
5
+ #
6
+ # 役割:
7
+ # /finish-task <slug> 実行直前に下記 2 つを構造化判定する:
8
+ # A. current_stage が workflow_stages_{new|modify} の最終 stage に達しているか
9
+ # B. pending_findings.module_review / pending_findings.system_review が両方とも空配列か
10
+ # どちらか fail なら BLOCK + stderr に問題内容 + 推奨アクションを出力。
11
+ #
12
+ # 重要制約 (round-2 review):
13
+ # - grep / 文字列マッチ依存禁止。state JSON の構造化 parse のみで判定。
14
+ # - stage 名で判定(step 番号は使わない)。
15
+ #
16
+ # Args: $1 = tool name (Bash) — JSON tool_name 優先
17
+ # Stdin: PreToolUse JSON
18
+ #
19
+ # Bypass:
20
+ # ECC_WORKFLOW_GUARD_OFF=1 # 全 skip + bypass.log 記録
21
+ # HC_WORKFLOW_GUARD_ENABLED=false # 全 skip + bypass.log 記録 (config 系統)
22
+ #
23
+ # Bypass log path: .claude/.workflow-state/bypass.log (lib/bypass-logger.sh 経由で append)
24
+ # <ISO-8601> | <session_id> | workflow-guard | <var> | <reason>
25
+
26
+ set -uo pipefail # ⚠️ set -e は使わない (mode-loader.sh の CB-verify 教訓 - 5846925 参照)
27
+
28
+ # === config 読み込み (HC_WORKFLOW_STAGES_NEW / _MODIFY 取得) ===
29
+ # shellcheck source=lib/config-loader.sh
30
+ source "${CLAUDE_PROJECT_DIR:-$(pwd)}/.claude/hooks/lib/config-loader.sh"
31
+
32
+ # Feature toggle 参照 (task-45 Phase 2)
33
+ if command -v is_feature_enabled >/dev/null 2>&1 && ! is_feature_enabled workflow_enforcement; then
34
+ echo '{}'
35
+ exit 0 # feature OFF で no-op
36
+ fi
37
+
38
+ # === bypass.log 共通ライブラリ ===
39
+ # shellcheck source=lib/bypass-logger.sh
40
+ source "${CLAUDE_PROJECT_DIR:-$(pwd)}/.claude/hooks/lib/bypass-logger.sh"
41
+
42
+ # === workflow-state root (state file 解決に使用) ===
43
+ _workflow_state_root="${CLAUDE_PROJECT_DIR:-$(pwd)}/.claude/.workflow-state"
44
+
45
+ # === Bypass: ECC_WORKFLOW_GUARD_OFF ===
46
+ if [ "${ECC_WORKFLOW_GUARD_OFF:-0}" = "1" ] || [ "${ECC_WORKFLOW_GUARD_OFF:-}" = "true" ]; then
47
+ log_bypass "workflow-guard" "ECC_WORKFLOW_GUARD_OFF" "${ECC_BYPASS_REASON:-(not provided)}"
48
+ echo '{}'
49
+ exit 0
50
+ fi
51
+
52
+ # === Bypass: HC_WORKFLOW_GUARD_ENABLED=false ===
53
+ if [ "${HC_WORKFLOW_GUARD_ENABLED:-true}" = "false" ]; then
54
+ log_bypass "workflow-guard" "HC_WORKFLOW_GUARD_ENABLED" "${ECC_BYPASS_REASON:-(not provided)}"
55
+ echo '{}'
56
+ exit 0
57
+ fi
58
+
59
+ # === stdin 読み取り ===
60
+ input=$(cat)
61
+
62
+ # === jq 必須 (fallback: python3) ===
63
+ _has_jq=0
64
+ if command -v jq >/dev/null 2>&1; then
65
+ _has_jq=1
66
+ fi
67
+ _has_py=0
68
+ if command -v python3 >/dev/null 2>&1; then
69
+ _has_py=1
70
+ fi
71
+ if [ "$_has_jq" = "0" ] && [ "$_has_py" = "0" ]; then
72
+ # parser 不在: fail-open
73
+ echo '{}'
74
+ exit 0
75
+ fi
76
+
77
+ # === JSON field 抽出 helper ===
78
+ # jq があれば jq、なければ python3
79
+ _json_get() {
80
+ # $1 = JSON string
81
+ # $2 = jq filter (e.g. ".tool_name")
82
+ # $3 = python expression equivalent (e.g. "data.get('tool_name', '')")
83
+ if [ "$_has_jq" = "1" ]; then
84
+ printf '%s' "$1" | jq -r "$2 // empty" 2>/dev/null
85
+ else
86
+ printf '%s' "$1" | python3 -c "
87
+ import json, sys
88
+ try:
89
+ data = json.load(sys.stdin)
90
+ v = $3
91
+ print(v if v is not None else '')
92
+ except Exception:
93
+ print('')
94
+ " 2>/dev/null
95
+ fi
96
+ }
97
+
98
+ # === tool name 取得 ===
99
+ tool=$(_json_get "$input" '.tool_name' "data.get('tool_name')")
100
+ if [ -z "$tool" ] || [ "$tool" = "null" ]; then
101
+ tool="${1:-}"
102
+ fi
103
+
104
+ # === Bash 以外は素通し ===
105
+ if [ "$tool" != "Bash" ]; then
106
+ echo '{}'
107
+ exit 0
108
+ fi
109
+
110
+ # === command 取得 ===
111
+ cmd=$(_json_get "$input" '.tool_input.command' "data.get('tool_input', {}).get('command', '')")
112
+ if [ -z "$cmd" ]; then
113
+ echo '{}'
114
+ exit 0
115
+ fi
116
+
117
+ # === /finish-task or finish-task 検出 + slug 抽出 ===
118
+ # 許可: "/finish-task <slug>" / "finish-task <slug>"
119
+ # slug 規約: ^[a-z0-9][a-z0-9-]{2,48}$ (git branch 規約準拠)
120
+ slug=""
121
+ if printf '%s' "$cmd" | grep -qE '(^|[[:space:]])/?finish-task[[:space:]]+[a-z0-9][a-z0-9-]{2,48}([[:space:]]|$)'; then
122
+ # extract: first non-space token after "finish-task"
123
+ slug=$(printf '%s' "$cmd" | sed -nE 's/.*[[:space:]/]finish-task[[:space:]]+([a-z0-9][a-z0-9-]{2,48}).*/\1/p' | head -n1)
124
+ # fallback if anchored at start
125
+ if [ -z "$slug" ]; then
126
+ slug=$(printf '%s' "$cmd" | sed -nE 's/^[[:space:]]*\/?finish-task[[:space:]]+([a-z0-9][a-z0-9-]{2,48}).*/\1/p' | head -n1)
127
+ fi
128
+ fi
129
+
130
+ if [ -z "$slug" ]; then
131
+ echo '{}'
132
+ exit 0
133
+ fi
134
+
135
+ # === state JSON 不在: 旧 task 互換のため素通し ===
136
+ state_file="${_workflow_state_root}/${slug}.json"
137
+ if [ ! -f "$state_file" ]; then
138
+ echo '{}'
139
+ exit 0
140
+ fi
141
+
142
+ # === state JSON parse (workflow_type / current_stage / pending_findings) ===
143
+ if [ "$_has_jq" = "1" ]; then
144
+ workflow_type=$(jq -r '.workflow_type // empty' "$state_file" 2>/dev/null)
145
+ current_stage=$(jq -r '.current_stage // empty' "$state_file" 2>/dev/null)
146
+ mr_count=$(jq -r '(.pending_findings.module_review // []) | length' "$state_file" 2>/dev/null)
147
+ sr_count=$(jq -r '(.pending_findings.system_review // []) | length' "$state_file" 2>/dev/null)
148
+ else
149
+ # python3 fallback
150
+ _state_json=$(cat "$state_file" 2>/dev/null)
151
+ workflow_type=$(printf '%s' "$_state_json" | python3 -c "
152
+ import json, sys
153
+ try:
154
+ d = json.load(sys.stdin)
155
+ print(d.get('workflow_type', ''))
156
+ except Exception:
157
+ print('')
158
+ " 2>/dev/null)
159
+ current_stage=$(printf '%s' "$_state_json" | python3 -c "
160
+ import json, sys
161
+ try:
162
+ d = json.load(sys.stdin)
163
+ print(d.get('current_stage', ''))
164
+ except Exception:
165
+ print('')
166
+ " 2>/dev/null)
167
+ mr_count=$(printf '%s' "$_state_json" | python3 -c "
168
+ import json, sys
169
+ try:
170
+ d = json.load(sys.stdin)
171
+ print(len(d.get('pending_findings', {}).get('module_review', []) or []))
172
+ except Exception:
173
+ print('0')
174
+ " 2>/dev/null)
175
+ sr_count=$(printf '%s' "$_state_json" | python3 -c "
176
+ import json, sys
177
+ try:
178
+ d = json.load(sys.stdin)
179
+ print(len(d.get('pending_findings', {}).get('system_review', []) or []))
180
+ except Exception:
181
+ print('0')
182
+ " 2>/dev/null)
183
+ fi
184
+
185
+ # === workflow_type 別 stage 列取得 ===
186
+ if [ "$workflow_type" = "new" ]; then
187
+ stages="$HC_WORKFLOW_STAGES_NEW"
188
+ elif [ "$workflow_type" = "modify" ]; then
189
+ stages="$HC_WORKFLOW_STAGES_MODIFY"
190
+ else
191
+ # workflow_type 不明: fail-open (旧 task 互換 / 想定外データ)
192
+ echo '{}'
193
+ exit 0
194
+ fi
195
+
196
+ # 最終 stage 取得 (改行区切り→最終行)
197
+ final_stage=$(printf '%s' "$stages" | awk 'NF{last=$0} END{print last}')
198
+ if [ -z "$final_stage" ]; then
199
+ # config 不整合: fail-open
200
+ echo '{}'
201
+ exit 0
202
+ fi
203
+
204
+ # === 判定 A: current_stage が最終 stage に達しているか ===
205
+ stage_ok=0
206
+ if [ "$current_stage" = "$final_stage" ]; then
207
+ stage_ok=1
208
+ fi
209
+
210
+ # === 判定 B: pending findings が両方とも空か ===
211
+ findings_ok=0
212
+ if [ "${mr_count:-0}" = "0" ] && [ "${sr_count:-0}" = "0" ]; then
213
+ findings_ok=1
214
+ fi
215
+
216
+ # === pass: 両方 OK ===
217
+ if [ "$stage_ok" = "1" ] && [ "$findings_ok" = "1" ]; then
218
+ echo '{}'
219
+ exit 0
220
+ fi
221
+
222
+ # === BLOCK: 問題内容を組み立て ===
223
+ problems=""
224
+ recommendations=""
225
+
226
+ if [ "$stage_ok" = "0" ]; then
227
+ problems="${problems}- current_stage='${current_stage}' が最終 stage='${final_stage}' (workflow_type=${workflow_type}) に達していません"$'\n'
228
+ recommendations="${recommendations}- 残り stage を順次完了させてから /finish-task ${slug} を実行してください"$'\n'
229
+ fi
230
+
231
+ if [ "$findings_ok" = "0" ]; then
232
+ problems="${problems}- pending_findings に未解決の指摘があります (module_review=${mr_count} / system_review=${sr_count})"$'\n'
233
+ recommendations="${recommendations}- /module-review および /system-review の指摘事項を全て解決 (修正 or skip 承認) してから /finish-task ${slug} を実行してください"$'\n'
234
+ fi
235
+
236
+ reason="[workflow-guard] BLOCK: /finish-task ${slug} は workflow 完了条件を満たしません。
237
+
238
+ state file: ${state_file}
239
+ workflow_type: ${workflow_type}
240
+
241
+ 問題:
242
+ ${problems}
243
+ 推奨アクション:
244
+ ${recommendations}
245
+ Bypass (audit-logged):
246
+ ECC_WORKFLOW_GUARD_OFF=1 ECC_BYPASS_REASON='<理由>' /finish-task ${slug}
247
+ または HC_WORKFLOW_GUARD_ENABLED=false (harness-config.yml)"
248
+
249
+ # stderr にも出す (PreToolUse block reason はモデルに渡るが、stderr は user/log に渡る)
250
+ printf '%s\n' "$reason" >&2
251
+
252
+ if [ "$_has_jq" = "1" ]; then
253
+ jq -n --arg r "$reason" '{decision:"block", reason:$r}'
254
+ else
255
+ # python3 fallback
256
+ printf '%s' "$reason" | python3 -c "
257
+ import json, sys
258
+ r = sys.stdin.read()
259
+ print(json.dumps({'decision': 'block', 'reason': r}))
260
+ " 2>/dev/null
261
+ fi
262
+
263
+ exit 2
@@ -0,0 +1,28 @@
1
+ # HIRAI メソッド 動作モード
2
+ #
3
+ # 設定ファイル 1 枚で動作モードを切替える。slash command `/mode <normal|loop>` でも更新可能。
4
+ #
5
+ # === 値の意味 ===
6
+ # - normal: 通常モード。重要分岐でユーザに確認を求めながら進める。Why × 5 表示は常時 ON。
7
+ # - loop : Loop モード。ユーザの明示的な停止指示までは、AI が推奨する方法を即採用して
8
+ # 実装を継続する。中間確認は行わない(Why × 5 表示は維持)。
9
+ # 停止条件: (1) ユーザの停止指示 (2) タスク完了 (3) 致命エラー
10
+ #
11
+ # === 環境変数による上書き ===
12
+ # `HC_MODE=loop` で本ファイル値を上書き可能(一時切替向け)。
13
+ # 値解決の優先順 (高 → 低): env > YAML > default(normal)
14
+
15
+ mode: loop
16
+
17
+ # === Asana 利用モード ===
18
+ # このプロジェクトで Asana 連携 (Asana タスク文脈取得 / docs/work.md 自動生成 / Slack スレ取込) を
19
+ # 利用するかどうかを per-project で管理。
20
+ #
21
+ # 値:
22
+ # - true : Asana 連携 ON。/work-init, work-session-check.sh, Asana MCP 関連機能が有効
23
+ # - false : Asana 連携 OFF。上記機能は no-op、ハーネスは Asana 抜きで動作 (OSS / 個人プロジェクト向け)
24
+ # - (unset / null) : 未決定。SessionStart hook (mode-asana-prompt.sh) が user に 1 度だけヒアリング
25
+ #
26
+ # 切替: slash command `/mode asana on` / `/mode asana off` でも更新可能
27
+ # 上書き env: `HC_ASANA_ENABLED=true` / `=false`
28
+ asana_enabled: false
@@ -0,0 +1,8 @@
1
+ # project 固有ルール: development-process (CommonRules / harness rule への追補)
2
+
3
+ > 本 file は **project 所有** (`install.sh --update` で上書きされない、なければ作成のみ)。
4
+ > `.claude/rules/development-process.md` (harness 所有・update 上書き) から `@import` され、harness rule の**後に**結合 load される。
5
+ > harness 共通 rule を変えたい時は本 file に override/追補を書く (7 harness rule 本体は触らない)。
6
+ > 新規ルール領域は `.claude/project-rules/` に新 file 追加 + 必要なら CLAUDE.md / 既存 rule から @import。
7
+
8
+ <!-- ここに project 固有のルールを記述。空のままでも可 (harness rule のみ有効)。 -->
@@ -0,0 +1,8 @@
1
+ # project 固有ルール: git-workflow (CommonRules / harness rule への追補)
2
+
3
+ > 本 file は **project 所有** (`install.sh --update` で上書きされない、なければ作成のみ)。
4
+ > `.claude/rules/git-workflow.md` (harness 所有・update 上書き) から `@import` され、harness rule の**後に**結合 load される。
5
+ > harness 共通 rule を変えたい時は本 file に override/追補を書く (7 harness rule 本体は触らない)。
6
+ > 新規ルール領域は `.claude/project-rules/` に新 file 追加 + 必要なら CLAUDE.md / 既存 rule から @import。
7
+
8
+ <!-- ここに project 固有のルールを記述。空のままでも可 (harness rule のみ有効)。 -->
@@ -0,0 +1,8 @@
1
+ # project 固有ルール: modes (CommonRules / harness rule への追補)
2
+
3
+ > 本 file は **project 所有** (`install.sh --update` で上書きされない、なければ作成のみ)。
4
+ > `.claude/rules/modes.md` (harness 所有・update 上書き) から `@import` され、harness rule の**後に**結合 load される。
5
+ > harness 共通 rule を変えたい時は本 file に override/追補を書く (7 harness rule 本体は触らない)。
6
+ > 新規ルール領域は `.claude/project-rules/` に新 file 追加 + 必要なら CLAUDE.md / 既存 rule から @import。
7
+
8
+ <!-- ここに project 固有のルールを記述。空のままでも可 (harness rule のみ有効)。 -->
@@ -0,0 +1,8 @@
1
+ # project 固有ルール: self-improvement (CommonRules / harness rule への追補)
2
+
3
+ > 本 file は **project 所有** (`install.sh --update` で上書きされない、なければ作成のみ)。
4
+ > `.claude/rules/self-improvement.md` (harness 所有・update 上書き) から `@import` され、harness rule の**後に**結合 load される。
5
+ > harness 共通 rule を変えたい時は本 file に override/追補を書く (7 harness rule 本体は触らない)。
6
+ > 新規ルール領域は `.claude/project-rules/` に新 file 追加 + 必要なら CLAUDE.md / 既存 rule から @import。
7
+
8
+ <!-- ここに project 固有のルールを記述。空のままでも可 (harness rule のみ有効)。 -->
@@ -0,0 +1,8 @@
1
+ # project 固有ルール: task-management (CommonRules / harness rule への追補)
2
+
3
+ > 本 file は **project 所有** (`install.sh --update` で上書きされない、なければ作成のみ)。
4
+ > `.claude/rules/task-management.md` (harness 所有・update 上書き) から `@import` され、harness rule の**後に**結合 load される。
5
+ > harness 共通 rule を変えたい時は本 file に override/追補を書く (7 harness rule 本体は触らない)。
6
+ > 新規ルール領域は `.claude/project-rules/` に新 file 追加 + 必要なら CLAUDE.md / 既存 rule から @import。
7
+
8
+ <!-- ここに project 固有のルールを記述。空のままでも可 (harness rule のみ有効)。 -->
@@ -0,0 +1,8 @@
1
+ # project 固有ルール: why-x5-output (CommonRules / harness rule への追補)
2
+
3
+ > 本 file は **project 所有** (`install.sh --update` で上書きされない、なければ作成のみ)。
4
+ > `.claude/rules/why-x5-output.md` (harness 所有・update 上書き) から `@import` され、harness rule の**後に**結合 load される。
5
+ > harness 共通 rule を変えたい時は本 file に override/追補を書く (7 harness rule 本体は触らない)。
6
+ > 新規ルール領域は `.claude/project-rules/` に新 file 追加 + 必要なら CLAUDE.md / 既存 rule から @import。
7
+
8
+ <!-- ここに project 固有のルールを記述。空のままでも可 (harness rule のみ有効)。 -->
@@ -0,0 +1,8 @@
1
+ # project 固有ルール: workflow (CommonRules / harness rule への追補)
2
+
3
+ > 本 file は **project 所有** (`install.sh --update` で上書きされない、なければ作成のみ)。
4
+ > `.claude/rules/workflow.md` (harness 所有・update 上書き) から `@import` され、harness rule の**後に**結合 load される。
5
+ > harness 共通 rule を変えたい時は本 file に override/追補を書く (7 harness rule 本体は触らない)。
6
+ > 新規ルール領域は `.claude/project-rules/` に新 file 追加 + 必要なら CLAUDE.md / 既存 rule から @import。
7
+
8
+ <!-- ここに project 固有のルールを記述。空のままでも可 (harness rule のみ有効)。 -->
@@ -0,0 +1,293 @@
1
+ ---
2
+ paths:
3
+ - "src/**/*"
4
+ - "scripts/**/*"
5
+ - "tests/**/*"
6
+ - "docs/tasks/**/*"
7
+ - "docs/draft/**/*"
8
+ - "doc/**/*"
9
+ - "force-app/**/*"
10
+ - "**/*.js"
11
+ - "**/*.php"
12
+ - "**/*.jsx"
13
+ - "**/*.html"
14
+ - "**/*.css"
15
+ ---
16
+
17
+ # 開発プロセスルール
18
+
19
+ 本 rule は TDD・サブエージェント委譲・Bash 制御・並列化・staging 戦略・Confidence Gate・harness 取込の SSoT を集約する。`src/` `tests/` `scripts/` `docs/tasks/` `docs/draft/` 編集時に自動 Read される。
20
+
21
+ > **Layer B (詳細版) Read trigger** (4 条件):
22
+ > 1. **違反検出時**: hook BLOCK / warn 注入受領 / regex 不一致
23
+ > 2. **規範変更時**: rule 編集 / draft 起案 / 採用 N 条改定
24
+ > 3. **新規事案**: 初遭遇 keyword / 例外パターン疑い
25
+ > 4. **学習 / dogfood**: task 着手前依存先必読 / harness audit / 副産物整理
26
+ >
27
+ > 通常運用は Layer A のみで判断、Layer B Read skip (token 節約)。
28
+ > 詳細: 各 § 末尾 pointer から該当断片を直リンク Read (断片群: [`../rules-details/development-process/`](../rules-details/development-process/))
29
+
30
+ ## コーディング指針 / 出力 / 研究 (必読)
31
+
32
+ | 規範 | SSoT |
33
+ |---|---|
34
+ | LLM コーディング行動規約 (Think Before Coding / Simplicity / Surgical / Verifiable) | [`.claude/skills/karpathy-guidelines/SKILL.md`](../skills/karpathy-guidelines/SKILL.md) |
35
+ | Why × 5 階層 / 現作業 / 他選択肢の 3 点を毎ステップ明示 | [`why-x5-output.md`](./why-x5-output.md)、`why-x5-reminder.sh` 強制 |
36
+ | 外部 library 仕様確認は context7 MCP → WebFetch → GitHub/Exa の fallback chain | training data outdated 回避、推測実装禁止 |
37
+
38
+ context7 fail で loop 停止しない / 「training data で確信あり」で skip しない (verify before recommending 原則)。
39
+
40
+ > **適用対象 task 完全 list / `.mcp.json` 設定詳細**: [development-process/research-reuse.md](../rules-details/development-process/research-reuse.md)
41
+
42
+ ## TDD (テスト駆動開発)
43
+
44
+ すべての実装は TDD で進める:
45
+
46
+ 1. テスト専門 agent (`Agent(tdd-guide)` / `test-automator` / `qa-expert`) でテスト観点洗い出し
47
+ 2. テスト設計・実装 (Red: 失敗状態)
48
+ 3. プロダクションコード実装 (Green)
49
+ 4. リファクタリング (Refactor)
50
+
51
+ テストなしでプロダクションコードを書かない。
52
+
53
+ ## サブエージェント委譲 (Hook で強制)
54
+
55
+ メインは `src/` `tests/` `scripts/` への **一切の直接操作を禁止**。読み取り (Read/Grep/Glob)・編集 (Edit/Write) 両方が Hook ブロック。
56
+
57
+ ### メインの役割
58
+
59
+ - タスク管理 (専任、[`task-management.md`](./task-management.md) §「メインエージェント専任」)
60
+ - 作業のアサイン (Agent tool 経由)
61
+ - 完了報告・成果物の確認
62
+ - docs/, CLAUDE.md, .claude/ の更新
63
+
64
+ ### メイン直接使用可 / Agent tool 経由委譲
65
+
66
+ | 操作種 | 経路 |
67
+ |---|---|
68
+ | `Skill` / `mcp__*` 全対象、docs/ / CLAUDE.md / .claude/ の Read/Edit/Write | メイン直接 |
69
+ | コード調査 | `Agent(Explore)` |
70
+ | テスト設計 | `Agent(tdd-guide)` / `test-automator` / `qa-expert` (`/test-design <slug>`) |
71
+ | コード実装 | `Agent(general-purpose)` or `Agent(isolation=worktree)` |
72
+ | ビルド確認 | 言語別 `/go-build` / `/rust-build` or `/verify` |
73
+
74
+ 独立タスクは並列複数起動。
75
+
76
+ ### Hook で強制ブロック (メイン直接禁止)
77
+
78
+ - `Edit` / `Write` / `Read` / `Grep` / `Glob` — src/ tests/ scripts/ 対象
79
+ - `WebSearch` / `WebFetch` — 全対象
80
+ - `Bash` — **原則禁止**、`.claude/bash-whitelist.txt` 登録 prefix のみ許可
81
+
82
+ ### Bash 制御 SSoT
83
+
84
+ - `.claude/bash-whitelist.txt` が SSoT、`settings.json` の `permissions.allow` に `Bash(...)` を **重複追加しない**
85
+ - Bash 追加は whitelist 1 行追記のみで完結
86
+ - 追加申請: `.claude/bash-whitelist-requests/YYYY-MM-DD-<slug>.md` 作成 → user レビュー
87
+ - `permissions.deny` での禁止 (`rm -rf`, `git push --force` 等) は別系統
88
+
89
+ ### Hook バイパス禁止
90
+
91
+ `CLAUDE_HARNESS_ROLE=` 等 inline env による Hook バイパスは `delegation-guard.sh` がブロック。
92
+
93
+ ### Reviewer 制御 SSoT (`harness-config.yml`)
94
+
95
+ | key | 用途 |
96
+ |---|---|
97
+ | `review_required_<design\|test\|module\|system\|security>` | 各レビュー要否 |
98
+ | `review_min_count_<design\|test\|module\|system\|security>` | 並列起動 reviewer 数下限 |
99
+ | `review_max_count_<design\|test\|module\|system>` | 並列起動上限 (cost 制御) |
100
+ | `review_iteration_max` | 反復上限 (default 5) |
101
+
102
+ 操作: `bash .claude/scripts/hc-config.sh --get <key>` / `--set <key>=<value>` (atomic backup + type validation)。詳細は [`workflow.md`](./workflow.md) + [`task-management.md`](./task-management.md) 採用 6 条 4 + `docs/SELF_IMPROVEMENT.md` 参照。
103
+
104
+ > **preset aware (task-70 Phase 2)**: `review_required_*` が「BLOCK して該当レビューを必須化する」と読める場合、その強制レベルは **enforcement preset** に依存する。team-default / strict preset では required (BLOCK)、harness-dev preset (本 repo 採用) では advisory (緩和理由は `harness-config.yml` の `enforcement_matrix.review_required_<x>.disabled_reason`、ハーネス自体のレビューは手動 fan-out 運用)。同様に **gateguard (F1)** の初回 Edit/Write/破壊的 Bash BLOCK (`self-improvement.md` §F1) も `feature_gateguard_enabled` 依存で harness-dev では advisory。現 effective 状態と docs/config mismatch は `bash .claude/scripts/hc-config.sh --summary`、整合は `.claude/tests/enforcement-mismatch-smoke.sh` が機械検証する。
105
+
106
+ ## サブエージェント委譲の必須要件 7 件
107
+
108
+ | # | 要件 | 概要 |
109
+ |---|---|---|
110
+ | 1 | **background 起動強制** | `run_in_background: true` 必須。例外: 30 秒以内 smoke のみ。完了通知は SubagentStop hook 経由 |
111
+ | 2 | **順序整合性保証** | 依存解決 / 並行可能性判定 / partial commit 整合性をメインが事前判定 |
112
+ | 3 | **orchestration 義務** | Agent 起動は委譲ガード経由のみ、独立=並列 / 依存=逐次を事前計画 → user に開示 |
113
+ | 4 | **TaskCreate 登録** | Agent 起動前後で必ず TaskCreate (`subject` / `description` / `metadata.subagent_id` / status 遷移) |
114
+ | 5 | **Bash deny 時の委譲反射** | deny / whitelist 不在 / block を **loop 停止理由にしない**、直ちに Agent 委譲で再試行 |
115
+ | 6 | **並列化義務** | 独立 sub-task 2 件以上は並列起動 default、1 統合は明示理由 (race / 共有 file / context budget / sequential) 必要 |
116
+ | 7 | **agent type 選定義務** | task description に応じた specialist agent_type を default (test→`test-automator` / refactor→`refactoring-specialist` 等)、`general-purpose` は不在時のみ |
117
+
118
+ ### 機械強制 (要件 6 + 7) と bypass
119
+
120
+ `.claude/hooks/parallel-subagent-reminder.sh` (PreToolUse(Agent)) が soft warning。並列化対象 keyword: "実装" "fix" "refactor" "設計" "新設" "拡張" "改修"。除外: "reviewer" "review" "監査" "audit"。
121
+
122
+ | bypass 経路 | env |
123
+ |---|---|
124
+ | reminder 無効化 | `HC_PARALLEL_SUBAGENT_REMINDER_ENABLED=false` |
125
+ | TTL 変更 | `HC_PARALLEL_SUBAGENT_TTL_SEC=<秒>` (default 300) |
126
+ | state dir 隔離 | `HC_PARALLEL_SUBAGENT_STATE_DIR=<path>` |
127
+ | 連続単発 streak batch 窓 (task-75) | `HC_PARALLEL_SUBAGENT_BATCH_WINDOW_SEC=<秒>` (default 5、near-ts batch 判定窓) |
128
+ | tier2 (強 reminder) 発火閾値 (task-75) | `HC_PARALLEL_SUBAGENT_STREAK_TIER2=<n>` (default 2、連続単発 streak) |
129
+ | tier3 (Workflow 誘導) 発火閾値 (task-75) | `HC_PARALLEL_SUBAGENT_STREAK_TIER3=<n>` (default 3、連続単発 streak) |
130
+ | agent type mapping override | `HC_AGENT_TYPE_KEYWORD_MAPPING=...` (改行区切り、advanced) |
131
+
132
+ ### default mapping (要件 7、hook 内 SSoT、設定不要原則)
133
+
134
+ | keyword | 推奨 subagent_type |
135
+ |---|---|
136
+ | "smoke 拡張" / "test 追加" / "regression test" | `test-automator` |
137
+ | "refactor" / "関数分割" / "cleanup" | `refactoring-specialist` (or `refactor-cleaner`) |
138
+ | "build error" / "compile error" / "type error" | 言語別 `*-build-resolver` |
139
+ | "bash 品質" / "shellcheck" / "subshell" | `code-reviewer` |
140
+ | "設計レビュー" / "architecture review" | `architect-reviewer` |
141
+ | "セキュリティレビュー" / "OWASP" | `security-reviewer` (or `security-auditor`) |
142
+ | (specialized 不在) | `general-purpose` |
143
+
144
+ `harness-config.yml` 編集不要 (hook 内 hardcode 自動判定)、override は任意 (env `HC_AGENT_TYPE_KEYWORD_MAPPING`)。
145
+
146
+ > **要件 1-7 各論詳細 / 違反例 / heredoc 保護仕様 / 機械強制判定境界**: [development-process/delegation-requirements.md](../rules-details/development-process/delegation-requirements.md)
147
+ >
148
+ > **並列化義務 / agent type 選定の起源 (task-35 / task-34 実例)**: [development-process/parallelization-origin.md](../rules-details/development-process/parallelization-origin.md)
149
+
150
+ ## 多数 fan-out の Workflow 標準化 + 1 ターン tool block 上限 (必須、task-68)
151
+
152
+ 観測バグ「1 アシスタントターンに散文 + 多数 (4-6) の複雑 (長文 / 引用符 / markup 風) tool_use を詰めると invoke/parameter タグ脱落 → 実行されず本文化 → 同 batch リトライ (loop)」(memory [[feedback_multi_tool_block_serialization_failure]]) の構造防止。**単発でも複雑 command で誘発する** (2026-06-01 task-69 で実証、下記 **単発複雑 command 回避** 行)。
153
+
154
+ | 規範 | 内容 |
155
+ |---|---|
156
+ | **3+ fan-out は Workflow** | 3 件以上の独立 subagent fan-out は `Workflow` ツール (決定論 orchestration) を default 検討。手書き N block は **2 件まで許容**、3 件以上は Workflow 提案 (user opt-in 要件のため「多数時は Workflow を提案」運用とセット) |
157
+ | **1 ターン tool block 上限** | 1 アシスタントターンに emit する tool_use は、**長 prompt (>5 行) を含む場合 最大 1〜2 件**。長 prompt は file 経由 (subagent に Read させる) で payload を軽くする (本 session task-67 で実証: `/tmp/*-instructions.md` に共通指示を書き subagent prompt を短縮) |
158
+ | **単発複雑 command 回避** (2026-06-01 task-69) | 単発 Bash でも **複数 `;`/`|` 連結 + grep の alternation (`A\|B\|C`) + 多数 quote + 日本語混在** の複雑 command は slip を誘発する。検証は **ad-hoc 複合 grep を inline で組まず、既存/専用 smoke script を 1 コマンド実行** するか、目的ごとに 1 command へ分割する。subagent staging 検証 ([[feedback_subagent_staging_mv_silent_fail]]) も専用 smoke or 単一 `grep -n <key> <file>` で行う |
159
+ | **前置き語禁止** | tool 呼び出しの前に `call` 等の前置き語を書かない (slip 残渣 `call` と混同を招く)。「tool 前に `call` と書くと antml: prefix が脱落する」は **誤診断** — `call` は破綻した invoke wrapper の残渣であって原因ではない |
160
+ | **enforcement** | 予防規範は advisory (BLOCK しない)。事後検出は `tool-call-slip-detector.sh` (Stop hook) が最終 assistant `.text` の slip 痕跡 (`^call$` / `<parameter name=` 等) を grep → `{"decision":"block"}` で次 turn 自己是正を注入 (Normal/Loop 両モード、bypass `ECC_TOOL_CALL_SLIP_OFF=1`)。設計: [`tool-call-slip-detector-hook.md`](../../docs/draft/tool-call-slip-detector-hook.md) |
161
+
162
+ > **起源 / research 根拠 (§11 F1-4 Programmatic Tool Calling 優位 / F2-4 ordering)**: [harness-design-fundamental-review.md](../../docs/draft/harness-design-fundamental-review.md) §3.1
163
+
164
+ ## サブエージェント `.claude/` 編集の staging 戦略 (必須)
165
+
166
+ Claude Code permission system は subagent context での `.claude/` 配下への直接 `Write` / `Edit` / `Bash` heredoc redirect を **一律 denied** (sub-agent isolation)。メインからは通過。subagent 委譲時は `/tmp/<file>` に `Write` → `mv` で install する staging 戦略が必須。
167
+
168
+ > **強制プロンプト雛型 / 検出パターン (subagent 失敗時の即時切替) / 起源 / 再発検出時の昇格判定 (案 B / 案 C)**: [development-process/staging-strategy.md](../rules-details/development-process/staging-strategy.md)
169
+
170
+ ## cross-repo write 例外 (agent 経路 deny / user manual 専用)
171
+
172
+ 本 repo から外部 repo への **cross-repo write** は agent context (main / subagent / `worktree` 含む全経路) で **完全 denied**。`bash install.sh --update <target>` は **user manual (terminal) 実行のみ可能**。
173
+
174
+ 二重制約: system-level sandbox (cross-repo Write 一律 deny、`dangerouslyDisableSandbox: true` 付き Bash も block) + harness-level `delegation-guard.sh`。`ECC_*_OVERRIDE` / `HC_*_ENABLED=false` は system-level には効かない。
175
+
176
+ - 3 リポ反映系 task は `bash install.sh --update <target>` を **user に手動依頼** が default
177
+ - 「sandbox deny で進められない」を loop 停止理由にしない
178
+
179
+ > **起源 (task-24 W1 実証 confidence 0.85) / 緩和 (task-42 4 リポ全件 agent 直接成功実証) / 将来追随窓口**: [development-process/cross-repo-write.md](../rules-details/development-process/cross-repo-write.md)
180
+
181
+ ## サブエージェント完了サマリ (Confidence Gate / F3 必須)
182
+
183
+ subagent の **最後の assistant text** に **必ず `confidence: 0.X`** (0.0〜1.0) を含める。`confidence-gate.sh` (SubagentStop hook) が抽出し閾値 (既定 0.6) 未満は **block**。
184
+
185
+ ### 算出基準 (4 段階)
186
+
187
+ | レンジ | 状態 |
188
+ |---|---|
189
+ | 0.9 - 1.0 | 全条件を実測値で確認 (build / test / grep 生 log 引用可) |
190
+ | 0.7 - 0.8 | 主要条件確認、周辺は推定 (一部 grep 未実行など) |
191
+ | 0.5 - 0.6 | 実装完了だが検証浅い、未確認前提に依存 |
192
+ | 0.0 - 0.4 | 方針不明確、曖昧な仮実装 |
193
+
194
+ 0.6 以上: `/finish-task` へ進める / 0.6 未満: block、検証追加 or 未解決事項明示 / 未記載: block。
195
+
196
+ ### Bypass
197
+
198
+ | 方法 | スコープ | 痕跡 |
199
+ |---|---|---|
200
+ | `ECC_CONFIDENCE_GATE=off` | セッション全体 | env のみ |
201
+ | `HC_CONFIDENCE_REQUIRED=false` | セッション全体 | env のみ |
202
+ | `/gate-bypass confidence <reason>` | 次回 1 回のみ | `.claude/.confidence-gate-state/bypass.log` |
203
+
204
+ 詳細: [`docs/CONFIDENCE-GATE.md`](../../docs/CONFIDENCE-GATE.md)。bypass 根拠は CLAUDE.md / docs/tasks/ に記録 (honor system)。
205
+
206
+ > **major subagent only block 仕様 (task #9) / 記載例 full**: [development-process/confidence-gate.md](../rules-details/development-process/confidence-gate.md)
207
+
208
+ ## 指摘対応
209
+
210
+ 1. 根本原因を特定する
211
+ 2. 修正する
212
+ 3. 再発防止策を考える
213
+ 4. `.claude/rules/` へのルール追加を提案する
214
+
215
+ ## タスク管理 (メイン専任)
216
+
217
+ 詳細は [`task-management.md`](./task-management.md) §「メインエージェント専任(必須)」を参照。
218
+
219
+ ## harness 取込チェックリスト (proactive sync、consuming repo 必須)
220
+
221
+ consuming repo は **proactive に harness 最新版を取り込む** 義務を持つ。
222
+
223
+ ### 取込タイミング (4 経路、いずれかが trigger)
224
+
225
+ | # | trigger | 必須/推奨 |
226
+ |---|---|---|
227
+ | 1 | **stg* / main merge の直前** | **必須** |
228
+ | 2 | **定期 sync** (週次、曜日固定推奨) | 推奨 |
229
+ | 3 | **F WARN 検出時** (`stale-harness-detect.sh` が SessionStart で npm registry 最新版と `harness_npm_version` stamp を比較 → 新版検出で `npx @takuma-hirai/hirai-method@latest update <dir>` を WARN 誘導 → 即実行、task-84) | **必須** |
230
+ | 4 | **重大 fix 通知時** (hirai-method release notes / commit log 監視) | 任意 |
231
+
232
+ ### 取込手順 5 step
233
+
234
+ 1. `git checkout main && git pull origin main` (clone 経路の場合。**npx 経路なら本 step 不要**)
235
+ 2. harness を target に反映。2 経路いずれか (cross-repo write は agent 経路 deny のため **どちらも user manual / terminal 実行のみ**):
236
+ - **clone 経路**: `bash install.sh --update <consuming repo absolute path>`
237
+ - **npx 経路 (task-83)**: `npx @takuma-hirai/hirai-method@latest update <consuming repo absolute path>` (clone 不要、registry から最新取得。事前に `npx @takuma-hirai/hirai-method@latest check` で stale 確認可)
238
+ 3. consuming repo で `git status` / `git diff`
239
+ 4. `chore: sync .claude/ from hirai-method <YYYY-MM-DD>` で分離 commit (`install.sh --update --commit` flag で自動 commit 可)
240
+ 5. consuming repo 側の smoke / test 再実行
241
+
242
+ ### 取込後検証
243
+
244
+ - [ ] `.claude/CommonRules.md` の harness_version が最新 stamp
245
+ - [ ] consuming repo SessionStart で stale-harness-detect WARN 消去
246
+ - [ ] 既存 smoke / test 全 PASS
247
+
248
+ ### bypass
249
+
250
+ | 経路 | env | スコープ |
251
+ |---|---|---|
252
+ | 意図的旧 harness 稼働継続 | `harness-config.yml` の `feature_stale_harness_detect_enabled: false` | 永続 |
253
+ | 一時抑制 | `HC_FEATURE_STALE_HARNESS_DETECT_ENABLED=false` | 1 セッション |
254
+
255
+ > **CI 自動化 (将来 opt-in 案 B) / 前提 task 連携詳細 / F WARN 案内文の grep 検証経緯**: [development-process/harness-sync.md](../rules-details/development-process/harness-sync.md)
256
+
257
+ ---
258
+
259
+ ## 副産物発生時の即時 draft 起こし義務 (必須・再発防止)
260
+
261
+ タスク実装中・レビュー中に「これは別 task として管理すべき」と判断した副産物 (byproduct) は **memory / 会話履歴に流すだけでは禁止**。必ず以下フロー:
262
+
263
+ 1. **即時記録**: `docs/tasks/next-actions.md` に entry 追加 (緊急度 / 推奨処理を明記)
264
+ 2. **当セッション内に draft 起こし**: 緊急度 🔴 / 🟡 entry は当セッション中に `/new-draft <slug>` で draft 起こし
265
+ 3. **次セッション or 同セッション内に承認 + tasking**: user 承認後に `/new-task <id> <slug>` で list.md 行追加
266
+ 4. **next-actions.md の処理結果列に移行先記入** (例: 「→ `docs/draft/<slug>.md` → task #N」)
267
+
268
+ ### 違反パターン (絶対禁止)
269
+
270
+ - 副産物を memory にのみ保存して draft 化しない
271
+ - 「次セッションで対応」とコメントだけ残してセッション終了
272
+ - 発生源 task の `/finish-task` 完了前に処理せず後送り
273
+
274
+ ### 強制機構 (実装予定)
275
+
276
+ - `next-actions-surface.sh` (SessionStart): 未処理 entry を毎セッション開始時に `<system-reminder>` で stderr 出力
277
+ - `workflow-guard.sh` (PreToolUse Bash `/finish-task`): next-actions.md 関連 entry 未処理なら BLOCK
278
+
279
+ 詳細は [`workflow.md`](./workflow.md) + [`docs/draft/byproduct-discharge-mechanism.md`](../../docs/draft/byproduct-discharge-mechanism.md) 参照。
280
+
281
+ ## 設計→承認→タスク追加フロー
282
+
283
+ 詳細は [`task-management.md`](./task-management.md) §「設計→承認→タスク追加フロー(必須)」を参照。
284
+
285
+ ## Parking Lot (保留タスク)
286
+
287
+ 詳細は [`task-management.md`](./task-management.md) §「Parking Lot(今後検討タスク)」を参照。
288
+
289
+ > **各規範の起源 / commit hash / 採用判断 (TDD / 委譲必須要件 7 件 / staging / cross-repo / Confidence Gate F3 / harness 取込)**: [development-process/origin.md](../rules-details/development-process/origin.md)
290
+
291
+ ---
292
+ > **project 固有の追補・override は `.claude/project-rules/development-process.md` に書く** (本 file は harness 所有、`install.sh --update` で上書きされる。project 固有編集は下記 import 先へ)。
293
+ @../project-rules/development-process.md