@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.
- package/.claude/.stale-harness-state/last-check +0 -0
- package/.claude/CommonRules.md +121 -0
- package/.claude/agents/01-core-development/api-designer.md +237 -0
- package/.claude/agents/01-core-development/backend-developer.md +222 -0
- package/.claude/agents/01-core-development/design-bridge.md +127 -0
- package/.claude/agents/01-core-development/electron-pro.md +240 -0
- package/.claude/agents/01-core-development/frontend-developer.md +133 -0
- package/.claude/agents/01-core-development/fullstack-developer.md +235 -0
- package/.claude/agents/01-core-development/graphql-architect.md +238 -0
- package/.claude/agents/01-core-development/microservices-architect.md +239 -0
- package/.claude/agents/01-core-development/mobile-developer.md +283 -0
- package/.claude/agents/01-core-development/ui-designer.md +174 -0
- package/.claude/agents/01-core-development/websocket-engineer.md +150 -0
- package/.claude/agents/03-infrastructure/azure-infra-engineer.md +53 -0
- package/.claude/agents/03-infrastructure/cloud-architect.md +277 -0
- package/.claude/agents/03-infrastructure/database-administrator.md +287 -0
- package/.claude/agents/03-infrastructure/deployment-engineer.md +287 -0
- package/.claude/agents/03-infrastructure/devops-engineer.md +287 -0
- package/.claude/agents/03-infrastructure/devops-incident-responder.md +287 -0
- package/.claude/agents/03-infrastructure/docker-expert.md +278 -0
- package/.claude/agents/03-infrastructure/incident-responder.md +287 -0
- package/.claude/agents/03-infrastructure/kubernetes-specialist.md +287 -0
- package/.claude/agents/03-infrastructure/network-engineer.md +287 -0
- package/.claude/agents/03-infrastructure/platform-engineer.md +287 -0
- package/.claude/agents/03-infrastructure/security-engineer.md +277 -0
- package/.claude/agents/03-infrastructure/sre-engineer.md +287 -0
- package/.claude/agents/03-infrastructure/terraform-engineer.md +287 -0
- package/.claude/agents/03-infrastructure/terragrunt-expert.md +307 -0
- package/.claude/agents/03-infrastructure/windows-infra-admin.md +52 -0
- package/.claude/agents/04-quality-security/accessibility-tester.md +277 -0
- package/.claude/agents/04-quality-security/ad-security-reviewer.md +56 -0
- package/.claude/agents/04-quality-security/ai-writing-auditor.md +77 -0
- package/.claude/agents/04-quality-security/architect-reviewer.md +287 -0
- package/.claude/agents/04-quality-security/chaos-engineer.md +277 -0
- package/.claude/agents/04-quality-security/code-reviewer.md +287 -0
- package/.claude/agents/04-quality-security/compliance-auditor.md +277 -0
- package/.claude/agents/04-quality-security/debugger.md +287 -0
- package/.claude/agents/04-quality-security/error-detective.md +287 -0
- package/.claude/agents/04-quality-security/penetration-tester.md +287 -0
- package/.claude/agents/04-quality-security/performance-engineer.md +287 -0
- package/.claude/agents/04-quality-security/powershell-security-hardening.md +54 -0
- package/.claude/agents/04-quality-security/qa-expert.md +287 -0
- package/.claude/agents/04-quality-security/security-auditor.md +287 -0
- package/.claude/agents/04-quality-security/test-automator.md +287 -0
- package/.claude/agents/04-quality-security/ui-ux-tester.md +234 -0
- package/.claude/agents/06-developer-experience/build-engineer.md +286 -0
- package/.claude/agents/06-developer-experience/cli-developer.md +286 -0
- package/.claude/agents/06-developer-experience/dependency-manager.md +286 -0
- package/.claude/agents/06-developer-experience/documentation-engineer.md +276 -0
- package/.claude/agents/06-developer-experience/dx-optimizer.md +286 -0
- package/.claude/agents/06-developer-experience/git-workflow-manager.md +286 -0
- package/.claude/agents/06-developer-experience/legacy-modernizer.md +286 -0
- package/.claude/agents/06-developer-experience/mcp-developer.md +275 -0
- package/.claude/agents/06-developer-experience/powershell-module-architect.md +58 -0
- package/.claude/agents/06-developer-experience/powershell-ui-architect.md +135 -0
- package/.claude/agents/06-developer-experience/readme-generator.md +238 -0
- package/.claude/agents/06-developer-experience/refactoring-specialist.md +286 -0
- package/.claude/agents/06-developer-experience/slack-expert.md +232 -0
- package/.claude/agents/06-developer-experience/tooling-engineer.md +286 -0
- package/.claude/agents/09-meta-orchestration/agent-installer.md +97 -0
- package/.claude/agents/09-meta-orchestration/agent-organizer.md +287 -0
- package/.claude/agents/09-meta-orchestration/codebase-orchestrator.md +249 -0
- package/.claude/agents/09-meta-orchestration/context-manager.md +287 -0
- package/.claude/agents/09-meta-orchestration/error-coordinator.md +287 -0
- package/.claude/agents/09-meta-orchestration/it-ops-orchestrator.md +60 -0
- package/.claude/agents/09-meta-orchestration/knowledge-synthesizer.md +287 -0
- package/.claude/agents/09-meta-orchestration/multi-agent-coordinator.md +287 -0
- package/.claude/agents/09-meta-orchestration/performance-monitor.md +287 -0
- package/.claude/agents/09-meta-orchestration/task-distributor.md +287 -0
- package/.claude/agents/09-meta-orchestration/workflow-orchestrator.md +287 -0
- package/.claude/agents/10-research-analysis/competitive-analyst.md +287 -0
- package/.claude/agents/10-research-analysis/data-researcher.md +287 -0
- package/.claude/agents/10-research-analysis/market-researcher.md +287 -0
- package/.claude/agents/10-research-analysis/project-idea-validator.md +269 -0
- package/.claude/agents/10-research-analysis/research-analyst.md +287 -0
- package/.claude/agents/10-research-analysis/scientific-literature-researcher.md +151 -0
- package/.claude/agents/10-research-analysis/search-specialist.md +287 -0
- package/.claude/agents/10-research-analysis/trend-analyst.md +287 -0
- package/.claude/archive/README.md +47 -0
- package/.claude/archive/agents/02-language-specialists/angular-architect.md +287 -0
- package/.claude/archive/agents/02-language-specialists/cpp-pro.md +277 -0
- package/.claude/archive/agents/02-language-specialists/csharp-developer.md +287 -0
- package/.claude/archive/agents/02-language-specialists/django-developer.md +287 -0
- package/.claude/archive/agents/02-language-specialists/dotnet-core-expert.md +287 -0
- package/.claude/archive/agents/02-language-specialists/dotnet-framework-4.8-expert.md +306 -0
- package/.claude/archive/agents/02-language-specialists/elixir-expert.md +311 -0
- package/.claude/archive/agents/02-language-specialists/expo-react-native-expert.md +268 -0
- package/.claude/archive/agents/02-language-specialists/fastapi-developer.md +287 -0
- package/.claude/archive/agents/02-language-specialists/flutter-expert.md +287 -0
- package/.claude/archive/agents/02-language-specialists/golang-pro.md +277 -0
- package/.claude/archive/agents/02-language-specialists/java-architect.md +287 -0
- package/.claude/archive/agents/02-language-specialists/javascript-pro.md +277 -0
- package/.claude/archive/agents/02-language-specialists/kotlin-specialist.md +287 -0
- package/.claude/archive/agents/02-language-specialists/laravel-specialist.md +287 -0
- package/.claude/archive/agents/02-language-specialists/nextjs-developer.md +287 -0
- package/.claude/archive/agents/02-language-specialists/node-specialist.md +124 -0
- package/.claude/archive/agents/02-language-specialists/php-pro.md +287 -0
- package/.claude/archive/agents/02-language-specialists/powershell-5.1-expert.md +59 -0
- package/.claude/archive/agents/02-language-specialists/powershell-7-expert.md +57 -0
- package/.claude/archive/agents/02-language-specialists/python-pro.md +277 -0
- package/.claude/archive/agents/02-language-specialists/rails-expert.md +358 -0
- package/.claude/archive/agents/02-language-specialists/react-specialist.md +287 -0
- package/.claude/archive/agents/02-language-specialists/rust-engineer.md +287 -0
- package/.claude/archive/agents/02-language-specialists/spring-boot-engineer.md +287 -0
- package/.claude/archive/agents/02-language-specialists/sql-pro.md +287 -0
- package/.claude/archive/agents/02-language-specialists/swift-expert.md +287 -0
- package/.claude/archive/agents/02-language-specialists/symfony-specialist.md +354 -0
- package/.claude/archive/agents/02-language-specialists/typescript-pro.md +277 -0
- package/.claude/archive/agents/02-language-specialists/vue-expert.md +287 -0
- package/.claude/archive/agents/05-data-ai/ai-engineer.md +287 -0
- package/.claude/archive/agents/05-data-ai/data-analyst.md +277 -0
- package/.claude/archive/agents/05-data-ai/data-engineer.md +287 -0
- package/.claude/archive/agents/05-data-ai/data-scientist.md +287 -0
- package/.claude/archive/agents/05-data-ai/database-optimizer.md +287 -0
- package/.claude/archive/agents/05-data-ai/llm-architect.md +287 -0
- package/.claude/archive/agents/05-data-ai/machine-learning-engineer.md +277 -0
- package/.claude/archive/agents/05-data-ai/ml-engineer.md +287 -0
- package/.claude/archive/agents/05-data-ai/mlops-engineer.md +287 -0
- package/.claude/archive/agents/05-data-ai/nlp-engineer.md +287 -0
- package/.claude/archive/agents/05-data-ai/postgres-pro.md +287 -0
- package/.claude/archive/agents/05-data-ai/prompt-engineer.md +287 -0
- package/.claude/archive/agents/05-data-ai/reinforcement-learning-engineer.md +277 -0
- package/.claude/archive/agents/07-specialized-domains/api-documenter.md +277 -0
- package/.claude/archive/agents/07-specialized-domains/blockchain-developer.md +287 -0
- package/.claude/archive/agents/07-specialized-domains/embedded-systems.md +287 -0
- package/.claude/archive/agents/07-specialized-domains/fintech-engineer.md +287 -0
- package/.claude/archive/agents/07-specialized-domains/game-developer.md +287 -0
- package/.claude/archive/agents/07-specialized-domains/healthcare-admin.md +199 -0
- package/.claude/archive/agents/07-specialized-domains/iot-engineer.md +287 -0
- package/.claude/archive/agents/07-specialized-domains/m365-admin.md +48 -0
- package/.claude/archive/agents/07-specialized-domains/mobile-app-developer.md +287 -0
- package/.claude/archive/agents/07-specialized-domains/payment-integration.md +287 -0
- package/.claude/archive/agents/07-specialized-domains/quant-analyst.md +287 -0
- package/.claude/archive/agents/07-specialized-domains/risk-manager.md +287 -0
- package/.claude/archive/agents/07-specialized-domains/seo-specialist.md +184 -0
- package/.claude/archive/agents/08-business-product/business-analyst.md +287 -0
- package/.claude/archive/agents/08-business-product/content-marketer.md +287 -0
- package/.claude/archive/agents/08-business-product/customer-success-manager.md +287 -0
- package/.claude/archive/agents/08-business-product/legal-advisor.md +287 -0
- package/.claude/archive/agents/08-business-product/license-engineer.md +295 -0
- package/.claude/archive/agents/08-business-product/product-manager.md +287 -0
- package/.claude/archive/agents/08-business-product/project-manager.md +287 -0
- package/.claude/archive/agents/08-business-product/sales-engineer.md +287 -0
- package/.claude/archive/agents/08-business-product/scrum-master.md +287 -0
- package/.claude/archive/agents/08-business-product/technical-writer.md +287 -0
- package/.claude/archive/agents/08-business-product/ux-researcher.md +287 -0
- package/.claude/archive/agents/08-business-product/wordpress-master.md +316 -0
- package/.claude/archive/skills/competitive-ads-extractor/SKILL.md +293 -0
- package/.claude/archive/skills/developer-growth-analysis/SKILL.md +322 -0
- package/.claude/archive/skills/document-docx/LICENSE.txt +30 -0
- package/.claude/archive/skills/document-docx/SKILL.md +197 -0
- package/.claude/archive/skills/document-docx/docx-js.md +350 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.claude/archive/skills/document-docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.claude/archive/skills/document-docx/ooxml/scripts/pack.py +159 -0
- package/.claude/archive/skills/document-docx/ooxml/scripts/unpack.py +29 -0
- package/.claude/archive/skills/document-docx/ooxml/scripts/validate.py +69 -0
- package/.claude/archive/skills/document-docx/ooxml/scripts/validation/__init__.py +15 -0
- package/.claude/archive/skills/document-docx/ooxml/scripts/validation/base.py +951 -0
- package/.claude/archive/skills/document-docx/ooxml/scripts/validation/docx.py +274 -0
- package/.claude/archive/skills/document-docx/ooxml/scripts/validation/pptx.py +315 -0
- package/.claude/archive/skills/document-docx/ooxml/scripts/validation/redlining.py +279 -0
- package/.claude/archive/skills/document-docx/ooxml.md +610 -0
- package/.claude/archive/skills/document-docx/scripts/__init__.py +1 -0
- package/.claude/archive/skills/document-docx/scripts/document.py +1276 -0
- package/.claude/archive/skills/document-docx/scripts/templates/comments.xml +3 -0
- package/.claude/archive/skills/document-docx/scripts/templates/commentsExtended.xml +3 -0
- package/.claude/archive/skills/document-docx/scripts/templates/commentsExtensible.xml +3 -0
- package/.claude/archive/skills/document-docx/scripts/templates/commentsIds.xml +3 -0
- package/.claude/archive/skills/document-docx/scripts/templates/people.xml +3 -0
- package/.claude/archive/skills/document-docx/scripts/utilities.py +374 -0
- package/.claude/archive/skills/document-pdf/LICENSE.txt +30 -0
- package/.claude/archive/skills/document-pdf/SKILL.md +294 -0
- package/.claude/archive/skills/document-pdf/forms.md +205 -0
- package/.claude/archive/skills/document-pdf/reference.md +612 -0
- package/.claude/archive/skills/document-pdf/scripts/check_bounding_boxes.py +70 -0
- package/.claude/archive/skills/document-pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/.claude/archive/skills/document-pdf/scripts/check_fillable_fields.py +12 -0
- package/.claude/archive/skills/document-pdf/scripts/convert_pdf_to_images.py +35 -0
- package/.claude/archive/skills/document-pdf/scripts/create_validation_image.py +41 -0
- package/.claude/archive/skills/document-pdf/scripts/extract_form_field_info.py +152 -0
- package/.claude/archive/skills/document-pdf/scripts/fill_fillable_fields.py +114 -0
- package/.claude/archive/skills/document-pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/.claude/archive/skills/document-pptx/LICENSE.txt +30 -0
- package/.claude/archive/skills/document-pptx/SKILL.md +484 -0
- package/.claude/archive/skills/document-pptx/html2pptx.md +625 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.claude/archive/skills/document-pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.claude/archive/skills/document-pptx/ooxml/scripts/pack.py +159 -0
- package/.claude/archive/skills/document-pptx/ooxml/scripts/unpack.py +29 -0
- package/.claude/archive/skills/document-pptx/ooxml/scripts/validate.py +69 -0
- package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/base.py +951 -0
- package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/docx.py +274 -0
- package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/.claude/archive/skills/document-pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/.claude/archive/skills/document-pptx/ooxml.md +427 -0
- package/.claude/archive/skills/document-pptx/scripts/html2pptx.js +979 -0
- package/.claude/archive/skills/document-pptx/scripts/inventory.py +1020 -0
- package/.claude/archive/skills/document-pptx/scripts/rearrange.py +231 -0
- package/.claude/archive/skills/document-pptx/scripts/replace.py +385 -0
- package/.claude/archive/skills/document-pptx/scripts/thumbnail.py +450 -0
- package/.claude/archive/skills/document-xlsx/LICENSE.txt +30 -0
- package/.claude/archive/skills/document-xlsx/SKILL.md +289 -0
- package/.claude/archive/skills/document-xlsx/recalc.py +178 -0
- package/.claude/archive/skills/image-enhancer/SKILL.md +99 -0
- package/.claude/archive/skills/meeting-insights-analyzer/SKILL.md +327 -0
- package/.claude/archive/skills/slack-gif-creator/LICENSE.txt +202 -0
- package/.claude/archive/skills/slack-gif-creator/SKILL.md +646 -0
- package/.claude/archive/skills/slack-gif-creator/core/color_palettes.py +302 -0
- package/.claude/archive/skills/slack-gif-creator/core/easing.py +230 -0
- package/.claude/archive/skills/slack-gif-creator/core/frame_composer.py +469 -0
- package/.claude/archive/skills/slack-gif-creator/core/gif_builder.py +246 -0
- package/.claude/archive/skills/slack-gif-creator/core/typography.py +357 -0
- package/.claude/archive/skills/slack-gif-creator/core/validators.py +264 -0
- package/.claude/archive/skills/slack-gif-creator/core/visual_effects.py +494 -0
- package/.claude/archive/skills/slack-gif-creator/requirements.txt +4 -0
- package/.claude/archive/skills/slack-gif-creator/templates/bounce.py +106 -0
- package/.claude/archive/skills/slack-gif-creator/templates/explode.py +331 -0
- package/.claude/archive/skills/slack-gif-creator/templates/fade.py +329 -0
- package/.claude/archive/skills/slack-gif-creator/templates/flip.py +291 -0
- package/.claude/archive/skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
- package/.claude/archive/skills/slack-gif-creator/templates/morph.py +329 -0
- package/.claude/archive/skills/slack-gif-creator/templates/move.py +293 -0
- package/.claude/archive/skills/slack-gif-creator/templates/pulse.py +268 -0
- package/.claude/archive/skills/slack-gif-creator/templates/shake.py +127 -0
- package/.claude/archive/skills/slack-gif-creator/templates/slide.py +291 -0
- package/.claude/archive/skills/slack-gif-creator/templates/spin.py +269 -0
- package/.claude/archive/skills/slack-gif-creator/templates/wiggle.py +300 -0
- package/.claude/archive/skills/slack-gif-creator/templates/zoom.py +312 -0
- package/.claude/archive/skills/twitter-algorithm-optimizer/SKILL.md +327 -0
- package/.claude/archive/skills/video-downloader/SKILL.md +99 -0
- package/.claude/archive/skills/video-downloader/scripts/download_video.py +145 -0
- package/.claude/bash-whitelist-requests/2026-05-28-grep-find-rg.md +68 -0
- package/.claude/bash-whitelist-requests/2026-06-01-readonly-filters.md +76 -0
- package/.claude/bash-whitelist.txt +124 -0
- package/.claude/commands/agent-introspect.md +89 -0
- package/.claude/commands/apply-rules.md +363 -0
- package/.claude/commands/approve-design.md +219 -0
- package/.claude/commands/approve-org-money.md +267 -0
- package/.claude/commands/build.md +234 -0
- package/.claude/commands/commit.md +97 -0
- package/.claude/commands/context-fetch.md +113 -0
- package/.claude/commands/create-tool.md +496 -0
- package/.claude/commands/design-review.md +138 -0
- package/.claude/commands/design.md +807 -0
- package/.claude/commands/discharge-byproduct.md +208 -0
- package/.claude/commands/doc-review.md +165 -0
- package/.claude/commands/document-pair.md +76 -0
- package/.claude/commands/error-triage.md +435 -0
- package/.claude/commands/eval.md +70 -0
- package/.claude/commands/evolve.md +49 -0
- package/.claude/commands/finish-task.md +105 -0
- package/.claude/commands/gan-build.md +91 -0
- package/.claude/commands/gan-design.md +82 -0
- package/.claude/commands/gate-bypass.md +77 -0
- package/.claude/commands/gate-clear.md +45 -0
- package/.claude/commands/gate-status.md +46 -0
- package/.claude/commands/harness-audit.md +151 -0
- package/.claude/commands/hearing.md +138 -0
- package/.claude/commands/impact-check.md +486 -0
- package/.claude/commands/init-tasks.md +49 -0
- package/.claude/commands/instinct-export.md +47 -0
- package/.claude/commands/instinct-import.md +41 -0
- package/.claude/commands/instinct-status.md +43 -0
- package/.claude/commands/investigate.md +547 -0
- package/.claude/commands/learn.md +55 -0
- package/.claude/commands/lint-rules.md +400 -0
- package/.claude/commands/mode.md +58 -0
- package/.claude/commands/modify-feature.md +209 -0
- package/.claude/commands/module-review.md +149 -0
- package/.claude/commands/move-section.md +67 -0
- package/.claude/commands/new-draft.md +67 -0
- package/.claude/commands/new-feature.md +286 -0
- package/.claude/commands/new-task.md +156 -0
- package/.claude/commands/notification.md +107 -0
- package/.claude/commands/pm-start.md +119 -0
- package/.claude/commands/projects.md +32 -0
- package/.claude/commands/promote.md +43 -0
- package/.claude/commands/rasis-report.md +1323 -0
- package/.claude/commands/release-note.md +130 -0
- package/.claude/commands/reply-watch.md +149 -0
- package/.claude/commands/requirement.md +352 -0
- package/.claude/commands/resume-state.md +187 -0
- package/.claude/commands/reviewpr.md +118 -0
- package/.claude/commands/save-state.md +100 -0
- package/.claude/commands/sentry-pr.md +157 -0
- package/.claude/commands/start-task.md +87 -0
- package/.claude/commands/system-review.md +147 -0
- package/.claude/commands/task-bypass.md +70 -0
- package/.claude/commands/task-estimate.md +100 -0
- package/.claude/commands/template-apply.md +89 -0
- package/.claude/commands/test-design.md +116 -0
- package/.claude/commands/transfer-mismatch.md +317 -0
- package/.claude/commands/verify.md +51 -0
- package/.claude/evals/grader-loop-mode-autonomy.sh +165 -0
- package/.claude/evals/grader-system-reminder-attention.sh +99 -0
- package/.claude/evals/loop-mode-autonomy.md +121 -0
- package/.claude/evals/loop-mode-autonomy.results.template.md +133 -0
- package/.claude/evals/system-reminder-attention.md +123 -0
- package/.claude/evals/system-reminder-attention.results.template.md +93 -0
- package/.claude/evals/system-reminder-attention.runner.md +353 -0
- package/.claude/harness-config.local.yml +48 -0
- package/.claude/harness-config.yml +534 -0
- package/.claude/hooks/agent-marker-clear.sh +43 -0
- package/.claude/hooks/agent-marker-set.sh +40 -0
- package/.claude/hooks/agent-router-suggest.sh +123 -0
- package/.claude/hooks/autonomous-action-guard.sh +242 -0
- package/.claude/hooks/byproduct-discharge-guard.sh +128 -0
- package/.claude/hooks/check-md-mermaid.sh +144 -0
- package/.claude/hooks/check-required-env.sh +95 -0
- package/.claude/hooks/check-serena-mcp.sh +123 -0
- package/.claude/hooks/confidence-gate.sh +139 -0
- package/.claude/hooks/context-budget.sh +233 -0
- package/.claude/hooks/delegation-guard.sh +99 -0
- package/.claude/hooks/dispatcher-manifest.tsv +38 -0
- package/.claude/hooks/draft-flow-guard.sh +304 -0
- package/.claude/hooks/failure-loop-detect.sh +139 -0
- package/.claude/hooks/gateguard.sh +209 -0
- package/.claude/hooks/improvement-proposal.sh +112 -0
- package/.claude/hooks/init-tasks-on-start.sh +34 -0
- package/.claude/hooks/lib/bypass-logger.sh +82 -0
- package/.claude/hooks/lib/confidence-gate/bypass.sh +48 -0
- package/.claude/hooks/lib/confidence-gate/extract.sh +99 -0
- package/.claude/hooks/lib/confidence-gate/major-agent-filter.sh +59 -0
- package/.claude/hooks/lib/confidence-gate/messages.sh +53 -0
- package/.claude/hooks/lib/config-loader.sh +784 -0
- package/.claude/hooks/lib/delegation-guard/bash-whitelist.sh +323 -0
- package/.claude/hooks/lib/delegation-guard/git-deny.sh +188 -0
- package/.claude/hooks/lib/delegation-guard/protected-paths.sh +105 -0
- package/.claude/hooks/lib/delegation-guard/subagent-detect.sh +40 -0
- package/.claude/hooks/lib/dispatcher-core.sh +454 -0
- package/.claude/hooks/lib/improvement-proposal/aggregate.py +466 -0
- package/.claude/hooks/lib/improvement-proposal/cache.sh +78 -0
- package/.claude/hooks/lib/mode-loader.sh +80 -0
- package/.claude/hooks/lib/next-actions-parser.sh +153 -0
- package/.claude/hooks/lib/project-root.sh +60 -0
- package/.claude/hooks/list-md-plan-first-reminder.sh +143 -0
- package/.claude/hooks/loop-auto-progress-reminder.sh +108 -0
- package/.claude/hooks/loop-confirmation-detector.sh +241 -0
- package/.claude/hooks/mode-asana-prompt.sh +61 -0
- package/.claude/hooks/mode-enforce.sh +57 -0
- package/.claude/hooks/mode-session-start.sh +93 -0
- package/.claude/hooks/next-actions-surface.sh +136 -0
- package/.claude/hooks/notification-dispatcher.sh +9 -0
- package/.claude/hooks/notify.sh +27 -0
- package/.claude/hooks/parallel-subagent-reminder.sh +469 -0
- package/.claude/hooks/post-tool-use-dispatcher.sh +9 -0
- package/.claude/hooks/pre-tool-use-dispatcher.sh +9 -0
- package/.claude/hooks/reviewer-count-guard.sh +313 -0
- package/.claude/hooks/session-help-surface.sh +192 -0
- package/.claude/hooks/session-start-dispatcher.sh +9 -0
- package/.claude/hooks/session-start-wrapper.sh +156 -0
- package/.claude/hooks/stale-harness-detect.sh +422 -0
- package/.claude/hooks/stop-dispatcher.sh +9 -0
- package/.claude/hooks/stop.sh +25 -0
- package/.claude/hooks/subagent-stop-dispatcher.sh +9 -0
- package/.claude/hooks/task-rule-guard.sh +317 -0
- package/.claude/hooks/tests/run-tests.sh +23 -0
- package/.claude/hooks/tests/test-agent-marker-warn.sh +86 -0
- package/.claude/hooks/tests/test-check-required-env.sh +138 -0
- package/.claude/hooks/tests/test-confidence-gate.sh +170 -0
- package/.claude/hooks/tests/test-config-env-override.sh +220 -0
- package/.claude/hooks/tests/test-gate-disable.sh +118 -0
- package/.claude/hooks/tests/test-improvement-proposal.sh +284 -0
- package/.claude/hooks/tool-call-slip-detector.sh +188 -0
- package/.claude/hooks/user-prompt-submit-dispatcher.sh +9 -0
- package/.claude/hooks/why-x5-reminder.sh +45 -0
- package/.claude/hooks/why-x5-violation-detect.sh +152 -0
- package/.claude/hooks/workflow-guard.sh +263 -0
- package/.claude/mode.yml +28 -0
- package/.claude/project-rules/development-process.md +8 -0
- package/.claude/project-rules/git-workflow.md +8 -0
- package/.claude/project-rules/modes.md +8 -0
- package/.claude/project-rules/self-improvement.md +8 -0
- package/.claude/project-rules/task-management.md +8 -0
- package/.claude/project-rules/why-x5-output.md +8 -0
- package/.claude/project-rules/workflow.md +8 -0
- package/.claude/rules/development-process.md +293 -0
- package/.claude/rules/git-workflow.md +71 -0
- package/.claude/rules/modes.md +189 -0
- package/.claude/rules/self-improvement.md +76 -0
- package/.claude/rules/task-management.md +261 -0
- package/.claude/rules/why-x5-output.md +97 -0
- package/.claude/rules/workflow.md +157 -0
- package/.claude/rules-details/README.md +67 -0
- package/.claude/rules-details/development-process/confidence-gate.md +22 -0
- package/.claude/rules-details/development-process/cross-repo-write.md +35 -0
- package/.claude/rules-details/development-process/delegation-requirements.md +158 -0
- package/.claude/rules-details/development-process/harness-sync.md +21 -0
- package/.claude/rules-details/development-process/origin.md +13 -0
- package/.claude/rules-details/development-process/parallelization-origin.md +22 -0
- package/.claude/rules-details/development-process/research-reuse.md +22 -0
- package/.claude/rules-details/development-process/staging-strategy.md +47 -0
- package/.claude/rules-details/modes/artifacts.md +34 -0
- package/.claude/rules-details/modes/compliance-items.md +120 -0
- package/.claude/rules-details/modes/five-layer-enforcement.md +46 -0
- package/.claude/rules-details/modes/mode-hooks.md +51 -0
- package/.claude/rules-details/modes/origin.md +17 -0
- package/.claude/rules-details/self-improvement/l4-mechanics.md +36 -0
- package/.claude/rules-details/self-improvement/origin.md +8 -0
- package/.claude/rules-details/self-improvement/related-skills.md +35 -0
- package/.claude/rules-details/self-improvement/when-to-use-layers.md +39 -0
- package/.claude/rules-details/task-management/hook-enforcement.md +25 -0
- package/.claude/rules-details/task-management/mandatory-reading.md +20 -0
- package/.claude/rules-details/task-management/origin.md +12 -0
- package/.claude/rules-details/task-management/parking-lot.md +26 -0
- package/.claude/rules-details/task-management/plan-first.md +44 -0
- package/.claude/rules-details/task-management/six-articles.md +68 -0
- package/.claude/rules-details/task-management/task-migration.md +16 -0
- package/.claude/rules-details/task-management/ui-detection.md +11 -0
- package/.claude/rules-details/why-x5-output/examples.md +41 -0
- package/.claude/rules-details/why-x5-output/feedback-memory.md +14 -0
- package/.claude/rules-details/why-x5-output/origin.md +10 -0
- package/.claude/rules-details/why-x5-output/v1-v10-history.md +19 -0
- package/.claude/rules-details/workflow/10-stage.md +43 -0
- package/.claude/rules-details/workflow/14-stage.md +52 -0
- package/.claude/rules-details/workflow/byproduct-discharge.md +39 -0
- package/.claude/rules-details/workflow/draft-flow-guard.md +31 -0
- package/.claude/rules-details/workflow/fan-out.md +70 -0
- package/.claude/rules-details/workflow/mece-20.md +36 -0
- package/.claude/rules-details/workflow/origin.md +14 -0
- package/.claude/rules-details/workflow/refactoring.md +48 -0
- package/.claude/rules-details/workflow/related-skills.md +22 -0
- package/.claude/rules-details/workflow/reviewer-prompt.md +100 -0
- package/.claude/rules-details/workflow/session-persistence.md +46 -0
- package/.claude/rules-details/workflow/workflow-guard.md +36 -0
- package/.claude/scripts/__pycache__/harness-audit.cpython-313.pyc +0 -0
- package/.claude/scripts/agent-stocktake.py +421 -0
- package/.claude/scripts/check-md-mermaid.mjs +138 -0
- package/.claude/scripts/generate-settings.sh +0 -0
- package/.claude/scripts/harness-audit.py +1547 -0
- package/.claude/scripts/hc-config.sh +2265 -0
- package/.claude/scripts/init-tasks.sh +117 -0
- package/.claude/scripts/lib/enforcement-matrix-parse.sh +81 -0
- package/.claude/scripts/lib/hc-config-metadata.sh +190 -0
- package/.claude/scripts/lib/hc-config-web-server.js +1528 -0
- package/.claude/scripts/lib/hc-config-web-ui/app.js +1054 -0
- package/.claude/scripts/lib/hc-config-web-ui/index.html +130 -0
- package/.claude/scripts/lib/hc-config-web-ui/style.css +522 -0
- package/.claude/scripts/new-task-helper.sh +432 -0
- package/.claude/scripts/observe-repair.sh +437 -0
- package/.claude/scripts/observe-rotate.sh +311 -0
- package/.claude/scripts/statusline.sh +239 -0
- package/.claude/settings.generated.preview.json +211 -0
- package/.claude/settings.json +215 -0
- package/.claude/settings.local.example.json +20 -0
- package/.claude/settings.local.json +36 -0
- package/.claude/skills/agent-introspection-debugging/SKILL.md +123 -0
- package/.claude/skills/agent-router/README.md +137 -0
- package/.claude/skills/agent-router/SKILL.md +74 -0
- package/.claude/skills/agent-router/dispatch-table.yml +352 -0
- package/.claude/skills/agent-router/router.py +1086 -0
- package/.claude/skills/agent-router/samples/representative_prompts.txt +24 -0
- package/.claude/skills/agent-router/tests/__init__.py +0 -0
- package/.claude/skills/agent-router/tests/test_router.py +762 -0
- package/.claude/skills/artifacts-builder/LICENSE.txt +202 -0
- package/.claude/skills/artifacts-builder/SKILL.md +74 -0
- package/.claude/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/.claude/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/.claude/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/.claude/skills/brand-guidelines/LICENSE.txt +202 -0
- package/.claude/skills/brand-guidelines/SKILL.md +73 -0
- package/.claude/skills/canvas-design/LICENSE.txt +202 -0
- package/.claude/skills/canvas-design/SKILL.md +130 -0
- package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/.claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/.claude/skills/changelog-generator/SKILL.md +104 -0
- package/.claude/skills/check-md-mermaid/SKILL.md +62 -0
- package/.claude/skills/connect/SKILL.md +156 -0
- package/.claude/skills/connect-apps/SKILL.md +80 -0
- package/.claude/skills/content-research-writer/SKILL.md +538 -0
- package/.claude/skills/continuous-agent-loop/SKILL.md +187 -0
- package/.claude/skills/continuous-learning-v2/SKILL.md +238 -0
- package/.claude/skills/continuous-learning-v2/config.json +35 -0
- package/.claude/skills/continuous-learning-v2/hooks/observe.sh +333 -0
- package/.claude/skills/continuous-learning-v2/instinct-cli.py +406 -0
- package/.claude/skills/domain-name-brainstormer/SKILL.md +212 -0
- package/.claude/skills/eval-harness/SKILL.md +100 -0
- package/.claude/skills/eval-harness/swe-bench/README.md +80 -0
- package/.claude/skills/eval-harness/swe-bench/config.yml +29 -0
- package/.claude/skills/eval-harness/swe-bench/docker/Dockerfile +25 -0
- package/.claude/skills/eval-harness/swe-bench/docker/docker-compose.yml +18 -0
- package/.claude/skills/eval-harness/swe-bench/results/dry-run-2026-05-04.json +137 -0
- package/.claude/skills/eval-harness/swe-bench/results/dry-run-comparison-2026-05-04.md +112 -0
- package/.claude/skills/eval-harness/swe-bench/results/dry-run-improved-2026-05-04.json +165 -0
- package/.claude/skills/eval-harness/swe-bench/results/raw/astropy__astropy-12907.patch +12 -0
- package/.claude/skills/eval-harness/swe-bench/results/raw/astropy__astropy-12907.txt +322 -0
- package/.claude/skills/eval-harness/swe-bench/results/raw/astropy__astropy-12907.whole-file.txt +322 -0
- package/.claude/skills/eval-harness/swe-bench/runner.py +845 -0
- package/.claude/skills/eval-harness/swe-bench/scoring.py +298 -0
- package/.claude/skills/eval-harness/swe-bench/tasks/fetch_tasks.py +81 -0
- package/.claude/skills/eval-harness/swe-bench/tasks/lite-50.json +702 -0
- package/.claude/skills/file-organizer/SKILL.md +433 -0
- package/.claude/skills/gan-style-harness/SKILL.md +111 -0
- package/.claude/skills/gateguard/.gateguard.yml +47 -0
- package/.claude/skills/gateguard/SKILL.md +99 -0
- package/.claude/skills/internal-comms/LICENSE.txt +202 -0
- package/.claude/skills/internal-comms/SKILL.md +32 -0
- package/.claude/skills/internal-comms/examples/3p-updates.md +47 -0
- package/.claude/skills/internal-comms/examples/company-newsletter.md +65 -0
- package/.claude/skills/internal-comms/examples/faq-answers.md +30 -0
- package/.claude/skills/internal-comms/examples/general-comms.md +16 -0
- package/.claude/skills/invoice-organizer/SKILL.md +446 -0
- package/.claude/skills/karpathy-guidelines/SKILL.md +67 -0
- package/.claude/skills/langsmith-fetch/SKILL.md +485 -0
- package/.claude/skills/lead-research-assistant/SKILL.md +199 -0
- package/.claude/skills/mcp-builder/LICENSE.txt +202 -0
- package/.claude/skills/mcp-builder/SKILL.md +328 -0
- package/.claude/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
- package/.claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
- package/.claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
- package/.claude/skills/mcp-builder/scripts/connections.py +151 -0
- package/.claude/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/.claude/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.claude/skills/raffle-winner-picker/SKILL.md +159 -0
- package/.claude/skills/repo-map/README.md +125 -0
- package/.claude/skills/repo-map/SKILL.md +128 -0
- package/.claude/skills/repo-map/examples/sample-output.md +1194 -0
- package/.claude/skills/repo-map/repo-map.py +715 -0
- package/.claude/skills/salesforce-e2e-testing/SKILL.md +116 -0
- package/.claude/skills/salesforce-e2e-testing/catalog-template.md +161 -0
- package/.claude/skills/salesforce-e2e-testing/methodology.md +179 -0
- package/.claude/skills/salesforce-e2e-testing/observation-rules.md +280 -0
- package/.claude/skills/salesforce-e2e-testing/pattern-taxonomy.md +392 -0
- package/.claude/skills/salesforce-e2e-testing/procedure-template.md +376 -0
- package/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/.claude/skills/skill-creator/SKILL.md +209 -0
- package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/.claude/skills/skill-share/SKILL.md +80 -0
- package/.claude/skills/tailored-resume-generator/SKILL.md +345 -0
- package/.claude/skills/template-skill/SKILL.md +6 -0
- package/.claude/skills/theme-factory/LICENSE.txt +202 -0
- package/.claude/skills/theme-factory/SKILL.md +59 -0
- package/.claude/skills/theme-factory/theme-showcase.pdf +0 -0
- package/.claude/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/.claude/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/.claude/skills/theme-factory/themes/desert-rose.md +19 -0
- package/.claude/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/.claude/skills/theme-factory/themes/golden-hour.md +19 -0
- package/.claude/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/.claude/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/.claude/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/.claude/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/.claude/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/.claude/skills/verification-loop/SKILL.md +129 -0
- package/.claude/skills/webapp-testing/LICENSE.txt +202 -0
- package/.claude/skills/webapp-testing/SKILL.md +96 -0
- package/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
- package/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
- package/.claude/templates/docs/draft/_DRAFT_TEMPLATE.md +162 -0
- package/.claude/templates/docs/draft/_TEST_DESIGN_TEMPLATE.md +76 -0
- package/.claude/templates/docs/tasks/_TASK_TEMPLATE.md +276 -0
- package/.claude/templates/docs/tasks/list.md +80 -0
- package/.claude/templates/docs/tasks/parking-lot.md +82 -0
- package/.claude/templates/settings.user-level.json.template +306 -0
- package/.claude/tests/SMOKE-CLASSIFICATION.md +199 -0
- package/.claude/tests/action-space-count-smoke.sh +130 -0
- package/.claude/tests/agent-router-suggest-wiring-smoke.sh +188 -0
- package/.claude/tests/audit-followups-smoke.sh +158 -0
- package/.claude/tests/autonomous-action-guard-relaxation-smoke.sh +479 -0
- package/.claude/tests/autonomous-action-guard-smoke.sh +187 -0
- package/.claude/tests/check-serena-mcp-smoke.sh +156 -0
- package/.claude/tests/common-rules-import-smoke.sh +209 -0
- package/.claude/tests/confidence-gate-smoke.sh +220 -0
- package/.claude/tests/config-feature-toggles-smoke.sh +389 -0
- package/.claude/tests/context-budget-smoke.sh +222 -0
- package/.claude/tests/custom-pm-commands-smoke.sh +93 -0
- package/.claude/tests/delegation-guard-code-smoke.sh +244 -0
- package/.claude/tests/delegation-guard-deny-layers-smoke.sh +356 -0
- package/.claude/tests/delegation-guard-readonly-filter-smoke.sh +205 -0
- package/.claude/tests/delegation-guard-search-whitelist-smoke.sh +152 -0
- package/.claude/tests/delegation-guard-segment-smoke.sh +109 -0
- package/.claude/tests/dispatcher-blocker-invariance-smoke.sh +700 -0
- package/.claude/tests/dispatcher-core-smoke.sh +452 -0
- package/.claude/tests/dispatcher-merge-matrix-smoke.sh +825 -0
- package/.claude/tests/dispatcher-success-stdout-smoke.sh +290 -0
- package/.claude/tests/draft-flow-guard-approved-dir-smoke.sh +234 -0
- package/.claude/tests/draft-flow-guard-smoke.sh +194 -0
- package/.claude/tests/dual-mode-portability-smoke.sh +131 -0
- package/.claude/tests/effective-hook-matrix-smoke.sh +261 -0
- package/.claude/tests/enforcement-mismatch-smoke.sh +263 -0
- package/.claude/tests/fixtures/cascade-sample.jsonl +9 -0
- package/.claude/tests/fixtures/next-actions/case-clean.md +14 -0
- package/.claude/tests/fixtures/next-actions/case-with-red.md +16 -0
- package/.claude/tests/fixtures/next-actions/case-with-yellow-only.md +14 -0
- package/.claude/tests/fixtures/normal-broken-scatter.jsonl +5 -0
- package/.claude/tests/fixtures/task-71/blocker-baseline.tsv +24 -0
- package/.claude/tests/fixtures/task-71/settings-inventory.tsv +37 -0
- package/.claude/tests/fixtures/transcript-50pct.jsonl +2 -0
- package/.claude/tests/fixtures/transcript-60pct.jsonl +2 -0
- package/.claude/tests/fixtures/transcript-80pct.jsonl +2 -0
- package/.claude/tests/fixtures/transcript-95pct.jsonl +2 -0
- package/.claude/tests/fixtures/workflow-guard/case-2-mid.json +21 -0
- package/.claude/tests/fixtures/workflow-guard/case-3-blocked.json +33 -0
- package/.claude/tests/fixtures/workflow-guard/case-4-clean.json +27 -0
- package/.claude/tests/fixtures/workflow-guard/case-8-modify.json +23 -0
- package/.claude/tests/fixtures/workflow-guard/inputs/case-1.json +1 -0
- package/.claude/tests/fixtures/workflow-guard/inputs/case-2.json +1 -0
- package/.claude/tests/fixtures/workflow-guard/inputs/case-3.json +1 -0
- package/.claude/tests/fixtures/workflow-guard/inputs/case-4.json +1 -0
- package/.claude/tests/fixtures/workflow-guard/inputs/case-5.json +1 -0
- package/.claude/tests/fixtures/workflow-guard/inputs/case-6.json +1 -0
- package/.claude/tests/fixtures/workflow-guard/inputs/case-7.json +1 -0
- package/.claude/tests/fixtures/workflow-guard/inputs/case-8.json +1 -0
- package/.claude/tests/gateguard-smoke.sh +213 -0
- package/.claude/tests/git-deny-mainline-policy-smoke.sh +222 -0
- package/.claude/tests/harness-audit-c-batch-smoke.sh +270 -0
- package/.claude/tests/harness-audit-compare-smoke.sh +186 -0
- package/.claude/tests/harness-audit-pipeline-health-smoke.sh +326 -0
- package/.claude/tests/harness-config-local-smoke.sh +232 -0
- package/.claude/tests/hc-config-git-policy-smoke.sh +241 -0
- package/.claude/tests/hc-config-key-parity-smoke.sh +149 -0
- package/.claude/tests/hc-config-migration-smoke.sh +251 -0
- package/.claude/tests/hc-config-script-smoke.sh +1106 -0
- package/.claude/tests/hc-config-tui-smoke.sh +801 -0
- package/.claude/tests/hc-config-web-ui-smoke.sh +3224 -0
- package/.claude/tests/hook-cwd-robustness-smoke.sh +206 -0
- package/.claude/tests/hook-frequency-tweaks-smoke.sh +312 -0
- package/.claude/tests/improvement-proposal-cache-smoke.sh +238 -0
- package/.claude/tests/install-sh-overwrite-all-smoke.sh +274 -0
- package/.claude/tests/install-sh-regen-settings-smoke.sh +301 -0
- package/.claude/tests/install-sh-sync-drift-smoke.sh +285 -0
- package/.claude/tests/layer-b-context-isolation-smoke.sh +392 -0
- package/.claude/tests/list-md-plan-first-reminder-smoke.sh +313 -0
- package/.claude/tests/loop-auto-progress-smoke.sh +372 -0
- package/.claude/tests/loop-confirmation-detector-smoke.sh +674 -0
- package/.claude/tests/new-task-batch-update-smoke.sh +664 -0
- package/.claude/tests/next-actions-hooks-smoke.sh +283 -0
- package/.claude/tests/npx-cli-smoke.sh +696 -0
- package/.claude/tests/observe-flock-smoke.sh +223 -0
- package/.claude/tests/observe-jq-parse-smoke.sh +250 -0
- package/.claude/tests/observe-repair-smoke.sh +475 -0
- package/.claude/tests/observe-rotate-smoke.sh +428 -0
- package/.claude/tests/observe-subagent-stop-smoke.sh +476 -0
- package/.claude/tests/parallel-subagent-reminder-smoke.sh +918 -0
- package/.claude/tests/project-root-smoke.sh +140 -0
- package/.claude/tests/project-rules-protection-smoke.sh +199 -0
- package/.claude/tests/review-required-min-count-smoke.sh +286 -0
- package/.claude/tests/reviewer-count-guard-smoke.sh +490 -0
- package/.claude/tests/rule-architecture-smoke.sh +418 -0
- package/.claude/tests/rule-change-draft-flow-guard-smoke.sh +343 -0
- package/.claude/tests/run-all-smokes.sh +340 -0
- package/.claude/tests/session-help-surface-smoke.sh +224 -0
- package/.claude/tests/session-start-parallel-smoke.sh +165 -0
- package/.claude/tests/sessionstart-budget-smoke.sh +185 -0
- package/.claude/tests/sessionstart-footprint-smoke.sh +258 -0
- package/.claude/tests/settings-dispatcher-baseline-smoke.sh +709 -0
- package/.claude/tests/settings-generation-feature-pruning-smoke.sh +196 -0
- package/.claude/tests/stale-harness-detect-smoke.sh +974 -0
- package/.claude/tests/statusline-smoke.sh +180 -0
- package/.claude/tests/task-rule-guard-smoke.sh +656 -0
- package/.claude/tests/tool-call-slip-detector-smoke.sh +101 -0
- package/.claude/tests/wave-precheck-template-smoke.sh +159 -0
- package/.claude/tests/why-x5-violation-detect-smoke.sh +157 -0
- package/.claude/tests/workflow-guard-smoke.sh +266 -0
- package/CLAUDE.md +75 -0
- package/LICENSE +21 -0
- package/README.md +790 -0
- package/bin/cli.js +395 -0
- package/docs/INVENTORY.md +163 -0
- package/install.sh +769 -0
- package/package.json +25 -0
package/README.md
ADDED
|
@@ -0,0 +1,790 @@
|
|
|
1
|
+
# 平井メソッド (hirai-method)
|
|
2
|
+
|
|
3
|
+
> **Defense-first Claude Code harness** — 委譲強制 / 事実検証ゲート / 100% 観測 / 5 + 3 層自己改善 / Workflow 強制 / 副産物 discharge / Session 永続化
|
|
4
|
+
|
|
5
|
+
[](LICENSE)
|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## TL;DR (3 軸先出し)
|
|
13
|
+
|
|
14
|
+
| 軸 | 内容 |
|
|
15
|
+
|---|---|
|
|
16
|
+
| **🎯 なんのため** | AI エージェントの fabrication (捏造) / scope creep (範囲逸脱) / silent failure (隠れた失敗) を **hook によるコード強制レベル** で抑止し、Claude Code を「設計通り動かす」ためのハーネス |
|
|
17
|
+
| **⚡ 何ができる** | (1) 委譲ガード + 事実検証ゲート (F1-F3) (2) 5 層自己改善 (L1-L5) (3) Workflow 強制 (W1-W4) (4) 副産物 discharge registry (5) Session 永続化 + PM Orchestration (6) 100 active agents + 43 skills + agent-router |
|
|
18
|
+
| **🚀 どう使う** | `bash install.sh /path/to/project` → `bash .claude/scripts/hc-config.sh` で設定 → Claude Code 起動 → `/init-tasks` → `/mode loop` → `/new-draft` → `/new-task` → 自律実装 (詳細フロー: [§3.9.2](#392-インストール--設定--利用の全体フロー)) |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. なんのためにあるか (Why)
|
|
23
|
+
|
|
24
|
+
### 1.1 解決する課題
|
|
25
|
+
|
|
26
|
+
通常の Claude Code 利用で頻発する問題:
|
|
27
|
+
|
|
28
|
+
| 問題 | 症状 | 平井メソッドの対策 |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| 委譲スキップ | メインが本来 subagent 委譲すべき作業を直接実行、責務逸脱 | `delegation-guard.sh` で `src/` `tests/` `scripts/` への直接 Edit/Write/Bash を block |
|
|
31
|
+
| 投機的編集 | 事実確認なしに大規模変更を加え後戻り不能 | `gateguard.sh` (F1) で初回 Edit/Write 前に importers / callers / data 構造 / user 逐語引用の 4 事実を要求 |
|
|
32
|
+
| 完了報告の乖離 | subagent が「完了しました」と虚偽報告、実態は test fail | `confidence-gate.sh` (F3) で `confidence: 0.X` (0.0-1.0) を強制、閾値 0.6 未満で block |
|
|
33
|
+
| 設計なき着手 | draft なしで実装着手、scope creep / 仕様変更が随所で起きる | `task-rule-guard.sh` (F2) で `docs/draft/<slug>.md` 承認なしの `docs/tasks/` Write を block |
|
|
34
|
+
| 破壊的操作の暴発 | `git push --force` / `reset --hard` / main push 等の事故 | `delegation-guard.sh` 内 git destructive deny + protected branch push deny + `autonomous-action-guard.sh` (Loop モード自律実行禁止 11 カテゴリ) |
|
|
35
|
+
| 副産物の蒸発 | 「あとで対応」の付箋が memory / 会話に流れて消失 | `next-actions.md` registry + SessionStart hook で未処理 entry を毎セッション surface |
|
|
36
|
+
| Session 状態の喪失 | context 上限到達で会話が分断、復元手段なし | `/save-state` / `/resume-state` で Serena MCP memory に snapshot 永続化 |
|
|
37
|
+
|
|
38
|
+
### 1.2 設計思想 (defense-first)
|
|
39
|
+
|
|
40
|
+
- **「ルールに書いて守らせる」ではなく「hook で BLOCK して守らせる」**: 違反検出 → 副産物 entry → draft 起こし → 機械強制 hook 実装の閉ループ
|
|
41
|
+
- **可観測性 = 信頼性**: 100% tool call 観測 (`observe.sh` で全 PostToolUse JSONL 記録) + `/harness-audit` で集計可能
|
|
42
|
+
- **bypass は痕跡を残す**: `ECC_*_OVERRIDE` 等 bypass env は `.claude/.workflow-state/bypass.log` に append、`/harness-audit` で集計
|
|
43
|
+
- **`.claude/` 単独で portable**: 別 repo に `cp -r .claude` で即動作、project 固有値は `harness-config.yml` env override で吸収
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 2. 何ができるか (What)
|
|
48
|
+
|
|
49
|
+
### 2.1 強制機構 (5 + 3 層)
|
|
50
|
+
|
|
51
|
+
| 層 | 名前 | 改善対象 | 発火 event | 永続化先 |
|
|
52
|
+
|---|---|---|---|---|
|
|
53
|
+
| **F1** | GateGuard | Edit/Write/Bash の事実性 | PreToolUse | `.claude/.gateguard-state/` |
|
|
54
|
+
| **F2** | TaskRule + Verification | タスク規律 + PR 直前 6-phase 検証 | PreToolUse + 任意 | `.claude/.taskguard-state/` + `/verify` レポート |
|
|
55
|
+
| **F3** | ConfidenceGate | subagent 完了報告の self-confidence | SubagentStop | `.claude/.confidence-gate-state/` |
|
|
56
|
+
| **L1** | eval-harness | 1 機能の正しさ (pass@k) | コミット単位 | `.claude/evals/` |
|
|
57
|
+
| **L2** | gan-harness | 1 タスクの品質 (adversarial 反復) | 1 反復 | `feedback-NNN.md` |
|
|
58
|
+
| **L3** | verification-loop | 多段検証 (lint / test / build / type / coverage / security) | PR 直前 | レポート |
|
|
59
|
+
| **L4** | continuous-learning-v2 | エージェントの行動 (instinct 学習) | 全 tool call | `~/.claude/homunculus/` |
|
|
60
|
+
| **L5** | agent-introspection-debugging | 失敗パターン自己診断 | 失敗 3 連続 | introspection report |
|
|
61
|
+
|
|
62
|
+
### 2.2 Workflow 強制 (W1-W4)
|
|
63
|
+
|
|
64
|
+
| W | command | 役割 |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| **W1** | `/test-design <slug>` | MECE 20 カテゴリのテストカタログ生成 + user スコープ承認強制 |
|
|
67
|
+
| **W2** | `/design-review <slug>` | `reviewer-registry` の design + security 全 agent を並列起動して fan-out レビュー |
|
|
68
|
+
| **W3** | `/module-review` / `/system-review` | TDD 完了直後と全体統合後の 3 観点 (持続可能性 / 汎用性 / 非冗長化) リファクタリング強制 |
|
|
69
|
+
| **W4** | `/new-feature` (14-stage) / `/modify-feature` (10-stage) | workflow orchestrator + `workflow-guard.sh` で `/finish-task` 段 BLOCK 判定 |
|
|
70
|
+
|
|
71
|
+
### 2.3 副産物 discharge (next-actions registry)
|
|
72
|
+
|
|
73
|
+
タスク実装中・レビュー中に発生した「副産物」を **物理的に消えない設計** で管理:
|
|
74
|
+
|
|
75
|
+
| 層 | 機構 | 動作 |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| 1 | `docs/tasks/next-actions.md` registry | informal な「TODO / 次アクション候補」の公式 location |
|
|
78
|
+
| 2 | `_TASK_TEMPLATE.md` 派生 task section | 発生源 task に副産物を明示記録 |
|
|
79
|
+
| 3 | `next-actions-surface.sh` (SessionStart) | 未処理 entry を `<system-reminder>` で stderr 強制提示 |
|
|
80
|
+
| 4 | `byproduct-discharge-guard.sh` (Stop) | 🔴 未処理 entry 残存で session 終了を `exit 2` BLOCK |
|
|
81
|
+
| 5 | `/discharge-byproduct <entry>` | entry → draft / parking-lot / 無視 の移行 helper |
|
|
82
|
+
|
|
83
|
+
### 2.4 Session 永続化 + PM Orchestration (Serena MCP 必須)
|
|
84
|
+
|
|
85
|
+
`/sc:save` `/sc:load` `/sc:pm` (SuperClaude plugin) を `.claude/` 単独 portable な自前実装に置換:
|
|
86
|
+
|
|
87
|
+
| command | 役割 |
|
|
88
|
+
|---|---|
|
|
89
|
+
| `/save-state` | session 状態を Serena memory に snapshot 保存 (`session/context` + `session/last` + `session/checkpoint`) |
|
|
90
|
+
| `/resume-state` | 前 session 状態を memory から復元、未完 task を TaskList 再同期 |
|
|
91
|
+
| `/pm-start` | PM Agent orchestration + PDCA cycle 永続化 (Session Start Protocol 内包) |
|
|
92
|
+
|
|
93
|
+
memory key schema: `session/*` (snapshot) / `plan/<feature>/*` (Plan) / `execution/<feature>/*` (Do) / `evaluation/<feature>/*` (Check) / `learning/{patterns,solutions,mistakes}/*` (Act) / `project/*` (project 全体理解)。
|
|
94
|
+
|
|
95
|
+
### 2.5 Action Space
|
|
96
|
+
|
|
97
|
+
- **100 active agents** (10 カテゴリ別、44 件は `docs/archive/agents/` 履歴保持)
|
|
98
|
+
- **43 skills** (eval-harness / continuous-learning-v2 / verification-loop / agent-router / repo-map ほか)
|
|
99
|
+
- **agent-router**: prompt → named agent 自動推薦 (300+ keywords、84.1% dispatch rate、Phase 2 Hybrid mode で低信頼 prompt に LLM selector)
|
|
100
|
+
- **repo-map**: Aider 風シンボル抽出による context 圧縮
|
|
101
|
+
|
|
102
|
+
### 2.6 規範文書の Layer A/B Strategy (2026-05-28、task-51)
|
|
103
|
+
|
|
104
|
+
`.claude/rules/*.md` (規範文書) は **Layer A (要約版、context 自動注入) + Layer B (詳細版、明示 Read のみ)** の 2 層構造で運用する。AI は通常運用で Layer A のみを参照し、token 節約 + 規範 visibility 維持を両立。
|
|
105
|
+
|
|
106
|
+
| 層 | 物理配置 | context 注入 | 内容 |
|
|
107
|
+
|---|---|---|---|
|
|
108
|
+
| **Layer A** | `.claude/rules/<rule>.md` | claudeMd 経由で常時注入 (Claude Code が `.claude/rules/` を再帰 discover) | 採用 N 条 / 遵守事項 / table (条文 keep) / bypass env 1-2 行 / 重要 keyword 見出し / Layer B link / hook 名 / 起源 1 行 |
|
|
109
|
+
| **Layer B** | `.claude/rules-details/<rule>.details.md` | **非注入** (Claude Code は `.claude/rules/` のみ discover、別 dir は対象外) | OK/NG 例詳細 / history / SUPERSEDED 履歴 / bypass 詳細仕様 / 起源詳細 / 5 層強制機構の詳細 / 関連 artifact 完全 list |
|
|
110
|
+
|
|
111
|
+
> **設計経緯 (2026-05-28 A 案 redesign)**: 当初 `.claude/rules/<rule>.details.md` + frontmatter `paths: []` で非注入を狙ったが、Claude Code 公式仕様 (code.claude.com/docs/en/memory.md) で「`.claude/rules/*.md` は再帰 discover + startup load」「`paths:` は path match 時の**追加適用** (除外機構ではない)」が確定 (claude-code-guide subagent + 公式 doc、confidence 0.95)。token 実測でも `paths: []` は無効で逆に context が増えたため、Layer B を別 dir `.claude/rules-details/` (discover 対象外) へ物理移動して除外を実現。
|
|
112
|
+
|
|
113
|
+
**Layer B Read trigger (4 条件、Layer A 冒頭に admonition 配置)**:
|
|
114
|
+
1. **違反検出時**: hook BLOCK / warn 注入受領 / regex 不一致
|
|
115
|
+
2. **規範変更時**: rule 編集 / draft 起案 / 採用 N 条改定
|
|
116
|
+
3. **新規事案**: 初遭遇 keyword / 例外パターン疑い
|
|
117
|
+
4. **学習 / dogfood**: task 着手前依存先必読 / harness audit / 副産物整理
|
|
118
|
+
|
|
119
|
+
通常運用 (上記 4 trigger 非該当) は Layer A のみで判断、Layer B Read skip (token 節約)。詳細は `.claude/rules-details/<rule>.details.md` の各 §「<該当 section>」を参照。
|
|
120
|
+
|
|
121
|
+
**規約**: Layer A → Layer B link は **2 要素 hard match** (`details.md` 含む markdown link + section anchor) を満たせば spec compliant (2026-05-28 緩和、iter 1 review H-2 反映)。link path は forward `../rules-details/<rule>.details.md` / back `../rules/<rule>.md` (相対参照)。
|
|
122
|
+
|
|
123
|
+
### 2.7 アーキテクチャ
|
|
124
|
+
|
|
125
|
+
```mermaid
|
|
126
|
+
flowchart TD
|
|
127
|
+
User[User Prompt] --> Main[Main Agent]
|
|
128
|
+
Main -->|"UserPromptSubmit"| WX[why-x5-reminder]
|
|
129
|
+
Main -->|"UserPromptSubmit"| ME[mode-enforce]
|
|
130
|
+
Main -->|"UserPromptSubmit"| CB[context-budget]
|
|
131
|
+
Main -->|"UserPromptSubmit"| LP[loop-auto-progress]
|
|
132
|
+
Main -->|"UserPromptSubmit"| AR[agent-router]
|
|
133
|
+
Main -->|"PreToolUse"| DG[delegation-guard]
|
|
134
|
+
Main -->|"PreToolUse"| GG[gateguard F1]
|
|
135
|
+
Main -->|"PreToolUse"| TG[task-rule F2]
|
|
136
|
+
Main -->|"PreToolUse Bash"| AA[autonomous-action-guard]
|
|
137
|
+
Main -->|"PreToolUse Bash"| WG[workflow-guard]
|
|
138
|
+
Main -->|"PreToolUse Agent"| PS[parallel-subagent-reminder]
|
|
139
|
+
Main -->|"Agent tool"| Sub[Sub Agent]
|
|
140
|
+
Sub -->|"PostToolUse"| OB[observe.sh]
|
|
141
|
+
Sub -->|"PostToolUse"| FL[failure-loop-detect]
|
|
142
|
+
Sub -->|"SubagentStop"| CG[confidence-gate F3]
|
|
143
|
+
OB --> Audit[harness-audit]
|
|
144
|
+
Audit --> User
|
|
145
|
+
SessionStart[SessionStart] --> NA[next-actions-surface]
|
|
146
|
+
SessionStart --> MS[mode-session-start]
|
|
147
|
+
Stop[Stop] --> BD[byproduct-discharge-guard]
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 3. どう使うか (How)
|
|
153
|
+
|
|
154
|
+
### 3.1 前提条件
|
|
155
|
+
|
|
156
|
+
| 種別 | 要件 |
|
|
157
|
+
|---|---|
|
|
158
|
+
| 必須 | Claude Code CLI (claude.ai)、Bash 4+、Python 3.9+、jq、git、**rsync** (install.sh) |
|
|
159
|
+
| 推奨 | Node.js 22+ / npx (Mermaid hook 用、ローカル install 推奨) |
|
|
160
|
+
| 任意 | Docker (SWE-bench 評価機構を使う場合) |
|
|
161
|
+
| **MCP 必須** (`/save-state` `/resume-state` `/pm-start` 利用時) | Serena MCP — `.mcp.json` に `serena` entry 登録 (`uvx --from git+https://github.com/oraios/serena serena start-mcp-server --context ide-assistant`) |
|
|
162
|
+
|
|
163
|
+
### 3.2 Quick Start (install.sh)
|
|
164
|
+
|
|
165
|
+
新規 project への install / 既存 project への update / dry-run を 1 script で完結:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# 1. ハーネス本体を clone
|
|
169
|
+
git clone https://github.com/thirai-classlab/hirai-method.git ~/hirai-method
|
|
170
|
+
|
|
171
|
+
# 2. 対象 project に install (新規)
|
|
172
|
+
cd ~/hirai-method
|
|
173
|
+
bash install.sh /path/to/your-project
|
|
174
|
+
|
|
175
|
+
# 3. project root で次を実施 (install.sh が案内する)
|
|
176
|
+
cd /path/to/your-project
|
|
177
|
+
$EDITOR .claude/harness-config.yml # protected_paths / task_dir / ...
|
|
178
|
+
$EDITOR .claude/bash-whitelist.txt # 使う CLI (pnpm/poetry/cargo/...) を追記
|
|
179
|
+
mv CLAUDE.md.template CLAUDE.md && $EDITOR CLAUDE.md # <...> placeholders を埋める
|
|
180
|
+
git init # observe.sh の project hash 検出を有効化
|
|
181
|
+
# Claude Code session 起動 → /init-tasks → /mode loop
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
install.sh は **冪等** で、既存 `.claude/` は `.claude.bak.<timestamp>` に退避してから新規 install (data loss なし)。
|
|
185
|
+
|
|
186
|
+
#### install.sh モード
|
|
187
|
+
|
|
188
|
+
| flag | 用途 |
|
|
189
|
+
|---|---|
|
|
190
|
+
| (default) | 新規 install。既存 `.claude` / `CLAUDE.md` は `.bak.<timestamp>` 退避、CLAUDE.md は `.template` として配置 |
|
|
191
|
+
| `--update` | 既存 `.claude/` を rsync 増分上書き。state dir + `settings.local.json` 保持、CLAUDE.md / .mcp.json / .gitignore は不変。**settings.json は rsync 除外だが rsync 後に自動再生成** (task-80、statusLine / hook / dispatcher 配線を手動なしで同期、permissions 保持) |
|
|
192
|
+
| `--force` | 既存 `.claude` / `CLAUDE.md` を **backup なしで** 上書き (危険)。settings.json は破壊リセット後 不在のため自動再生成は skip |
|
|
193
|
+
| `--dry-run` | 実行内容を表示のみ (rsync -n + 各 cp / mkdir を echo) |
|
|
194
|
+
| `--no-mcp` | `.mcp.json` を配置しない (Serena MCP 不要な project) |
|
|
195
|
+
| `--no-docs` | `docs/tasks/` `docs/draft/` の templates 配置を skip |
|
|
196
|
+
|
|
197
|
+
`--update` の除外 (保護) 対象: 全 state dir (`.gateguard-state/` `.taskguard-state/` `.confidence-gate-state/` `.failure-window/` `.agent-markers/` `.context-budget-state/` `.improvement-proposal-state/` `.workflow-state/`) + `settings.json` + `settings.local.json` + `settings.local.example.json` + **`harness-config.local.yml`** (project 固有 override) + `bash-whitelist-requests/` + `worktrees/`
|
|
198
|
+
|
|
199
|
+
> なお `settings.json` は **rsync 除外** (repo 固有 permissions 保護) だが、`--update` は rsync 後に `generate-settings.sh` を**自動実行して settings.json を再生成**する (task-80、既存 permissions を保持したまま statusLine / 新 hook / dispatcher 配線を反映)。自動再生成は「既存 settings.json + jq あり」が条件で、満たさない時のみ手動再生成が必要。
|
|
200
|
+
|
|
201
|
+
#### Update 運用 (複数 project)
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
cd ~/hirai-method && git pull
|
|
205
|
+
bash install.sh --update /path/to/project-a
|
|
206
|
+
bash install.sh --update /path/to/project-b
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
> ⚠️ **cross-repo write は Claude Code sandbox + delegation-guard 二重制約で agent 実行不能**。`bash install.sh --update <target>` は **user manual 実行のみ可能**、agent task として subagent / main から呼び出すと sandbox deny される (詳細: memory `feedback_cross_repo_write_sandbox_block.md` / `.claude/rules/development-process.md` §「cross-repo write 例外」)。
|
|
210
|
+
|
|
211
|
+
> ⚠️ **`--update` は project 固有 file を上書きする**: `.claude/harness-config.yml` / `bash-whitelist.txt` / `settings.json` / `rules/*.md` / `agents/*` / `skills/**` / `commands/*` は exclude されない。事前 `git stash` or `cp <file>.bak` で backup 推奨。
|
|
212
|
+
|
|
213
|
+
### 3.2.1 導入マニュアル (新規プロジェクト / 既存プロジェクト)
|
|
214
|
+
|
|
215
|
+
> install.sh の引数は **target ディレクトリのみ** (言語指定引数は無い)。`./install.sh typescript` のような言語名指定は **別物 (`~/.claude/rules/` の rules 用 installer)** で、本ハーネスの install.sh には適用されない。本ハーネスは `bash install.sh <target-dir>` が正。
|
|
216
|
+
|
|
217
|
+
#### A. 新規プロジェクトに導入する (初回、default mode)
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
# 1. ハーネス本体を clone (初回のみ)
|
|
221
|
+
git clone https://github.com/thirai-classlab/hirai-method.git ~/hirai-method
|
|
222
|
+
|
|
223
|
+
# 2. 対象 project に install (target は "ディレクトリ path")
|
|
224
|
+
cd ~/hirai-method
|
|
225
|
+
bash install.sh /path/to/your-project # 事前確認したいときは末尾に --dry-run
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
install.sh が配置するもの (既存 `.claude` / `CLAUDE.md` は `.bak.<timestamp>` に自動退避 = data loss なし):
|
|
229
|
+
|
|
230
|
+
| 配置物 | 備考 |
|
|
231
|
+
|---|---|
|
|
232
|
+
| `.claude/` 一式 (hooks / skills / rules / commands / scripts / templates / config) | rsync 配置 |
|
|
233
|
+
| `CLAUDE.md.template` | placeholder 入り (既存 CLAUDE.md は退避) |
|
|
234
|
+
| `.mcp.json` | 既存があれば触らない / `--no-mcp` で skip |
|
|
235
|
+
| `.gitignore` | harness state 除外行を追記 (無ければ新規) |
|
|
236
|
+
| `docs/tasks/{list,parking-lot,_TASK_TEMPLATE}.md` + `docs/draft/_DRAFT_TEMPLATE.md` | 既存は skip / `--no-docs` で全 skip |
|
|
237
|
+
| `harness-config.yml` の `harness_version: <install 日 UTC>` | install 日 stamp |
|
|
238
|
+
|
|
239
|
+
導入後の初期設定 (install.sh 完了時にも案内が出る):
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
cd /path/to/your-project
|
|
243
|
+
|
|
244
|
+
# 1. preset を選ぶ (consuming repo は team-default 推奨。重要 guard が ON になる)
|
|
245
|
+
# ※ harness-dev は本ハーネス自身の開発専用 (guard を意図的に緩和) なので consuming repo では選ばない
|
|
246
|
+
bash .claude/scripts/hc-config.sh --set default_preset=team-default
|
|
247
|
+
|
|
248
|
+
# 2. project 固有の上書きは SSoT yml ではなく local.yml に書く (--update で温存される)
|
|
249
|
+
$EDITOR .claude/harness-config.local.yml
|
|
250
|
+
|
|
251
|
+
# 3. 使う CLI を whitelist に追記 (pnpm / poetry / cargo / ...)
|
|
252
|
+
$EDITOR .claude/bash-whitelist.txt
|
|
253
|
+
|
|
254
|
+
# 4. settings.json を生成して hook を配線する (★必須・最重要)
|
|
255
|
+
# install.sh は settings.json を配らない (task-71: repo 固有 permissions / preset を守るため exclude)。
|
|
256
|
+
# 未実行だと hook が一切発火せずハーネスが効かない。preset / feature toggle を変えたら再実行する。
|
|
257
|
+
bash .claude/scripts/generate-settings.sh --out .claude/settings.json
|
|
258
|
+
|
|
259
|
+
# 5. CLAUDE.md を起こして project 固有情報を記入
|
|
260
|
+
mv CLAUDE.md.template CLAUDE.md && $EDITOR CLAUDE.md # <...> placeholder を埋める
|
|
261
|
+
|
|
262
|
+
# 6. git 初期化 (observe.sh の project hash 検出に必要)
|
|
263
|
+
git init
|
|
264
|
+
|
|
265
|
+
# 7. 導入確認
|
|
266
|
+
bash .claude/scripts/hc-config.sh --summary # 現 preset / 有効・無効 guard / docs mismatch
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
> ⚠️ **`generate-settings.sh` を実行しないと hook が 1 つも発火しません** (install.sh は settings.json を配布しないため)。これが「install したのにガードが効かない」の最頻原因です。preset 変更 / feature toggle 変更後も再実行してください。
|
|
270
|
+
|
|
271
|
+
Claude Code session を起動 → `/init-tasks` → (任意 `/mode loop`) → `/new-draft` → 承認 → `/new-task` → 自律実装。
|
|
272
|
+
|
|
273
|
+
#### B. 既存プロジェクト (導入済) を最新ハーネスに更新する (--update mode)
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
cd ~/hirai-method && git pull # ハーネス本体を最新化
|
|
277
|
+
bash install.sh --update /path/to/your-project # .claude/ 一式を増分同期 + settings.json 自動再生成
|
|
278
|
+
bash install.sh --update /path/to/your-project --commit # 同期 + .claude/ のみ自動 commit (git repo 必須)
|
|
279
|
+
|
|
280
|
+
# settings.json は --update が rsync 後に自動再生成する (task-80)。
|
|
281
|
+
# → statusLine / 新規 hook / dispatcher 配線が手動なしで反映され、既存 permissions は保持される。
|
|
282
|
+
# 自動再生成は「既存 settings.json + jq あり」が条件。満たさない時のみ手動で:
|
|
283
|
+
# cd /path/to/your-project && bash .claude/scripts/generate-settings.sh --out .claude/settings.json
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
`--update` は **既存 `.claude/` 必須** (無ければ exit 64 → 新規は default mode を使う)。
|
|
287
|
+
|
|
288
|
+
> ✅ **task-80 以降、`--update` は rsync 後に settings.json を自動再生成する** (既存 settings.json + jq あり時)。新しい task で hook / dispatcher manifest / statusLine が追加されても、**手動再生成なしで配線が反映**される (既存 permissions は保持)。jq 不在 / 既存 settings.json 不在の時のみ自動再生成が skip されるので、その場合のみ手動で `generate-settings.sh --out .claude/settings.json` を実行する。
|
|
289
|
+
>
|
|
290
|
+
> ⚠️ settings.json への**手編集** (dispatcher-manifest 外の独自トップレベル key / 独自 hook) は自動再生成で manifest 由来に**置換され脱落**する。独自 hook は `.claude/scripts/dispatcher-manifest.tsv` に登録すること (これが正しい運用)。
|
|
291
|
+
|
|
292
|
+
**`--update` で保護される (上書きされない) もの** = project 固有の値:
|
|
293
|
+
|
|
294
|
+
| 保護対象 | 理由 |
|
|
295
|
+
|---|---|
|
|
296
|
+
| 全 state dir (`.gateguard-state/` `.taskguard-state/` `.confidence-gate-state/` `.workflow-state/` 他) | session 状態 |
|
|
297
|
+
| `settings.json` | repo 固有 permissions / preset (rsync 除外。ただし `--update` 後に**自動再生成**され statusLine / hook 配線が反映、**permissions は保持**) |
|
|
298
|
+
| `settings.local.json` / `settings.local.example.json` | ローカル設定 |
|
|
299
|
+
| **`harness-config.local.yml`** | project 固有 override (← ここに書けば update で消えない) |
|
|
300
|
+
| `bash-whitelist-requests/` / `worktrees/` | 申請・作業領域 |
|
|
301
|
+
| `CLAUDE.md` / `.mcp.json` / `.gitignore` | touch しない |
|
|
302
|
+
|
|
303
|
+
> ⚠️ 逆に `.claude/harness-config.yml` (SSoT) / `bash-whitelist.txt` / `rules/*.md` / `agents/*` / `skills/**` / `commands/*` は **exclude されず上書きされる**。project 固有値はこれらに直書きせず **`harness-config.local.yml` に書く**こと。`--update` 時に SSoT yml へ直書き値を検出すると **MIGRATE warning** が出るので、その値を local.yml に移す。
|
|
304
|
+
|
|
305
|
+
更新後: `bash install.sh --update` は `.claude/` 配下の変更を列挙する。`--commit` 未指定なら手動で `.claude/` のみ分離 commit (project file と混ぜない)。
|
|
306
|
+
|
|
307
|
+
> ⚠️ `bash install.sh --update <target>` は **user manual (terminal) 実行のみ可能**。cross-repo write は Claude Code sandbox + delegation-guard 二重制約で agent からは実行不能 (agent task にしない)。
|
|
308
|
+
|
|
309
|
+
#### B-2. CLAUDE.md 統合 (既存 project の CLAUDE.md と harness を統合する)
|
|
310
|
+
|
|
311
|
+
`install.sh` (default / `--update` とも) は **CLAUDE.md を touch しない** (project 固有情報を守るため)。既存 project に harness を導入/更新した際、project の CLAUDE.md に harness 規範を載せるには **手動統合**する。方針は「**project 固有情報は全保持 + harness 共通規範は `@.claude/CommonRules.md` import に集約**」。
|
|
312
|
+
|
|
313
|
+
**統合手順**:
|
|
314
|
+
|
|
315
|
+
1. **`@.claude/CommonRules.md` import を CLAUDE.md 冒頭付近に追加** (既にあれば重複させない)。この 1 行で harness 共通規範 (Development Policy / Autonomous Progression / Rules / 動作モード / Critical Lessons / slash-command 一覧) が session 開始時に load される。
|
|
316
|
+
```markdown
|
|
317
|
+
@.claude/CommonRules.md
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
2. **project 固有内容は全保持** (削除厳禁): Overview / User Context / Tech Stack / Architecture / Implementation Status / Commands / Domain Knowledge / Related Repositories / **project 固有の Critical Lessons**。迷ったら残す。
|
|
321
|
+
|
|
322
|
+
3. **harness 汎用の本体テキストは重複削除可** (CommonRules.md に集約済): inline 展開していた Development Policy 本体 / Autonomous Progression 本体 / Rules table / harness slash-command 一覧 / 並列 git commit 競合・`set -e` leak 等の harness 共通 Lessons。ハーネステンプレのメタ説明文 ("これは汎用ハーネス用テンプレ" 等) と未使用 placeholder `<...>` も除去 (placeholder は project 実値で埋める)。
|
|
323
|
+
|
|
324
|
+
4. **project 固有の harness delta は `## Project 固有 追補 (CommonRules への delta)` セクションに集約**: 委譲スコープの path 読替 (例 `apps/**/src`) / project 固有の autonomous 確認項目 (例 本番 deploy / DB migration) / project 固有 rule row 等、CommonRules 汎用規範に対する「この repo だけの差分」をここに置く。
|
|
325
|
+
|
|
326
|
+
> このセクションは `--update` では同期されない (CLAUDE.md は protect)。harness 更新で CommonRules 側の共通規範が変わっても、project の CLAUDE.md は **import 1 行経由で自動追従**する (= 二重管理不要、共通規範を各 repo に転記しない)。新しい project 固有事情が出たら本セクション (Project 固有 追補) に追記する。
|
|
327
|
+
|
|
328
|
+
#### B-3. project-rules 保護 (harness rule を上書きせず project 固有 override を書く)
|
|
329
|
+
|
|
330
|
+
harness の 7 共通 rule (`.claude/rules/{development-process,git-workflow,modes,self-improvement,task-management,why-x5-output,workflow}.md`) は **harness 所有**で `install.sh --update` の rsync で上書き追従される。consuming repo がこれらを直接編集すると update で消失する。これを防ぐため、各 harness rule の末尾から `@../project-rules/<name>.md` を **@import** で結合 load する設計を採る。
|
|
331
|
+
|
|
332
|
+
| layer | 配置 | update 挙動 | 用途 |
|
|
333
|
+
|---|---|---|---|
|
|
334
|
+
| **harness rule** (上書き) | `.claude/rules/<name>.md` | rsync で上書き (harness 所有) | 共通規範本体 + 末尾に `@../project-rules/<name>.md` 1 行 |
|
|
335
|
+
| **project rule** (保護) | `.claude/project-rules/<name>.md` | **なければ作成・あれば更新しない** | project 固有の拡張 / override (harness rule の**後に**結合) |
|
|
336
|
+
|
|
337
|
+
- **編集先の指針**: harness 共通 rule を project 固有に変えたい / 追補したい時は、**7 harness rule (`.claude/rules/*.md`) を一切触らず** `.claude/project-rules/<name>.md` に書く。@import で harness rule の後に load されるため、後勝ちで override / 追補できる。
|
|
338
|
+
- **保護機構 (二重)**: `install.sh` は (1) `RSYNC_EXCLUDES` / `RSYNC_EXCLUDES_MINIMAL` に `--exclude=project-rules/` を含め update/force/overwrite-all いずれの rsync でも project-rules を touch しない、(2) create-if-absent で **なければ空テンプレ配置・あれば skip** (既存 project 編集を上書きしない)。→ harness 共通 rule は update 追従、project 固有 override は永続保護を両立。
|
|
339
|
+
- **新規ルール領域**: `.claude/project-rules/` に新 file を追加 + 必要なら CLAUDE.md / 既存 rule から `@import` する (7 harness rule 本体は触らない)。
|
|
340
|
+
|
|
341
|
+
#### C. mode / flag 早見表
|
|
342
|
+
|
|
343
|
+
| flag | 用途 |
|
|
344
|
+
|---|---|
|
|
345
|
+
| (なし) | 新規 install (既存は `.bak` 退避、CLAUDE.md は `.template` 配置) |
|
|
346
|
+
| `--update` | 既存 `.claude/` 増分上書き (state / local 保持、CLAUDE.md 等 不変)。settings.json は rsync 除外後に**自動再生成** (task-80、配線同期 + permissions 保持)。既存 .claude 必須 |
|
|
347
|
+
| `--update --commit` | 上記 + sync された `.claude/` path のみ自動 commit (非 git target は skip + WARN) |
|
|
348
|
+
| `--force` | backup なしで上書き (危険) |
|
|
349
|
+
| `--dry-run` | 実行内容を表示のみ |
|
|
350
|
+
| `--no-mcp` | `.mcp.json` を配置しない |
|
|
351
|
+
| `--no-docs` | docs templates 配置を skip |
|
|
352
|
+
|
|
353
|
+
exit code: 引数エラー / 不正 flag / target 不在 / self-install / 言語名を渡した等 = **64**、rsync 未 install = **69**。
|
|
354
|
+
|
|
355
|
+
> 詳細フロー図は [§3.9.2](#392-インストール--設定--利用の全体フロー)、project/user-level の 2 install モードは [§3.11](#311-2-つの-install-モード-project-level--user-level) を参照。
|
|
356
|
+
|
|
357
|
+
### 3.3 動作モード (Normal / Loop)
|
|
358
|
+
|
|
359
|
+
| モード | 用途 | 動作 |
|
|
360
|
+
|---|---|---|
|
|
361
|
+
| **Normal** (既定) | 探索的作業、user 確認分岐重視 | 重要分岐で user 確認を求める / SessionStart で Loop 切替を 1 度提案 |
|
|
362
|
+
| **Loop** | 設計承認済 task の自律進行 | 戦術判断は AI 推奨を即採用 / 中間確認禁止 / Why × 5 表示は維持 / 適切な粒度で commit 必須 |
|
|
363
|
+
|
|
364
|
+
切替: `/mode loop` / `/mode normal` (`.claude/mode.yml` に永続化、`HC_MODE=loop` env でも一時切替可)。
|
|
365
|
+
|
|
366
|
+
**Loop モードでも user 確認必須の例外** (`modes.md` 遵守事項 2):
|
|
367
|
+
- 設計文書の新規追加 (`docs/draft/<slug>.md` 起こし + 承認)
|
|
368
|
+
- 仕様変更 / scope 拡張
|
|
369
|
+
- 戦略的判断 (architecture 選択 / 技術スタック変更)
|
|
370
|
+
- 自律実行禁止 11 カテゴリ (main/stg* push / `gh pr merge` / 本番 deploy / DB migration / secrets / 等)
|
|
371
|
+
|
|
372
|
+
### 3.4 タスク管理フロー (採用 6 条準拠、2026-05-25)
|
|
373
|
+
|
|
374
|
+
**Task = Phase = N Step、Phase 中間階層廃止** の 2 階層構造を強制。
|
|
375
|
+
|
|
376
|
+
| 項目 | 規約 |
|
|
377
|
+
|---|---|
|
|
378
|
+
| Task 必須項目 | ゴール (1 文、観察可能) / 作業概要 (3-5 件) / 完了条件 (DoD) / 概要欄 (list.md 用、3 要素: 何のため × 何をやる × 何ができる) |
|
|
379
|
+
| Step 必須項目 | 作業概要 (1-2 文) / 完了条件 (定量 or 観察可能事実) / Step status (📝/🔲/🔄/✅/⏸️) / 概要欄 (作業概要のみ) |
|
|
380
|
+
| Task 最終 3 Steps (固定) | テスト設計レビュー (5+ reviewer 動的選定) → テスト合格 (UI 含むなら E2E 必須) → リファクタリング (3 観点判定 or skip) |
|
|
381
|
+
| 小タスク許容 | hot fix / typo / config 1 行追加は「1 Task + 1 Step」OK |
|
|
382
|
+
| 既存 task 移行 | 2026-05-25 以前作成 task は次回着手時に honor system で新構造へ再構造化推奨 |
|
|
383
|
+
|
|
384
|
+
### 3.5 plan-first 経路 B (batch planning)
|
|
385
|
+
|
|
386
|
+
**3 件以上の task を一括計画する場合**は経路 B を選択:
|
|
387
|
+
|
|
388
|
+
```mermaid
|
|
389
|
+
flowchart LR
|
|
390
|
+
A["master roadmap で N task §plan 確定"] --> B["user 承認"]
|
|
391
|
+
B --> C["main agent が list.md に N 行 📝 batch 先置き"]
|
|
392
|
+
C --> D["個別 draft 起案 (subagent 並列可)"]
|
|
393
|
+
D --> E["user 承認"]
|
|
394
|
+
E --> F["/new-task で 📝 → 🔲 update"]
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
機械強制 hook:
|
|
398
|
+
- **SessionStart**: `docs/draft/*.md` ≥ 3 件 ∧ `list.md` task 行 == 0 で `<system-reminder>` 注入 (経路 B 適用検討促進)
|
|
399
|
+
- **PreToolUse(Write `docs/draft/*.md`)**: 新規 draft Write 時 list.md に対応 slug の 📝 行不在なら warn 注入 (block しない、honor system)
|
|
400
|
+
|
|
401
|
+
### 3.6 基本コマンド
|
|
402
|
+
|
|
403
|
+
| カテゴリ | コマンド |
|
|
404
|
+
|---|---|
|
|
405
|
+
| **タスク** | `/init-tasks` `/new-draft` `/new-task` `/start-task` `/finish-task` `/task-bypass` `/discharge-byproduct` |
|
|
406
|
+
| **Session** | `/save-state` `/resume-state` `/pm-start` |
|
|
407
|
+
| **Git / レビュー** | `/commit` `/reviewpr` |
|
|
408
|
+
| **自己改善 L1 (Eval)** | `/eval define\|check\|report` |
|
|
409
|
+
| **自己改善 L2 (GAN)** | `/gan-design` `/gan-build` |
|
|
410
|
+
| **自己改善 L4 (Learning)** | `/instinct-status` `/projects` `/learn` `/evolve` `/promote` `/instinct-export` `/instinct-import` |
|
|
411
|
+
| **自己改善 L5 (Introspect)** | `/agent-introspect` |
|
|
412
|
+
| **事実検証 F1 (GateGuard)** | `/gate-status` `/gate-clear` `/gate-bypass` |
|
|
413
|
+
| **事実検証 F2 (Verify)** | `/verify` |
|
|
414
|
+
| **Workflow 強制 (W1-W4)** | `/test-design` `/design-review` `/module-review` `/system-review` `/new-feature` `/modify-feature` |
|
|
415
|
+
| **動作モード** | `/mode normal\|loop` |
|
|
416
|
+
| **監査** | `/harness-audit` (`--swe-bench` / `--router` flag) |
|
|
417
|
+
|
|
418
|
+
### 3.7 典型開発フロー
|
|
419
|
+
|
|
420
|
+
```mermaid
|
|
421
|
+
flowchart LR
|
|
422
|
+
S1["/new-draft slug"] --> S2["user 承認"]
|
|
423
|
+
S2 --> S3["/new-task id slug"]
|
|
424
|
+
S3 --> S4["/start-task id"]
|
|
425
|
+
S4 --> S5["Agent tool で subagent 委譲<br/>(並列起動が default)"]
|
|
426
|
+
S5 --> S6["subagent 実装 + 完了報告<br/>(confidence: 0.X 必須)"]
|
|
427
|
+
S6 --> S7["/module-review"]
|
|
428
|
+
S7 --> S8["/finish-task id"]
|
|
429
|
+
S8 --> S9["/commit"]
|
|
430
|
+
S9 --> S10["user manual push + PR"]
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
### 3.8 サブエージェント運用 (3 必須要件)
|
|
434
|
+
|
|
435
|
+
| 要件 | 規範 |
|
|
436
|
+
|---|---|
|
|
437
|
+
| **背景起動** | Agent tool は `run_in_background: true` 必須 (30s 以内 smoke のみ例外)、メインを user 対話に常時開放 |
|
|
438
|
+
| **並列化義務** | file 領域独立な sub-task 2 件以上は並列起動 default、1 subagent 統合委譲は明示的理由 (race risk / 共有 file 衝突 / context budget / sequential 依存) が必要 |
|
|
439
|
+
| **agent type 選定** | `general-purpose` は specialized agent 不在時のみ、`test-automator` / `refactoring-specialist` / `*-build-resolver` / `code-reviewer` / `security-reviewer` 等を default 採用 |
|
|
440
|
+
|
|
441
|
+
機械強制 hook:
|
|
442
|
+
- `agent-marker-set.sh` (foreground 起動 warning)
|
|
443
|
+
- `parallel-subagent-reminder.sh` (単独起動 + 並列化対象 keyword 検出で warning)
|
|
444
|
+
- agent type mismatch 検出 (`general-purpose` + 専門 type 適合 keyword で推奨 type 注入)
|
|
445
|
+
|
|
446
|
+
### 3.9 設定 (`.claude/harness-config.yml`)
|
|
447
|
+
|
|
448
|
+
全挙動は `.claude/harness-config.yml` の集中設定で制御する。主要 key:
|
|
449
|
+
|
|
450
|
+
```yaml
|
|
451
|
+
# 保護パス (メインからの直接 Edit/Write を block)
|
|
452
|
+
protected_paths: [src, tests, scripts]
|
|
453
|
+
protected_paths_code: [.claude/hooks, .claude/skills, .claude/scripts]
|
|
454
|
+
code_file_extensions: [.sh, .py, .mjs, .ts, .js]
|
|
455
|
+
|
|
456
|
+
# タスク管理
|
|
457
|
+
task_dir: docs/tasks
|
|
458
|
+
draft_dir: docs/draft
|
|
459
|
+
|
|
460
|
+
# Bash 許可リスト (SSoT)
|
|
461
|
+
bash_whitelist_path: .claude/bash-whitelist.txt
|
|
462
|
+
|
|
463
|
+
# Confidence Gate (F3)
|
|
464
|
+
confidence_threshold: 0.6
|
|
465
|
+
confidence_required: true
|
|
466
|
+
confidence_state_dir: .claude/.confidence-gate-state
|
|
467
|
+
|
|
468
|
+
# Context budget
|
|
469
|
+
context_budget_threshold: 0.66
|
|
470
|
+
|
|
471
|
+
# 機能 on/off (feature toggle、各 hook を group 単位で集中制御)
|
|
472
|
+
feature_loop_mode_enforcement_enabled: true # loop-auto-progress / mode-enforce / loop-confirmation-detector
|
|
473
|
+
feature_task_rule_guard_enabled: true # task-rule-guard / list-md-plan-first-reminder
|
|
474
|
+
feature_byproduct_discharge_enabled: true # next-actions-surface / byproduct-discharge-guard
|
|
475
|
+
feature_why_x5_enforcement_enabled: true # why-x5-violation-detect / why-x5-reminder
|
|
476
|
+
feature_notify_enabled: true # stop / notify (macOS 通知音)
|
|
477
|
+
|
|
478
|
+
# reviewer 制御 (W1-W4 + Task 最終 3 Step のレビュー反復)
|
|
479
|
+
review_min_count_test: 5 # テスト設計レビュー reviewer 数下限
|
|
480
|
+
review_max_count_test: 10 # 同上限 (cost 制御)
|
|
481
|
+
review_iteration_max: 5 # レビュー反復上限 (採用 6 条 4)
|
|
482
|
+
|
|
483
|
+
# 観測
|
|
484
|
+
homunculus_root: ~/.claude/homunculus
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
#### 3.9.1 設定編集ツール `hc-config.sh` (推奨)
|
|
488
|
+
|
|
489
|
+
yml を直接 `$EDITOR` で編集すると **型ミス / 構文崩れでハーネス全体が動作不能**になるリスクがある。`hc-config.sh` は型 validation + atomic write + 自動 backup 付きで安全に編集する CLI / 対話ツール。
|
|
490
|
+
|
|
491
|
+
**実行コマンド**:
|
|
492
|
+
|
|
493
|
+
```bash
|
|
494
|
+
# 対話 menu (引数なしで起動、推奨)
|
|
495
|
+
bash .claude/scripts/hc-config.sh
|
|
496
|
+
|
|
497
|
+
# 使い方表示
|
|
498
|
+
bash .claude/scripts/hc-config.sh --help
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
**CLI args (script 自動化 / 単発編集用)**:
|
|
502
|
+
|
|
503
|
+
| コマンド | 動作 |
|
|
504
|
+
|---|---|
|
|
505
|
+
| `--list` | 全 key 一覧 (key / current / default / type の 4 列) |
|
|
506
|
+
| `--get <key>` | 値取得 (env override > yml > default の 3 段解決) |
|
|
507
|
+
| `--set <key>=<value>` | 値設定 + 型 validation + `.bak.<ts>` backup + atomic write |
|
|
508
|
+
| `--feature <name>=<true\|false>` | feature toggle 専用 shorthand (`feature_<name>_enabled` の alias) |
|
|
509
|
+
| `--reset <key>` | default 値に戻す |
|
|
510
|
+
| `--reset-all` | 全 key を default に戻す |
|
|
511
|
+
| `--diff` | 現在値と default の差分一覧 |
|
|
512
|
+
| `--validate` | 全 key の型 validation のみ実行 (yml 編集なし) |
|
|
513
|
+
| `--config <path>` | 編集対象 yml を override (任意 yml file 指定 / staging 確認用) |
|
|
514
|
+
| `--help` | 使い方表示 |
|
|
515
|
+
|
|
516
|
+
**対話 menu (引数なし起動)**: ①全 key 一覧 ②key 選択 → 値編集 ③feature toggle 一括 on/off ④reviewer 設定 quick edit ⑤終了。`q` / `0` / `Ctrl-D` でいつでも終了。
|
|
517
|
+
|
|
518
|
+
**使用例**:
|
|
519
|
+
|
|
520
|
+
```bash
|
|
521
|
+
# 現在値を確認
|
|
522
|
+
bash .claude/scripts/hc-config.sh --get review_iteration_max # → 5
|
|
523
|
+
|
|
524
|
+
# Loop モード強制 hook 群を一括 OFF (試験的 / regression debug 時)
|
|
525
|
+
bash .claude/scripts/hc-config.sh --feature loop_mode_enforcement=false
|
|
526
|
+
|
|
527
|
+
# reviewer 反復上限を 3 に変更 (cost 制御、atomic backup 付き)
|
|
528
|
+
bash .claude/scripts/hc-config.sh --set review_iteration_max=3
|
|
529
|
+
|
|
530
|
+
# 通知音を OFF (静音セッション)
|
|
531
|
+
bash .claude/scripts/hc-config.sh --feature notify=false
|
|
532
|
+
|
|
533
|
+
# 全設定を default に戻す
|
|
534
|
+
bash .claude/scripts/hc-config.sh --reset-all
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
**安全機構**: 各編集前に `harness-config.yml.bak.<timestamp>.<pid>` を自動作成 (最新 10 件保持、`HC_BAK_RETENTION_COUNT` で変更可)。`.tmp` に書込 → yaml 構文検証 → `mv` で atomic 上書き。検証 FAIL なら旧 yml を維持して rollback。
|
|
538
|
+
|
|
539
|
+
> env 上書き例: `HC_PROTECTED_PATHS="src tests"` / `HC_TASK_DIR=tasks` / `HC_REVIEW_ITERATION_MAX=3` 等で yml を触らず一時調整も可 (優先順: env > yml > default)。詳細は [`docs/PORTABILITY.md`](docs/PORTABILITY.md) / [`docs/SELF_IMPROVEMENT.md`](docs/SELF_IMPROVEMENT.md) §「hc-config.sh による yml 編集」。
|
|
540
|
+
|
|
541
|
+
### 3.9.2 インストール → 設定 → 利用の全体フロー
|
|
542
|
+
|
|
543
|
+
```mermaid
|
|
544
|
+
flowchart TD
|
|
545
|
+
I1["bash install.sh /path/to/project<br/>(ハーネス本体を配置)"] --> I2["cd /path/to/project"]
|
|
546
|
+
I2 --> C1["bash .claude/scripts/hc-config.sh<br/>(対話 menu で設定確認 / 調整)"]
|
|
547
|
+
C1 --> C2["$EDITOR .claude/bash-whitelist.txt<br/>(使う CLI を追記: pnpm/poetry/cargo...)"]
|
|
548
|
+
C2 --> C3["mv CLAUDE.md.template CLAUDE.md<br/>+ <...> placeholders 記入"]
|
|
549
|
+
C3 --> C4["git init<br/>(observe.sh の project hash 検出)"]
|
|
550
|
+
C4 --> U1["Claude Code session 起動"]
|
|
551
|
+
U1 --> U2["/init-tasks (タスク台帳初期化)"]
|
|
552
|
+
U2 --> U3["/mode loop (自律進行モード)"]
|
|
553
|
+
U3 --> U4["/new-draft → 承認 → /new-task<br/>→ /start-task → 自律実装"]
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
| 段階 | コマンド | 目的 |
|
|
557
|
+
|---|---|---|
|
|
558
|
+
| **① インストール** | `bash install.sh /path/to/project` | `.claude/` 一式 + CLAUDE.md.template 配置 (冪等、既存は `.bak` 退避) |
|
|
559
|
+
| **② 設定** | `bash .claude/scripts/hc-config.sh` | feature toggle / reviewer 制御 / 保護パス等を安全に確認・調整 |
|
|
560
|
+
| | `$EDITOR .claude/bash-whitelist.txt` | project で使う CLI prefix を追記 |
|
|
561
|
+
| | `mv CLAUDE.md.template CLAUDE.md` + 編集 | project 固有情報 (Tech Stack / Commands 等) を記入 |
|
|
562
|
+
| | `git init` | observe.sh の project hash 検出を有効化 |
|
|
563
|
+
| **③ 利用** | Claude Code 起動 → `/init-tasks` → `/mode loop` | session 開始 + タスク台帳初期化 + 自律進行モード |
|
|
564
|
+
| | `/new-draft <slug>` → 承認 → `/new-task <id> <slug>` | 設計→承認→タスク化の 3 step (設計なき着手を hook が block) |
|
|
565
|
+
| | `/start-task <id>` → subagent 委譲 → `/finish-task <id>` | 着手 → 実装 (並列 subagent) → 完了クローズ |
|
|
566
|
+
|
|
567
|
+
> ②③ の途中で feature toggle を切り替えたくなったら、いつでも `bash .claude/scripts/hc-config.sh --feature <name>=false` で安全に変更できる (atomic backup 付き、ハーネス再起動不要)。
|
|
568
|
+
|
|
569
|
+
### 3.10 動作確認
|
|
570
|
+
|
|
571
|
+
```bash
|
|
572
|
+
cd /path/to/your-project
|
|
573
|
+
bash .claude/hooks/lib/config-loader.sh && echo "config-loader OK"
|
|
574
|
+
# Claude Code session 起動後:
|
|
575
|
+
# - 任意の Read で hook 発火、observe.sh が ~/.claude/homunculus/projects/<hash>/ に記録
|
|
576
|
+
# - 保護パス配下の Edit が delegation-guard.sh で BLOCK されること
|
|
577
|
+
# - /harness-audit で hook 発火率 / GateGuard 状況を確認
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
### 3.11 2 つの install モード (project-level / user-level)
|
|
581
|
+
|
|
582
|
+
| モード | settings.json | hook path | 対象 project 解決 | 用途 |
|
|
583
|
+
|---|---|---|---|---|
|
|
584
|
+
| **project-level** (既定、install.sh の対象) | `<project>/.claude/settings.json` | `bash .claude/hooks/X.sh` | cwd = project root 前提 | 1 project 専用、`.claude/` を repo に commit |
|
|
585
|
+
| **user-level** | `~/.claude/settings.json` (templates から copy) | `bash ${HOME}/.claude/hooks/X.sh` | 4 段 fallback (`HC_PROJECT_ROOT` env → `git rev-parse` → `CLAUDE_PROJECT_DIR` env → `pwd`) | 複数 project で hooks 共有 |
|
|
586
|
+
|
|
587
|
+
user-level setup:
|
|
588
|
+
|
|
589
|
+
```bash
|
|
590
|
+
mkdir -p ~/.claude
|
|
591
|
+
cp -R ~/hirai-method/.claude/{hooks,skills,rules,commands} ~/.claude/
|
|
592
|
+
cp ~/hirai-method/.claude/templates/settings.user-level.json.template ~/.claude/settings.json
|
|
593
|
+
# git 外で動かす場合のみ:
|
|
594
|
+
export HC_PROJECT_ROOT=/path/to/your-project
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
---
|
|
598
|
+
|
|
599
|
+
## 4. 重要規律 (Critical Lessons)
|
|
600
|
+
|
|
601
|
+
本 harness 運用で繰り返し発生した事故 → 機械強制化した教訓 (詳細は [`CLAUDE.md`](CLAUDE.md) §「Critical Operational Lessons」):
|
|
602
|
+
|
|
603
|
+
| # | 教訓 | 重要度 | 機械強制 hook |
|
|
604
|
+
|---:|---|:---:|---|
|
|
605
|
+
| 1 | 並列 subagent に同一 branch で `git commit` させる際は `git add <specific files>` 限定 + `git reset` 禁止 | HIGH | (prompt 規約、honor system) |
|
|
606
|
+
| 2 | `.claude/hooks/lib/*.sh` の file-top に `set -euo pipefail` を書かない (caller leak → SIGPIPE → exit 141 silent) | HIGH | (regression review、honor system) |
|
|
607
|
+
| 3 | Loop モード中、subagent 起動後にメインが受動待ち停止しない | HIGH | `loop-auto-progress-reminder.sh` |
|
|
608
|
+
| 4 | Loop モードの「中間確認禁止」を盾に `git push origin main\|stg*` / `gh pr merge` / 本番 deploy を自律実行しない | HIGH | `autonomous-action-guard.sh` + `delegation-guard.sh` (protected branch push deny) |
|
|
609
|
+
| 5 | メインが `.claude/hooks/*.sh` `.claude/skills/**/*.{sh,py,mjs}` `.claude/scripts/**/*` を直接 Edit/Write しない (subagent + staging 戦略必須) | HIGH | `delegation-guard.sh` (`HC_PROTECTED_PATHS_CODE` + `HC_CODE_FILE_EXTENSIONS`) |
|
|
610
|
+
| 6 | メインが `docs/` 直下に新規設計文書を直接 Write しない (`docs/draft/` 起こし → 承認 → `docs/tasks/` 反映の 3 step 必須) | HIGH | `draft-flow-guard.sh` |
|
|
611
|
+
| 7 | Loop モードでも「設計→承認→タスク追加」フローは免除されない | HIGH | (規範、`modes.md` 遵守事項 2 例外条項) |
|
|
612
|
+
| 8 | task 構造は採用 6 条 (Task=Phase=N Step、Phase 中間階層廃止) を採用 | HIGH | (規範、`task-management.md` §タスク構造規範) |
|
|
613
|
+
| 9 | list.md plan-first 不在 → SessionStart hook + Write warn 2 段検出 | HIGH | `list-md-plan-first-reminder.sh` (SessionStart) + `task-rule-guard.sh` (PreToolUse Write) |
|
|
614
|
+
|
|
615
|
+
---
|
|
616
|
+
|
|
617
|
+
## 5. Hook 仕様
|
|
618
|
+
|
|
619
|
+
| Event | Hook | 役割 |
|
|
620
|
+
|---|---|---|
|
|
621
|
+
| **PreToolUse** | `delegation-guard.sh` | メインの保護パス到達 block + Bash 3 layers (whitelist / git destructive deny / protected branch push deny) |
|
|
622
|
+
| | `gateguard.sh` (F1) | 事実材料未提示時の Edit/Write/破壊的 Bash を block |
|
|
623
|
+
| | `task-rule-guard.sh` (F2) | draft なきタスク作成を block + draft path warn 注入 (list.md 📝 行不在検出) |
|
|
624
|
+
| | `draft-flow-guard.sh` | `docs/` 直下深さ 1 新規 .md/.mdx を block (draft 経路強制) |
|
|
625
|
+
| **PreToolUse(Bash)** | `autonomous-action-guard.sh` | Loop モード自律実行禁止 11 カテゴリ (`git push origin main\|stg*` / `gh pr merge` / `vercel --prod` / `terraform apply` 等) を BLOCK、Normal モードでは warning |
|
|
626
|
+
| | `workflow-guard.sh` | `/finish-task <slug>` 直前に state JSON 検証、未完 stage / pending findings 残存で BLOCK |
|
|
627
|
+
| **PreToolUse(Agent)** | `agent-marker-set.sh` | foreground 起動 warning |
|
|
628
|
+
| | `parallel-subagent-reminder.sh` | 単独起動 + 並列化対象 keyword 検出で warning + agent type 推奨注入 |
|
|
629
|
+
| **PostToolUse** | `observe.sh` | 全 tool call を JSONL 記録 (`~/.claude/homunculus/`) |
|
|
630
|
+
| | `failure-loop-detect.sh` | 同種エラー 3 連続で `/agent-introspect` 提案 |
|
|
631
|
+
| | `check-md-mermaid.sh` | `.md` / `.mdx` 内 mermaid block を mermaid@11 で構文検証 |
|
|
632
|
+
| **SubagentStop** | `confidence-gate.sh` (F3) | 完了報告 confidence (≥0.6) 検証 (major subagent only) |
|
|
633
|
+
| **UserPromptSubmit** | `why-x5-reminder.sh` | 「<何のため> のため、<何をやる> を行う」1 行 format を毎ターン強制 (v10、2026-05-23) |
|
|
634
|
+
| | `mode-enforce.sh` | Loop モード稼働中、毎ターン遵守事項 5/7/8 再注入 |
|
|
635
|
+
| | `context-budget.sh` | Context 使用率 60% / 80% / 95% tier 突破で `/save-state` 実行 + 再開提案を強制 |
|
|
636
|
+
| | `loop-auto-progress-reminder.sh` | Loop モード subagent 待ち中の停止検出で独立作業強制を注入 |
|
|
637
|
+
| | `agent-router-suggest.sh` | named agent 推薦 hint 注入 (300+ keywords、84.1% dispatch rate) |
|
|
638
|
+
| **SessionStart** | `init-tasks.sh` | タスク状態復元 (`list.md` / `parking-lot.md` / template 自動生成) |
|
|
639
|
+
| | `mode-session-start.sh` | 現モード表示 + Normal モード時 Loop 切替提案 + Serena memory 存在時 `/resume-state` 自動提案 |
|
|
640
|
+
| | `next-actions-surface.sh` | 未処理 next-actions entry を `<system-reminder>` で stderr 提示 (緊急度 🔴 強調) |
|
|
641
|
+
| | `list-md-plan-first-reminder.sh` | `docs/draft/*.md` ≥ 3 件 ∧ `list.md` task 行 == 0 で 経路 B 適用検討促進 |
|
|
642
|
+
| **Stop** | `byproduct-discharge-guard.sh` | next-actions 🔴 未処理 entry 残存時に session 終了を `exit 2` BLOCK |
|
|
643
|
+
| | `stop.sh` | macOS 通知音 (Glass.aiff) |
|
|
644
|
+
| **Notification** | `notify.sh` | macOS 通知音 (Hero.aiff) |
|
|
645
|
+
|
|
646
|
+
bypass: `/gate-bypass <gate-name> <理由>` で 1 回限り skip 可能、`.claude/.workflow-state/bypass.log` に append + `/harness-audit` 集計。
|
|
647
|
+
|
|
648
|
+
---
|
|
649
|
+
|
|
650
|
+
## 6. エージェント / スキル
|
|
651
|
+
|
|
652
|
+
### 6.1 エージェント (active 100 件、10 カテゴリ)
|
|
653
|
+
|
|
654
|
+
| カテゴリ | active 数 | 代表例 |
|
|
655
|
+
|---|---:|---|
|
|
656
|
+
| 01-core-development | 11 | api-designer, backend-developer, frontend-developer |
|
|
657
|
+
| 02-language-specialists | 8 | typescript-pro, python-pro, golang-pro, react-specialist |
|
|
658
|
+
| 03-infrastructure | 11 | docker-expert, kubernetes-specialist, terraform-engineer |
|
|
659
|
+
| 04-quality-security | 13 | code-reviewer, security-auditor, debugger |
|
|
660
|
+
| 05-data-ai | 11 | ml-engineer, prompt-engineer, postgres-pro |
|
|
661
|
+
| 06-developer-experience | 12 | git-workflow-manager, refactoring-specialist |
|
|
662
|
+
| 07-specialized-domains | 4 | seo-specialist, payment-integration |
|
|
663
|
+
| 08-business-product | 12 | product-manager, technical-writer |
|
|
664
|
+
| 09-meta-orchestration | 11 | workflow-orchestrator, agent-organizer |
|
|
665
|
+
| 10-research-analysis | 7 | research-analyst, market-researcher |
|
|
666
|
+
|
|
667
|
+
archive 44 件は `docs/archive/agents/` に履歴保持 (restore 可)。詳細: [`docs/INVENTORY.md`](docs/INVENTORY.md)。
|
|
668
|
+
|
|
669
|
+
agent-router 確認: `python3 .claude/skills/agent-router/router.py --explain "<prompt>"`
|
|
670
|
+
|
|
671
|
+
### 6.2 スキル (43 件、代表)
|
|
672
|
+
|
|
673
|
+
- `eval-harness` — pass@k 評価フレーム (L1)
|
|
674
|
+
- `gan-style-harness` — adversarial 反復 (L2)
|
|
675
|
+
- `continuous-learning-v2` — instinct 学習 (L4)
|
|
676
|
+
- `verification-loop` — 多段検証 (L3)
|
|
677
|
+
- `agent-introspection-debugging` — 失敗自己診断 (L5)
|
|
678
|
+
- `agent-router` — subagent_type 推薦
|
|
679
|
+
- `repo-map` — Aider 風シンボル抽出 (context 圧縮)
|
|
680
|
+
- `gateguard` — F1 ゲートのスキル化レイヤー
|
|
681
|
+
- `check-md-mermaid` — Markdown mermaid 構文検証
|
|
682
|
+
- `mcp-builder` — MCP server 雛形生成
|
|
683
|
+
- `karpathy-guidelines` — LLM コーディング行動規約 (Think Before Coding / Simplicity First / Surgical Changes / Verifiable Success Criteria)
|
|
684
|
+
- ほか 32 件
|
|
685
|
+
|
|
686
|
+
全件確認: `find .claude/skills -maxdepth 1 -type d`
|
|
687
|
+
|
|
688
|
+
---
|
|
689
|
+
|
|
690
|
+
## 7. ベンチマーク
|
|
691
|
+
|
|
692
|
+
### 7.1 SWE-bench Lite (dry-run 実測)
|
|
693
|
+
|
|
694
|
+
| version | 改善内容 | 適用率 (sample) | 累計 cost |
|
|
695
|
+
|---|---|---:|---:|
|
|
696
|
+
| C-1 | unified-diff prompt | 40% (2/5) | $1.078 |
|
|
697
|
+
| C-1.5 | 全文出力 + difflib | 60% (3/5) | $0.853 |
|
|
698
|
+
| C-1.6 | whole-file timeout → unified-diff fallback (hybrid) | N/A (中断) | — |
|
|
699
|
+
|
|
700
|
+
C-1.5 は適用率 1.5× にしつつコスト低下。本番 200 task (50 × F1/F2 on/off) は約 $45-60 / 3.5h (parallel=4) 見込み。
|
|
701
|
+
|
|
702
|
+
評価実行:
|
|
703
|
+
|
|
704
|
+
```bash
|
|
705
|
+
python3 .claude/skills/eval-harness/swe-bench/runner.py \
|
|
706
|
+
--tasks tasks/lite-50.json --variant hybrid
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
### 7.2 agent-router dispatch rate
|
|
710
|
+
|
|
711
|
+
| 指標 | 値 | 備考 |
|
|
712
|
+
|---|---|---|
|
|
713
|
+
| Phase 1 (keyword only) — 90 日サンプル | 84.1% (991/1,178 prompts) | 目標 70% 超過 |
|
|
714
|
+
| Phase 1 — 20 representative prompts | 100% (20/20) | tests/test_router.py fixture |
|
|
715
|
+
| Phase 2 (Hybrid mock) — 15 low-/subtle-signal | 100% (15/15) | mock selector wiring 検証 |
|
|
716
|
+
| Phase 2 LLM selector per-call cap | $0.05 / call | `--llm-budget-usd` で調整可 |
|
|
717
|
+
|
|
718
|
+
実運用 dispatch は `~/.claude/homunculus/projects/<hash>/dispatch.jsonl` に永続化 (2026-05-05 開始)、`/harness-audit --router` で経時集計可能。
|
|
719
|
+
|
|
720
|
+
---
|
|
721
|
+
|
|
722
|
+
## 8. ハーネス比較
|
|
723
|
+
|
|
724
|
+
平井メソッドを他 OSS と比較:
|
|
725
|
+
|
|
726
|
+
| OSS | Dispatch 方式 | SSoT | LLM 利用 | star |
|
|
727
|
+
|---|---|---|---|---:|
|
|
728
|
+
| **平井メソッド** | Phase 1: keyword 一段 / Phase 2: Hybrid (keyword → LLM selector for conf < 0.5) | dispatch-table.yml + .claude/agents/*.md | Phase 2 で Hybrid 化 ($0.05/call cap) | (本リポ) |
|
|
729
|
+
| Claude Code 公式 sub-agents | 親 LLM が description を読み Agent tool で起動 | Markdown frontmatter | Yes | 純正 |
|
|
730
|
+
| AutoGen SelectorGroupChat | LLM が selector で次話者選定 | Python class | Yes | 54k |
|
|
731
|
+
| LangGraph supervisor | handoff tool 呼出で routing | create_supervisor | Yes | 24.8k+ |
|
|
732
|
+
| CrewAI hierarchical | manager_llm が役割で動的割当 | Agent class | Yes | 49.9k |
|
|
733
|
+
| BMAD-METHOD | "BMad Master" が persona 切替 | .bmad-core | Yes | 43k+ |
|
|
734
|
+
| SuperClaude | keyword + 拡張子 + flag | CLAUDE.md / AGENTS.md | No | 6k |
|
|
735
|
+
| OpenHands | AgentDelegateAction で明示呼出 | register_agent | Yes | 72.3k |
|
|
736
|
+
|
|
737
|
+
### 哲学的位置付け
|
|
738
|
+
|
|
739
|
+
- **平井メソッド**: defense-first (fabrication 抑止 / 委譲強制 / 監査可能性)。LLM-based dispatch を排し、coverage を犠牲にしてでも決定論性を取る
|
|
740
|
+
- **SuperClaude / OpenHands**: 親 LLM の判断に丸投げ、設計はミニマル
|
|
741
|
+
- **CrewAI / AutoGen / LangGraph**: 多 agent collaboration が価値、dispatch 精度はトレードオフ
|
|
742
|
+
|
|
743
|
+
詳細: [`docs/AGENT-ROUTER.md`](docs/AGENT-ROUTER.md#改善-backlog)
|
|
744
|
+
|
|
745
|
+
---
|
|
746
|
+
|
|
747
|
+
## 9. トラブルシューティング
|
|
748
|
+
|
|
749
|
+
| 症状 | 原因 | 対処 |
|
|
750
|
+
|---|---|---|
|
|
751
|
+
| `delegation-guard.sh: BLOCKED` | メインから保護パス (`src/` `tests/` `scripts/` or `.claude/hooks/` 等) への直接 Edit | Agent tool で subagent 委譲 (`run_in_background: true` 必須) |
|
|
752
|
+
| `gateguard.sh: BLOCKED — 事実材料が不足` | 初回 Edit/Write 前の事実材料 (importers / callers / data 構造 / user 逐語引用) 未提示 | 4 事実を提示するか `/gate-bypass gateguard <理由>` |
|
|
753
|
+
| `confidence-gate.sh: BLOCKED` | subagent 完了 summary に `confidence: 0.X` 不在 or < 0.6 | `confidence: 0.X` 記載 + 必要なら検証追加で 0.6 以上に、bypass `/gate-bypass confidence <理由>` |
|
|
754
|
+
| `git destructive guard: BLOCKED` | `push --force` / `reset --hard` / `branch -D` / `clean -f` / `checkout --` / `stash drop\|clear` / `tag -d\|-f` / `reflog expire` / `gc --prune=now` 等 | 非破壊代替 (`git revert` / `git stash pop`) 優先、必要時 `export ECC_ALLOW_DESTRUCTIVE_GIT=1` |
|
|
755
|
+
| `protected branch push deny: BLOCKED` | `git push origin main` / `stg*` / `release/stg-prod` 等 | feature branch + PR 経由を推奨、必要時 `export ECC_ALLOW_PROTECTED_BRANCH_PUSH=1` |
|
|
756
|
+
| `autonomous-action-guard: BLOCKED` (Loop モード) | 自律実行禁止 11 カテゴリ (`git push origin main\|stg*` / `gh pr merge` / 本番 deploy 等) | user 明示承認を取る、必要時 `export ECC_AUTONOMOUS_ACTION_OVERRIDE=1` |
|
|
757
|
+
| `task-rule-guard: BLOCKED — draft 不在` | `docs/draft/<slug>.md` なしで `docs/tasks/task-<id>-<slug>.md` Write 試行 | `/new-draft <slug>` で draft 起こし → 承認 → `/new-task` |
|
|
758
|
+
| `draft-flow-guard: BLOCKED` | `docs/` 直下 (深さ 1) に新規 .md/.mdx を直接 Write | `docs/draft/<slug>.md` 起こし → 承認 → `docs/tasks/` 反映 |
|
|
759
|
+
| `agent-router suggestion` が出ない | confidence < 0.5 で hint 抑制、または fallback=true | `python3 .claude/skills/agent-router/router.py --explain "<prompt>"` で手動確認 |
|
|
760
|
+
| `git push` が permission deny される | Claude Code permission system が一律 deny (subagent / bypass env 回避不可、既知事象) | **user manual terminal 必須**、`git push -u origin <branch>` を直接実行 |
|
|
761
|
+
| `parallel-subagent-reminder` warning | 単独 Agent 起動 + 並列化対象 keyword 検出 | 並列起動を default に、意図的なら無視 OK (`HC_PARALLEL_SUBAGENT_REMINDER_ENABLED=false` で off) |
|
|
762
|
+
| Mermaid hook 遅い / オフライン | `check-md-mermaid.sh` が npx で都度 install (30MB / 10-20s) | `npm install -g mermaid@11.13.0 jsdom` で事前 install、または project-local install |
|
|
763
|
+
|
|
764
|
+
---
|
|
765
|
+
|
|
766
|
+
## 10. ドキュメント
|
|
767
|
+
|
|
768
|
+
| File | 内容 |
|
|
769
|
+
|---|---|
|
|
770
|
+
| [`CLAUDE.md`](CLAUDE.md) | プロジェクト固有設定 (templates 付き) + Critical Operational Lessons |
|
|
771
|
+
| [`docs/INVENTORY.md`](docs/INVENTORY.md) | 全構成要素の Path 表 |
|
|
772
|
+
| [`docs/INVENTORY-stocktake-2026-05-04.md`](docs/INVENTORY-stocktake-2026-05-04.md) | agent 棚卸しレポート |
|
|
773
|
+
| [`docs/PORTABILITY.md`](docs/PORTABILITY.md) | 別リポへの移植手順 + 4 段 PROJECT_ROOT 解決仕様 |
|
|
774
|
+
| [`docs/SELF_IMPROVEMENT.md`](docs/SELF_IMPROVEMENT.md) | F1-F3 + L1-L5 詳細 + 監査 |
|
|
775
|
+
| [`docs/CONFIDENCE-GATE.md`](docs/CONFIDENCE-GATE.md) | Confidence Gate (F3) 仕様 |
|
|
776
|
+
| [`docs/AGENT-ROUTER.md`](docs/AGENT-ROUTER.md) | agent-router 設計詳細 |
|
|
777
|
+
| [`.claude/rules/development-process.md`](.claude/rules/development-process.md) | TDD / 委譲 / Bash deny 反射 / 並列化義務 / agent type 選定 |
|
|
778
|
+
| [`.claude/rules/workflow.md`](.claude/rules/workflow.md) | Workflow 強制 (W1-W4) + 副産物 discharge + Session 永続化 |
|
|
779
|
+
| [`.claude/rules/task-management.md`](.claude/rules/task-management.md) | タスク構造規範 (採用 6 条) + plan-first 経路 A/B + Parking Lot |
|
|
780
|
+
| [`.claude/rules/modes.md`](.claude/rules/modes.md) | Normal / Loop モード仕様 + 遵守事項 8 + 自律実行禁止 11 カテゴリ |
|
|
781
|
+
| [`.claude/rules/why-x5-output.md`](.claude/rules/why-x5-output.md) | 「<何のため> のため、<何をやる> を行う」1 行 format (v10、2026-05-23) |
|
|
782
|
+
| [`.claude/rules/self-improvement.md`](.claude/rules/self-improvement.md) | L1-L5 + F1/F2 事実検証の使い分け規約 |
|
|
783
|
+
| [`.claude/rules/git-workflow.md`](.claude/rules/git-workflow.md) | branch 命名規約 (`<type>/<short-kebab-description>`) |
|
|
784
|
+
|
|
785
|
+
---
|
|
786
|
+
|
|
787
|
+
## 11. ライセンス / 寄稿
|
|
788
|
+
|
|
789
|
+
- MIT — see [`LICENSE`](LICENSE)
|
|
790
|
+
- Issue / PR welcome — see [`CONTRIBUTING.md`](CONTRIBUTING.md)
|