@heyai-rules/pilo-masterkit 1.2.2 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/agents/PILO_MASTER.md +77 -77
- package/.agent/agents/backend-specialist.md +263 -263
- package/.agent/agents/code-archaeologist.md +106 -106
- package/.agent/agents/csharp-reviewer.md +101 -0
- package/.agent/agents/dart-build-resolver.md +201 -0
- package/.agent/agents/database-architect.md +226 -226
- package/.agent/agents/debugger.md +225 -225
- package/.agent/agents/devops-engineer.md +242 -242
- package/.agent/agents/documentation-writer.md +104 -104
- package/.agent/agents/explorer-agent.md +73 -73
- package/.agent/agents/frontend-specialist.md +593 -593
- package/.agent/agents/game-developer.md +162 -162
- package/.agent/agents/gan-evaluator.md +209 -0
- package/.agent/agents/gan-generator.md +131 -0
- package/.agent/agents/gan-planner.md +99 -0
- package/.agent/agents/healthcare-reviewer.md +83 -0
- package/.agent/agents/mobile-developer.md +377 -377
- package/.agent/agents/opensource-forker.md +198 -0
- package/.agent/agents/opensource-packager.md +249 -0
- package/.agent/agents/opensource-sanitizer.md +188 -0
- package/.agent/agents/orchestrator.md +416 -416
- package/.agent/agents/penetration-tester.md +188 -188
- package/.agent/agents/performance-optimizer.md +446 -187
- package/.agent/agents/personas/athena-agent/agent.json +10 -0
- package/.agent/agents/personas/athena-agent/athena-backend-logic-architecture-profile.md +189 -0
- package/.agent/agents/personas/athena-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/athena-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/athena-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/athena-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/athena-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/athena-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/da-vinci-agent/agent.json +10 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/da-vinci-agent/da-vinci-frontend-ui-ux-design-profile.md +189 -0
- package/.agent/agents/personas/da-vinci-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/da-vinci-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/duong-tang-agent/agent.json +10 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/duong-tang-agent/tang-monk-quality-testing-documentation-profile.md +189 -0
- package/.agent/agents/personas/duong-tang-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/duong-tang-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/gia-cat-luong-agent/agent.json +10 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/gia-cat-luong-agent/kongming-research-strategy-analysis-profile.md +189 -0
- package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/mihata-agent/agent.json +10 -0
- package/.agent/agents/personas/mihata-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/mihata-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/mihata-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/mihata-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/mihata-agent/mihata-multi-agent-orchestration-profile.md +189 -0
- package/.agent/agents/personas/mihata-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/mihata-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/tesla-agent/agent.json +10 -0
- package/.agent/agents/personas/tesla-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/tesla-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/tesla-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/tesla-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/tesla-agent/tesla-fullstack-system-optimization-profile.md +189 -0
- package/.agent/agents/personas/tesla-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/tesla-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/tu-ma-y-agent/agent.json +10 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/tu-ma-y-agent/simayi-feasibility-risk-control-profile.md +189 -0
- package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/venti-agent/agent.json +10 -0
- package/.agent/agents/personas/venti-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/venti-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/venti-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/venti-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/venti-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/venti-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/venti-agent/venti-learning-communication-mentoring-profile.md +189 -0
- package/.agent/agents/product-manager.md +112 -112
- package/.agent/agents/product-owner.md +95 -95
- package/.agent/agents/project-planner.md +406 -406
- package/.agent/agents/qa-automation-engineer.md +103 -103
- package/.agent/agents/security-auditor.md +170 -170
- package/.agent/agents/seo-specialist.md +111 -111
- package/.agent/agents/test-engineer.md +158 -158
- package/.agent/contexts/dev.md +20 -0
- package/.agent/contexts/research.md +26 -0
- package/.agent/contexts/review.md +22 -0
- package/.agent/hooks/hooks.json +395 -0
- package/.agent/hooks/readme.md +222 -0
- package/.agent/mcp-configs/mcp-servers.json +181 -0
- package/.agent/rules/ARCHITECTURAL_BLUEPRINTS.md +62 -62
- package/.agent/rules/CODE_CRAFTSMANSHIP.md +69 -69
- package/.agent/rules/CORE_RULES.md +72 -72
- package/.agent/rules/PROJECT_MAP.md +58 -58
- package/.agent/rules/QUALITY_ASSURANCE.md +54 -54
- package/.agent/rules/SECURITY_ARMOR.md +44 -44
- package/.agent/rules/VERSION_ORCHESTRATION.md +64 -64
- package/.agent/rules/WORKFLOW_ORCHESTRATION.md +55 -55
- package/.agent/rules/common/agents.md +50 -0
- package/.agent/rules/common/code-review.md +124 -0
- package/.agent/rules/common/coding-style.md +48 -0
- package/.agent/rules/common/development-workflow.md +44 -0
- package/.agent/rules/common/git-workflow.md +24 -0
- package/.agent/rules/common/hooks.md +30 -0
- package/.agent/rules/common/patterns.md +31 -0
- package/.agent/rules/common/performance.md +55 -0
- package/.agent/rules/common/security.md +29 -0
- package/.agent/rules/common/testing.md +29 -0
- package/.agent/rules/cpp/coding-style.md +44 -0
- package/.agent/rules/cpp/hooks.md +39 -0
- package/.agent/rules/cpp/patterns.md +51 -0
- package/.agent/rules/cpp/security.md +51 -0
- package/.agent/rules/cpp/testing.md +44 -0
- package/.agent/rules/csharp/coding-style.md +72 -0
- package/.agent/rules/csharp/hooks.md +25 -0
- package/.agent/rules/csharp/patterns.md +50 -0
- package/.agent/rules/csharp/security.md +58 -0
- package/.agent/rules/csharp/testing.md +46 -0
- package/.agent/rules/dart/coding-style.md +159 -0
- package/.agent/rules/dart/hooks.md +66 -0
- package/.agent/rules/dart/patterns.md +261 -0
- package/.agent/rules/dart/security.md +135 -0
- package/.agent/rules/dart/testing.md +215 -0
- package/.agent/rules/golang/coding-style.md +32 -0
- package/.agent/rules/golang/hooks.md +17 -0
- package/.agent/rules/golang/patterns.md +45 -0
- package/.agent/rules/golang/security.md +34 -0
- package/.agent/rules/golang/testing.md +31 -0
- package/.agent/rules/java/coding-style.md +114 -0
- package/.agent/rules/java/hooks.md +18 -0
- package/.agent/rules/java/patterns.md +146 -0
- package/.agent/rules/java/security.md +100 -0
- package/.agent/rules/java/testing.md +131 -0
- package/.agent/rules/kotlin/coding-style.md +86 -0
- package/.agent/rules/kotlin/hooks.md +17 -0
- package/.agent/rules/kotlin/patterns.md +146 -0
- package/.agent/rules/kotlin/security.md +82 -0
- package/.agent/rules/kotlin/testing.md +128 -0
- package/.agent/rules/perl/coding-style.md +46 -0
- package/.agent/rules/perl/hooks.md +22 -0
- package/.agent/rules/perl/patterns.md +76 -0
- package/.agent/rules/perl/security.md +69 -0
- package/.agent/rules/perl/testing.md +54 -0
- package/.agent/rules/php/coding-style.md +40 -0
- package/.agent/rules/php/hooks.md +24 -0
- package/.agent/rules/php/patterns.md +33 -0
- package/.agent/rules/php/security.md +37 -0
- package/.agent/rules/php/testing.md +39 -0
- package/.agent/rules/python/coding-style.md +42 -0
- package/.agent/rules/python/hooks.md +19 -0
- package/.agent/rules/python/patterns.md +39 -0
- package/.agent/rules/python/security.md +30 -0
- package/.agent/rules/python/testing.md +38 -0
- package/.agent/rules/readme.md +111 -0
- package/.agent/rules/rust/coding-style.md +151 -0
- package/.agent/rules/rust/hooks.md +16 -0
- package/.agent/rules/rust/patterns.md +168 -0
- package/.agent/rules/rust/security.md +141 -0
- package/.agent/rules/rust/testing.md +154 -0
- package/.agent/rules/swift/coding-style.md +47 -0
- package/.agent/rules/swift/hooks.md +20 -0
- package/.agent/rules/swift/patterns.md +66 -0
- package/.agent/rules/swift/security.md +33 -0
- package/.agent/rules/swift/testing.md +45 -0
- package/.agent/rules/typescript/coding-style.md +199 -0
- package/.agent/rules/typescript/hooks.md +22 -0
- package/.agent/rules/typescript/patterns.md +52 -0
- package/.agent/rules/typescript/security.md +28 -0
- package/.agent/rules/typescript/testing.md +18 -0
- package/.agent/rules/web/coding-style.md +96 -0
- package/.agent/rules/web/design-quality.md +63 -0
- package/.agent/rules/web/hooks.md +120 -0
- package/.agent/rules/web/patterns.md +79 -0
- package/.agent/rules/web/performance.md +64 -0
- package/.agent/rules/web/security.md +57 -0
- package/.agent/rules/web/testing.md +55 -0
- package/.agent/rules/zh/agents.md +50 -0
- package/.agent/rules/zh/code-review.md +124 -0
- package/.agent/rules/zh/coding-style.md +48 -0
- package/.agent/rules/zh/development-workflow.md +44 -0
- package/.agent/rules/zh/git-workflow.md +24 -0
- package/.agent/rules/zh/hooks.md +30 -0
- package/.agent/rules/zh/patterns.md +31 -0
- package/.agent/rules/zh/performance.md +55 -0
- package/.agent/rules/zh/readme.md +108 -0
- package/.agent/rules/zh/security.md +29 -0
- package/.agent/rules/zh/testing.md +29 -0
- package/.agent/scripts/auto_preview.py +148 -148
- package/.agent/scripts/checklist.py +217 -217
- package/.agent/scripts/session_manager.py +120 -120
- package/.agent/scripts/verify_all.py +327 -327
- package/.agent/skills/agent-eval/SKILL.md +145 -0
- package/.agent/skills/agent-harness-construction/SKILL.md +73 -0
- package/.agent/skills/agent-payment-x402/SKILL.md +178 -0
- package/.agent/skills/agentic-engineering/SKILL.md +63 -0
- package/.agent/skills/ai-first-engineering/SKILL.md +51 -0
- package/.agent/skills/ai-regression-testing/SKILL.md +385 -0
- package/.agent/skills/android-clean-architecture/SKILL.md +339 -0
- package/.agent/skills/api-design/SKILL.md +523 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -81
- package/.agent/skills/api-patterns/api-style.md +42 -42
- package/.agent/skills/api-patterns/auth.md +24 -24
- package/.agent/skills/api-patterns/documentation.md +26 -26
- package/.agent/skills/api-patterns/graphql.md +41 -41
- package/.agent/skills/api-patterns/rate-limiting.md +31 -31
- package/.agent/skills/api-patterns/response.md +37 -37
- package/.agent/skills/api-patterns/rest.md +40 -40
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -211
- package/.agent/skills/api-patterns/security-testing.md +122 -122
- package/.agent/skills/api-patterns/trpc.md +41 -41
- package/.agent/skills/api-patterns/versioning.md +22 -22
- package/.agent/skills/app-builder/SKILL.md +75 -75
- package/.agent/skills/app-builder/agent-coordination.md +71 -71
- package/.agent/skills/app-builder/feature-building.md +53 -53
- package/.agent/skills/app-builder/project-detection.md +34 -34
- package/.agent/skills/app-builder/scaffolding.md +118 -118
- package/.agent/skills/app-builder/tech-stack.md +41 -41
- package/.agent/skills/app-builder/templates/SKILL.md +39 -39
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
- package/.agent/skills/architecture/SKILL.md +55 -55
- package/.agent/skills/architecture/context-discovery.md +43 -43
- package/.agent/skills/architecture/examples.md +94 -94
- package/.agent/skills/architecture/pattern-selection.md +68 -68
- package/.agent/skills/architecture/patterns-reference.md +50 -50
- package/.agent/skills/architecture/trade-off-analysis.md +77 -77
- package/.agent/skills/architecture-decision-records/SKILL.md +179 -0
- package/.agent/skills/article-writing/SKILL.md +79 -0
- package/.agent/skills/autonomous-agent-harness/SKILL.md +267 -0
- package/.agent/skills/autonomous-loops/SKILL.md +610 -0
- package/.agent/skills/backend-patterns/SKILL.md +598 -0
- package/.agent/skills/bash-linux/SKILL.md +199 -199
- package/.agent/skills/behavioral-modes/SKILL.md +242 -242
- package/.agent/skills/benchmark/SKILL.md +93 -0
- package/.agent/skills/blueprint/SKILL.md +105 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -163
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -350
- package/.agent/skills/brand-voice/SKILL.md +97 -0
- package/.agent/skills/brand-voice/references/voice-profile-schema.md +55 -0
- package/.agent/skills/browser-qa/SKILL.md +87 -0
- package/.agent/skills/bun-runtime/SKILL.md +84 -0
- package/.agent/skills/canary-watch/SKILL.md +99 -0
- package/.agent/skills/carrier-relationship-management/SKILL.md +212 -0
- package/.agent/skills/ck/SKILL.md +147 -0
- package/.agent/skills/ck/commands/forget.mjs +44 -0
- package/.agent/skills/ck/commands/info.mjs +24 -0
- package/.agent/skills/ck/commands/init.mjs +143 -0
- package/.agent/skills/ck/commands/list.mjs +40 -0
- package/.agent/skills/ck/commands/migrate.mjs +202 -0
- package/.agent/skills/ck/commands/resume.mjs +36 -0
- package/.agent/skills/ck/commands/save.mjs +210 -0
- package/.agent/skills/ck/commands/shared.mjs +387 -0
- package/.agent/skills/ck/hooks/session-start.mjs +224 -0
- package/.agent/skills/claude-api/SKILL.md +337 -0
- package/.agent/skills/claude-devfleet/SKILL.md +103 -0
- package/.agent/skills/clean-code/SKILL.md +201 -201
- package/.agent/skills/click-path-audit/SKILL.md +244 -0
- package/.agent/skills/clickhouse-io/SKILL.md +439 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -109
- package/.agent/skills/codebase-onboarding/SKILL.md +233 -0
- package/.agent/skills/coding-standards/SKILL.md +530 -0
- package/.agent/skills/compose-multiplatform-patterns/SKILL.md +299 -0
- package/.agent/skills/configure-ecc/SKILL.md +367 -0
- package/.agent/skills/connections-optimizer/SKILL.md +189 -0
- package/.agent/skills/content-engine/SKILL.md +131 -0
- package/.agent/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/.agent/skills/context-budget/SKILL.md +135 -0
- package/.agent/skills/continuous-agent-loop/SKILL.md +45 -0
- package/.agent/skills/continuous-learning/SKILL.md +119 -0
- package/.agent/skills/continuous-learning/config.json +18 -0
- package/.agent/skills/continuous-learning/evaluate-session.sh +69 -0
- package/.agent/skills/continuous-learning-v2/SKILL.md +365 -0
- package/.agent/skills/continuous-learning-v2/agents/observer-loop.sh +271 -0
- package/.agent/skills/continuous-learning-v2/agents/observer.md +198 -0
- package/.agent/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/.agent/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
- package/.agent/skills/continuous-learning-v2/config.json +8 -0
- package/.agent/skills/continuous-learning-v2/hooks/observe.sh +428 -0
- package/.agent/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
- package/.agent/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
- package/.agent/skills/continuous-learning-v2/scripts/test-parse-instinct.py +984 -0
- package/.agent/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/.agent/skills/cpp-coding-standards/SKILL.md +723 -0
- package/.agent/skills/cpp-testing/SKILL.md +324 -0
- package/.agent/skills/crosspost/SKILL.md +111 -0
- package/.agent/skills/csharp-testing/SKILL.md +321 -0
- package/.agent/skills/customer-billing-ops/SKILL.md +140 -0
- package/.agent/skills/customs-trade-compliance/SKILL.md +263 -0
- package/.agent/skills/dart-flutter-patterns/SKILL.md +563 -0
- package/.agent/skills/data-scraper-agent/SKILL.md +764 -0
- package/.agent/skills/database-design/SKILL.md +52 -52
- package/.agent/skills/database-design/database-selection.md +43 -43
- package/.agent/skills/database-design/indexing.md +39 -39
- package/.agent/skills/database-design/migrations.md +48 -48
- package/.agent/skills/database-design/optimization.md +36 -36
- package/.agent/skills/database-design/orm-selection.md +30 -30
- package/.agent/skills/database-design/schema-design.md +56 -56
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -172
- package/.agent/skills/database-migrations/SKILL.md +429 -0
- package/.agent/skills/deep-research/SKILL.md +155 -0
- package/.agent/skills/deployment-patterns/SKILL.md +427 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -241
- package/.agent/skills/design-system/SKILL.md +82 -0
- package/.agent/skills/django-patterns/SKILL.md +734 -0
- package/.agent/skills/django-security/SKILL.md +593 -0
- package/.agent/skills/django-tdd/SKILL.md +729 -0
- package/.agent/skills/django-verification/SKILL.md +469 -0
- package/.agent/skills/dmux-workflows/SKILL.md +191 -0
- package/.agent/skills/doc.md +177 -177
- package/.agent/skills/docker-patterns/SKILL.md +364 -0
- package/.agent/skills/documentation-lookup/SKILL.md +90 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -194
- package/.agent/skills/dotnet-patterns/SKILL.md +321 -0
- package/.agent/skills/e2e-testing/SKILL.md +326 -0
- package/.agent/skills/energy-procurement/SKILL.md +228 -0
- package/.agent/skills/enterprise-agent-ops/SKILL.md +50 -0
- package/.agent/skills/eval-harness/SKILL.md +270 -0
- package/.agent/skills/exa-search/SKILL.md +103 -0
- package/.agent/skills/fal-ai-media/SKILL.md +284 -0
- package/.agent/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/.agent/skills/foundation-models-on-device/SKILL.md +243 -0
- package/.agent/skills/frontend-design/SKILL.md +452 -452
- package/.agent/skills/frontend-design/animation-guide.md +331 -331
- package/.agent/skills/frontend-design/color-system.md +311 -311
- package/.agent/skills/frontend-design/decision-trees.md +418 -418
- package/.agent/skills/frontend-design/motion-graphics.md +306 -306
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -183
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -722
- package/.agent/skills/frontend-design/typography-system.md +345 -345
- package/.agent/skills/frontend-design/ux-psychology.md +1116 -1116
- package/.agent/skills/frontend-design/visual-effects.md +383 -383
- package/.agent/skills/frontend-patterns/SKILL.md +642 -0
- package/.agent/skills/frontend-slides/SKILL.md +184 -0
- package/.agent/skills/frontend-slides/style-presets.md +330 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -119
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -135
- package/.agent/skills/game-development/SKILL.md +167 -167
- package/.agent/skills/game-development/game-art/SKILL.md +185 -185
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -190
- package/.agent/skills/game-development/game-design/SKILL.md +129 -129
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -108
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -132
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -144
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -123
- package/.agent/skills/game-development/web-games/SKILL.md +150 -150
- package/.agent/skills/gan-style-harness/SKILL.md +278 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -156
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -289
- package/.agent/skills/git-workflow/SKILL.md +715 -0
- package/.agent/skills/golang-patterns/SKILL.md +674 -0
- package/.agent/skills/golang-testing/SKILL.md +720 -0
- package/.agent/skills/google-workspace-ops/SKILL.md +95 -0
- package/.agent/skills/healthcare-cdss-patterns/SKILL.md +245 -0
- package/.agent/skills/healthcare-emr-patterns/SKILL.md +159 -0
- package/.agent/skills/healthcare-eval-harness/SKILL.md +207 -0
- package/.agent/skills/healthcare-phi-compliance/SKILL.md +145 -0
- package/.agent/skills/hexagonal-architecture/SKILL.md +276 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -154
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -241
- package/.agent/skills/intelligent-routing/SKILL.md +335 -335
- package/.agent/skills/inventory-demand-planning/SKILL.md +247 -0
- package/.agent/skills/investor-materials/SKILL.md +96 -0
- package/.agent/skills/investor-outreach/SKILL.md +91 -0
- package/.agent/skills/iterative-retrieval/SKILL.md +211 -0
- package/.agent/skills/java-coding-standards/SKILL.md +147 -0
- package/.agent/skills/jira-integration/SKILL.md +293 -0
- package/.agent/skills/jpa-patterns/SKILL.md +151 -0
- package/.agent/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/.agent/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/.agent/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/.agent/skills/kotlin-patterns/SKILL.md +711 -0
- package/.agent/skills/kotlin-testing/SKILL.md +824 -0
- package/.agent/skills/laravel-patterns/SKILL.md +415 -0
- package/.agent/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/.agent/skills/laravel-security/SKILL.md +285 -0
- package/.agent/skills/laravel-tdd/SKILL.md +283 -0
- package/.agent/skills/laravel-verification/SKILL.md +179 -0
- package/.agent/skills/lead-intelligence/SKILL.md +321 -0
- package/.agent/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
- package/.agent/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
- package/.agent/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
- package/.agent/skills/lead-intelligence/agents/signal-scorer.md +60 -0
- package/.agent/skills/lint-and-validate/SKILL.md +45 -45
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -184
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -173
- package/.agent/skills/liquid-glass-design/SKILL.md +279 -0
- package/.agent/skills/logistics-exception-management/SKILL.md +222 -0
- package/.agent/skills/manim-video/SKILL.md +89 -0
- package/.agent/skills/manim-video/assets/network-graph-scene.py +52 -0
- package/.agent/skills/market-research/SKILL.md +75 -0
- package/.agent/skills/mcp-builder/SKILL.md +173 -113
- package/.agent/skills/mcp-builder/license.txt +202 -0
- package/.agent/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.agent/skills/mcp-builder/reference/mcp-best-practices.md +249 -0
- package/.agent/skills/mcp-builder/reference/node-mcp-server.md +970 -0
- package/.agent/skills/mcp-builder/reference/python-mcp-server.md +719 -0
- package/.agent/skills/mcp-builder/scripts/connections.py +151 -0
- package/.agent/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.agent/skills/mcp-builder/scripts/example-evaluation.xml +22 -0
- package/.agent/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.agent/skills/mcp-server-patterns/SKILL.md +67 -0
- package/.agent/skills/mobile-design/SKILL.md +394 -394
- package/.agent/skills/mobile-design/decision-trees.md +516 -516
- package/.agent/skills/mobile-design/mobile-backend.md +491 -491
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -420
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -122
- package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -357
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -458
- package/.agent/skills/mobile-design/mobile-performance.md +767 -767
- package/.agent/skills/mobile-design/mobile-testing.md +356 -356
- package/.agent/skills/mobile-design/mobile-typography.md +433 -433
- package/.agent/skills/mobile-design/platform-android.md +666 -666
- package/.agent/skills/mobile-design/platform-ios.md +561 -561
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -670
- package/.agent/skills/mobile-design/touch-psychology.md +537 -537
- package/.agent/skills/nanoclaw-repl/SKILL.md +33 -0
- package/.agent/skills/nestjs-patterns/SKILL.md +230 -0
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -351
- package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
- package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
- package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
- package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
- package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
- package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
- package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
- package/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -103
- package/.agent/skills/nextjs-react-expert/SKILL.md +293 -293
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
- package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
- package/.agent/skills/nextjs-turbopack/SKILL.md +44 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -333
- package/.agent/skills/nutrient-document-processing/SKILL.md +167 -0
- package/.agent/skills/nuxt4-patterns/SKILL.md +100 -0
- package/.agent/skills/openclaw-persona-forge/SKILL.md +296 -0
- package/.agent/skills/openclaw-persona-forge/gacha.py +224 -0
- package/.agent/skills/openclaw-persona-forge/gacha.sh +5 -0
- package/.agent/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
- package/.agent/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
- package/.agent/skills/openclaw-persona-forge/references/error-handling.md +53 -0
- package/.agent/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
- package/.agent/skills/openclaw-persona-forge/references/naming-system.md +39 -0
- package/.agent/skills/openclaw-persona-forge/references/output-template.md +166 -0
- package/.agent/skills/opensource-pipeline/SKILL.md +255 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -175
- package/.agent/skills/performance-profiling/SKILL.md +143 -143
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -76
- package/.agent/skills/perl-patterns/SKILL.md +504 -0
- package/.agent/skills/perl-security/SKILL.md +503 -0
- package/.agent/skills/perl-testing/SKILL.md +475 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -152
- package/.agent/skills/plankton-code-quality/SKILL.md +236 -0
- package/.agent/skills/postgres-patterns/SKILL.md +147 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -167
- package/.agent/skills/product-lens/SKILL.md +85 -0
- package/.agent/skills/production-scheduling/SKILL.md +238 -0
- package/.agent/skills/project-flow-ops/SKILL.md +111 -0
- package/.agent/skills/project-guidelines-example/SKILL.md +349 -0
- package/.agent/skills/prompt-optimizer/SKILL.md +397 -0
- package/.agent/skills/python-patterns/SKILL.md +750 -441
- package/.agent/skills/python-testing/SKILL.md +816 -0
- package/.agent/skills/pytorch-patterns/SKILL.md +396 -0
- package/.agent/skills/quality-nonconformance/SKILL.md +260 -0
- package/.agent/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -199
- package/.agent/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/.agent/skills/remotion-video-creation/SKILL.md +43 -0
- package/.agent/skills/remotion-video-creation/rules/3d.md +86 -0
- package/.agent/skills/remotion-video-creation/rules/animations.md +29 -0
- package/.agent/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agent/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agent/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.agent/skills/remotion-video-creation/rules/assets.md +78 -0
- package/.agent/skills/remotion-video-creation/rules/audio.md +172 -0
- package/.agent/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
- package/.agent/skills/remotion-video-creation/rules/can-decode.md +75 -0
- package/.agent/skills/remotion-video-creation/rules/charts.md +58 -0
- package/.agent/skills/remotion-video-creation/rules/compositions.md +146 -0
- package/.agent/skills/remotion-video-creation/rules/display-captions.md +126 -0
- package/.agent/skills/remotion-video-creation/rules/extract-frames.md +229 -0
- package/.agent/skills/remotion-video-creation/rules/fonts.md +152 -0
- package/.agent/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
- package/.agent/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
- package/.agent/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
- package/.agent/skills/remotion-video-creation/rules/gifs.md +138 -0
- package/.agent/skills/remotion-video-creation/rules/images.md +130 -0
- package/.agent/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
- package/.agent/skills/remotion-video-creation/rules/lottie.md +67 -0
- package/.agent/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
- package/.agent/skills/remotion-video-creation/rules/measuring-text.md +143 -0
- package/.agent/skills/remotion-video-creation/rules/sequencing.md +106 -0
- package/.agent/skills/remotion-video-creation/rules/tailwind.md +11 -0
- package/.agent/skills/remotion-video-creation/rules/text-animations.md +20 -0
- package/.agent/skills/remotion-video-creation/rules/timing.md +179 -0
- package/.agent/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
- package/.agent/skills/remotion-video-creation/rules/transitions.md +122 -0
- package/.agent/skills/remotion-video-creation/rules/trimming.md +52 -0
- package/.agent/skills/remotion-video-creation/rules/videos.md +171 -0
- package/.agent/skills/repo-scan/SKILL.md +78 -0
- package/.agent/skills/returns-reverse-logistics/SKILL.md +240 -0
- package/.agent/skills/rules-distill/SKILL.md +264 -0
- package/.agent/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/.agent/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/.agent/skills/rust-patterns/SKILL.md +499 -0
- package/.agent/skills/rust-pro/SKILL.md +175 -175
- package/.agent/skills/rust-testing/SKILL.md +500 -0
- package/.agent/skills/safety-guard/SKILL.md +75 -0
- package/.agent/skills/santa-method/SKILL.md +306 -0
- package/.agent/skills/search-first/SKILL.md +161 -0
- package/.agent/skills/security-review/SKILL.md +495 -0
- package/.agent/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/.agent/skills/security-scan/SKILL.md +165 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -129
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
- package/.agent/skills/server-management/SKILL.md +161 -161
- package/.agent/skills/skill-comply/SKILL.md +58 -0
- package/.agent/skills/skill-comply/fixtures/compliant-trace.jsonl +5 -0
- package/.agent/skills/skill-comply/fixtures/noncompliant-trace.jsonl +3 -0
- package/.agent/skills/skill-comply/fixtures/tdd-spec.yaml +44 -0
- package/.agent/skills/skill-comply/prompts/classifier.md +24 -0
- package/.agent/skills/skill-comply/prompts/scenario-generator.md +62 -0
- package/.agent/skills/skill-comply/prompts/spec-generator.md +42 -0
- package/.agent/skills/skill-comply/pyproject.toml +15 -0
- package/.agent/skills/skill-comply/scripts/classifier.py +85 -0
- package/.agent/skills/skill-comply/scripts/grader.py +122 -0
- package/.agent/skills/skill-comply/scripts/init.py +0 -0
- package/.agent/skills/skill-comply/scripts/parser.py +107 -0
- package/.agent/skills/skill-comply/scripts/report.py +170 -0
- package/.agent/skills/skill-comply/scripts/run.py +127 -0
- package/.agent/skills/skill-comply/scripts/runner.py +161 -0
- package/.agent/skills/skill-comply/scripts/scenario-generator.py +70 -0
- package/.agent/skills/skill-comply/scripts/spec-generator.py +72 -0
- package/.agent/skills/skill-comply/scripts/utils.py +13 -0
- package/.agent/skills/skill-comply/tests/test-grader.py +137 -0
- package/.agent/skills/skill-comply/tests/test-parser.py +90 -0
- package/.agent/skills/skill-creator/SKILL.md +485 -0
- package/.agent/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agent/skills/skill-creator/agents/comparator.md +202 -0
- package/.agent/skills/skill-creator/agents/grader.md +223 -0
- package/.agent/skills/skill-creator/assets/eval-review.html +146 -0
- package/.agent/skills/skill-creator/eval-viewer/generate-review.py +471 -0
- package/.agent/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agent/skills/skill-creator/license.txt +202 -0
- package/.agent/skills/skill-creator/references/schemas.md +430 -0
- package/.agent/skills/skill-creator/scripts/aggregate-benchmark.py +401 -0
- package/.agent/skills/skill-creator/scripts/generate-report.py +326 -0
- package/.agent/skills/skill-creator/scripts/improve-description.py +247 -0
- package/.agent/skills/skill-creator/scripts/init.py +0 -0
- package/.agent/skills/skill-creator/scripts/package-skill.py +136 -0
- package/.agent/skills/skill-creator/scripts/quick-validate.py +103 -0
- package/.agent/skills/skill-creator/scripts/run-eval.py +310 -0
- package/.agent/skills/skill-creator/scripts/run-loop.py +328 -0
- package/.agent/skills/skill-creator/scripts/utils.py +47 -0
- package/.agent/skills/skill-stocktake/SKILL.md +193 -0
- package/.agent/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/.agent/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/.agent/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/.agent/skills/social-graph-ranker/SKILL.md +154 -0
- package/.agent/skills/springboot-patterns/SKILL.md +314 -0
- package/.agent/skills/springboot-security/SKILL.md +272 -0
- package/.agent/skills/springboot-tdd/SKILL.md +158 -0
- package/.agent/skills/springboot-verification/SKILL.md +231 -0
- package/.agent/skills/strategic-compact/SKILL.md +131 -0
- package/.agent/skills/strategic-compact/suggest-compact.sh +54 -0
- package/.agent/skills/swift-actor-persistence/SKILL.md +143 -0
- package/.agent/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/.agent/skills/swift-protocol-di-testing/SKILL.md +190 -0
- package/.agent/skills/swiftui-patterns/SKILL.md +259 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -109
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -269
- package/.agent/skills/tdd-workflow/SKILL.md +463 -149
- package/.agent/skills/team-builder/SKILL.md +168 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -178
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -219
- package/.agent/skills/token-budget-advisor/SKILL.md +133 -0
- package/.agent/skills/ui-demo/SKILL.md +465 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +292 -292
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -101
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +3 -3
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +57 -57
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -31
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -253
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -1067
- package/.agent/skills/verification-loop/SKILL.md +126 -0
- package/.agent/skills/video-editing/SKILL.md +310 -0
- package/.agent/skills/videodb/SKILL.md +374 -0
- package/.agent/skills/videodb/reference/api-reference.md +550 -0
- package/.agent/skills/videodb/reference/capture-reference.md +407 -0
- package/.agent/skills/videodb/reference/capture.md +101 -0
- package/.agent/skills/videodb/reference/editor.md +443 -0
- package/.agent/skills/videodb/reference/generative.md +331 -0
- package/.agent/skills/videodb/reference/rtstream-reference.md +564 -0
- package/.agent/skills/videodb/reference/rtstream.md +65 -0
- package/.agent/skills/videodb/reference/search.md +230 -0
- package/.agent/skills/videodb/reference/streaming.md +406 -0
- package/.agent/skills/videodb/reference/use-cases.md +118 -0
- package/.agent/skills/videodb/scripts/ws-listener.py +282 -0
- package/.agent/skills/visa-doc-translate/SKILL.md +117 -0
- package/.agent/skills/visa-doc-translate/readme.md +86 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -276
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -121
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
- package/.agent/skills/web-design-guidelines/SKILL.md +57 -57
- package/.agent/skills/webapp-testing/SKILL.md +187 -187
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -173
- package/.agent/skills/workspace-surface-audit/SKILL.md +125 -0
- package/.agent/skills/x-api/SKILL.md +230 -0
- package/.agent/tasks/lessons.md +40 -40
- package/.agent/tasks/todo.md +33 -33
- package/.agent/tasks/two-track-merge-contract.md +29 -0
- package/.agent/workflows/aside.md +3 -3
- package/.agent/workflows/brainstorm.md +113 -113
- package/.agent/workflows/claw.md +13 -41
- package/.agent/workflows/clean-memory.md +34 -0
- package/.agent/workflows/code-review.md +260 -11
- package/.agent/workflows/context-budget.md +12 -18
- package/.agent/workflows/cpp-build.md +1 -1
- package/.agent/workflows/cpp-review.md +4 -4
- package/.agent/workflows/create.md +59 -59
- package/.agent/workflows/debug.md +103 -103
- package/.agent/workflows/deploy.md +176 -176
- package/.agent/workflows/devfleet.md +13 -82
- package/.agent/workflows/docs.md +13 -21
- package/.agent/workflows/e2e.md +38 -135
- package/.agent/workflows/enhance.md +63 -63
- package/.agent/workflows/eval.md +15 -112
- package/.agent/workflows/flutter-build.md +164 -0
- package/.agent/workflows/flutter-review.md +116 -0
- package/.agent/workflows/flutter-test.md +144 -0
- package/.agent/workflows/gan-build.md +99 -0
- package/.agent/workflows/gan-design.md +35 -0
- package/.agent/workflows/go-build.md +1 -1
- package/.agent/workflows/go-review.md +4 -4
- package/.agent/workflows/harness-audit.md +5 -3
- package/.agent/workflows/init-docs.md +46 -46
- package/.agent/workflows/instinct-import.md +4 -4
- package/.agent/workflows/jira.md +106 -0
- package/.agent/workflows/kotlin-build.md +1 -1
- package/.agent/workflows/kotlin-review.md +5 -5
- package/.agent/workflows/learn-eval.md +9 -9
- package/.agent/workflows/multi-plan.md +10 -10
- package/.agent/workflows/orchestrate.md +23 -119
- package/.agent/workflows/plan.md +2 -0
- package/.agent/workflows/preview.md +81 -81
- package/.agent/workflows/prompt-optimize.md +13 -28
- package/.agent/workflows/prp-commit.md +112 -0
- package/.agent/workflows/prp-implement.md +385 -0
- package/.agent/workflows/prp-plan.md +502 -0
- package/.agent/workflows/prp-pr.md +184 -0
- package/.agent/workflows/prp-prd.md +447 -0
- package/.agent/workflows/python-review.md +5 -5
- package/.agent/workflows/refactor-clean.md +1 -1
- package/.agent/workflows/resume-session.md +10 -10
- package/.agent/workflows/rules-distill.md +14 -5
- package/.agent/workflows/santa-loop.md +175 -0
- package/.agent/workflows/save-session.md +9 -9
- package/.agent/workflows/status.md +86 -86
- package/.agent/workflows/tdd.md +30 -127
- package/.agent/workflows/test-coverage.md +1 -1
- package/.agent/workflows/test.md +144 -144
- package/.agent/workflows/ui-ux-pro-max.md +295 -295
- package/.agent/workflows/verify.md +15 -51
- package/README.md +163 -136
- package/RELEASE.md +32 -36
- package/SLASH_COMMANDS.md +121 -0
- package/package.json +12 -3
- package/scripts/release-check.js +1 -1
- package/src/bin/cli.js +399 -53
- package/src/lib/installer.js +360 -114
- package/src/lib/manifests/stacks.js +122 -0
- package/src/lib/slash-commands.js +28 -0
- package/src/templates/claude/CLAUDE.en.md +42 -0
- package/src/templates/claude/CLAUDE.md +42 -0
- package/src/templates/claude/CLAUDE.vi.md +42 -0
- package/src/templates/codex/AGENTS.en.md +40 -0
- package/src/templates/codex/AGENTS.md +40 -0
- package/src/templates/codex/AGENTS.vi.md +40 -0
- package/src/templates/cursor/pilo-masterkit.mdc +20 -0
- package/src/templates/gemini/GEMINI.en.md +56 -0
- package/src/templates/gemini/GEMINI.md +56 -0
- package/src/templates/gemini/GEMINI.vi.md +56 -0
- package/src/templates/github/copilot-instructions.md +16 -0
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: server-management
|
|
3
|
-
description: Server management principles and decision-making. Process management, monitoring strategy, and scaling decisions. Teaches thinking, not commands.
|
|
4
|
-
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Server Management
|
|
8
|
-
|
|
9
|
-
> Server management principles for production operations.
|
|
10
|
-
> **Learn to THINK, not memorize commands.**
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## 1. Process Management Principles
|
|
15
|
-
|
|
16
|
-
### Tool Selection
|
|
17
|
-
|
|
18
|
-
| Scenario | Tool |
|
|
19
|
-
|----------|------|
|
|
20
|
-
| **Node.js app** | PM2 (clustering, reload) |
|
|
21
|
-
| **Any app** | systemd (Linux native) |
|
|
22
|
-
| **Containers** | Docker/Podman |
|
|
23
|
-
| **Orchestration** | Kubernetes, Docker Swarm |
|
|
24
|
-
|
|
25
|
-
### Process Management Goals
|
|
26
|
-
|
|
27
|
-
| Goal | What It Means |
|
|
28
|
-
|------|---------------|
|
|
29
|
-
| **Restart on crash** | Auto-recovery |
|
|
30
|
-
| **Zero-downtime reload** | No service interruption |
|
|
31
|
-
| **Clustering** | Use all CPU cores |
|
|
32
|
-
| **Persistence** | Survive server reboot |
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## 2. Monitoring Principles
|
|
37
|
-
|
|
38
|
-
### What to Monitor
|
|
39
|
-
|
|
40
|
-
| Category | Key Metrics |
|
|
41
|
-
|----------|-------------|
|
|
42
|
-
| **Availability** | Uptime, health checks |
|
|
43
|
-
| **Performance** | Response time, throughput |
|
|
44
|
-
| **Errors** | Error rate, types |
|
|
45
|
-
| **Resources** | CPU, memory, disk |
|
|
46
|
-
|
|
47
|
-
### Alert Severity Strategy
|
|
48
|
-
|
|
49
|
-
| Level | Response |
|
|
50
|
-
|-------|----------|
|
|
51
|
-
| **Critical** | Immediate action |
|
|
52
|
-
| **Warning** | Investigate soon |
|
|
53
|
-
| **Info** | Review daily |
|
|
54
|
-
|
|
55
|
-
### Monitoring Tool Selection
|
|
56
|
-
|
|
57
|
-
| Need | Options |
|
|
58
|
-
|------|---------|
|
|
59
|
-
| Simple/Free | PM2 metrics, htop |
|
|
60
|
-
| Full observability | Grafana, Datadog |
|
|
61
|
-
| Error tracking | Sentry |
|
|
62
|
-
| Uptime | UptimeRobot, Pingdom |
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## 3. Log Management Principles
|
|
67
|
-
|
|
68
|
-
### Log Strategy
|
|
69
|
-
|
|
70
|
-
| Log Type | Purpose |
|
|
71
|
-
|----------|---------|
|
|
72
|
-
| **Application logs** | Debug, audit |
|
|
73
|
-
| **Access logs** | Traffic analysis |
|
|
74
|
-
| **Error logs** | Issue detection |
|
|
75
|
-
|
|
76
|
-
### Log Principles
|
|
77
|
-
|
|
78
|
-
1. **Rotate logs** to prevent disk fill
|
|
79
|
-
2. **Structured logging** (JSON) for parsing
|
|
80
|
-
3. **Appropriate levels** (error/warn/info/debug)
|
|
81
|
-
4. **No sensitive data** in logs
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## 4. Scaling Decisions
|
|
86
|
-
|
|
87
|
-
### When to Scale
|
|
88
|
-
|
|
89
|
-
| Symptom | Solution |
|
|
90
|
-
|---------|----------|
|
|
91
|
-
| High CPU | Add instances (horizontal) |
|
|
92
|
-
| High memory | Increase RAM or fix leak |
|
|
93
|
-
| Slow response | Profile first, then scale |
|
|
94
|
-
| Traffic spikes | Auto-scaling |
|
|
95
|
-
|
|
96
|
-
### Scaling Strategy
|
|
97
|
-
|
|
98
|
-
| Type | When to Use |
|
|
99
|
-
|------|-------------|
|
|
100
|
-
| **Vertical** | Quick fix, single instance |
|
|
101
|
-
| **Horizontal** | Sustainable, distributed |
|
|
102
|
-
| **Auto** | Variable traffic |
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## 5. Health Check Principles
|
|
107
|
-
|
|
108
|
-
### What Constitutes Healthy
|
|
109
|
-
|
|
110
|
-
| Check | Meaning |
|
|
111
|
-
|-------|---------|
|
|
112
|
-
| **HTTP 200** | Service responding |
|
|
113
|
-
| **Database connected** | Data accessible |
|
|
114
|
-
| **Dependencies OK** | External services reachable |
|
|
115
|
-
| **Resources OK** | CPU/memory not exhausted |
|
|
116
|
-
|
|
117
|
-
### Health Check Implementation
|
|
118
|
-
|
|
119
|
-
- Simple: Just return 200
|
|
120
|
-
- Deep: Check all dependencies
|
|
121
|
-
- Choose based on load balancer needs
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## 6. Security Principles
|
|
126
|
-
|
|
127
|
-
| Area | Principle |
|
|
128
|
-
|------|-----------|
|
|
129
|
-
| **Access** | SSH keys only, no passwords |
|
|
130
|
-
| **Firewall** | Only needed ports open |
|
|
131
|
-
| **Updates** | Regular security patches |
|
|
132
|
-
| **Secrets** | Environment vars, not files |
|
|
133
|
-
| **Audit** | Log access and changes |
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## 7. Troubleshooting Priority
|
|
138
|
-
|
|
139
|
-
When something's wrong:
|
|
140
|
-
|
|
141
|
-
1. **Check if running** (process status)
|
|
142
|
-
2. **Check logs** (error messages)
|
|
143
|
-
3. **Check resources** (disk, memory, CPU)
|
|
144
|
-
4. **Check network** (ports, DNS)
|
|
145
|
-
5. **Check dependencies** (database, APIs)
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## 8. Anti-Patterns
|
|
150
|
-
|
|
151
|
-
| ❌ Don't | ✅ Do |
|
|
152
|
-
|----------|-------|
|
|
153
|
-
| Run as root | Use non-root user |
|
|
154
|
-
| Ignore logs | Set up log rotation |
|
|
155
|
-
| Skip monitoring | Monitor from day one |
|
|
156
|
-
| Manual restarts | Auto-restart config |
|
|
157
|
-
| No backups | Regular backup schedule |
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
> **Remember:** A well-managed server is boring. That's the goal.
|
|
1
|
+
---
|
|
2
|
+
name: server-management
|
|
3
|
+
description: Server management principles and decision-making. Process management, monitoring strategy, and scaling decisions. Teaches thinking, not commands.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Server Management
|
|
8
|
+
|
|
9
|
+
> Server management principles for production operations.
|
|
10
|
+
> **Learn to THINK, not memorize commands.**
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 1. Process Management Principles
|
|
15
|
+
|
|
16
|
+
### Tool Selection
|
|
17
|
+
|
|
18
|
+
| Scenario | Tool |
|
|
19
|
+
|----------|------|
|
|
20
|
+
| **Node.js app** | PM2 (clustering, reload) |
|
|
21
|
+
| **Any app** | systemd (Linux native) |
|
|
22
|
+
| **Containers** | Docker/Podman |
|
|
23
|
+
| **Orchestration** | Kubernetes, Docker Swarm |
|
|
24
|
+
|
|
25
|
+
### Process Management Goals
|
|
26
|
+
|
|
27
|
+
| Goal | What It Means |
|
|
28
|
+
|------|---------------|
|
|
29
|
+
| **Restart on crash** | Auto-recovery |
|
|
30
|
+
| **Zero-downtime reload** | No service interruption |
|
|
31
|
+
| **Clustering** | Use all CPU cores |
|
|
32
|
+
| **Persistence** | Survive server reboot |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Monitoring Principles
|
|
37
|
+
|
|
38
|
+
### What to Monitor
|
|
39
|
+
|
|
40
|
+
| Category | Key Metrics |
|
|
41
|
+
|----------|-------------|
|
|
42
|
+
| **Availability** | Uptime, health checks |
|
|
43
|
+
| **Performance** | Response time, throughput |
|
|
44
|
+
| **Errors** | Error rate, types |
|
|
45
|
+
| **Resources** | CPU, memory, disk |
|
|
46
|
+
|
|
47
|
+
### Alert Severity Strategy
|
|
48
|
+
|
|
49
|
+
| Level | Response |
|
|
50
|
+
|-------|----------|
|
|
51
|
+
| **Critical** | Immediate action |
|
|
52
|
+
| **Warning** | Investigate soon |
|
|
53
|
+
| **Info** | Review daily |
|
|
54
|
+
|
|
55
|
+
### Monitoring Tool Selection
|
|
56
|
+
|
|
57
|
+
| Need | Options |
|
|
58
|
+
|------|---------|
|
|
59
|
+
| Simple/Free | PM2 metrics, htop |
|
|
60
|
+
| Full observability | Grafana, Datadog |
|
|
61
|
+
| Error tracking | Sentry |
|
|
62
|
+
| Uptime | UptimeRobot, Pingdom |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 3. Log Management Principles
|
|
67
|
+
|
|
68
|
+
### Log Strategy
|
|
69
|
+
|
|
70
|
+
| Log Type | Purpose |
|
|
71
|
+
|----------|---------|
|
|
72
|
+
| **Application logs** | Debug, audit |
|
|
73
|
+
| **Access logs** | Traffic analysis |
|
|
74
|
+
| **Error logs** | Issue detection |
|
|
75
|
+
|
|
76
|
+
### Log Principles
|
|
77
|
+
|
|
78
|
+
1. **Rotate logs** to prevent disk fill
|
|
79
|
+
2. **Structured logging** (JSON) for parsing
|
|
80
|
+
3. **Appropriate levels** (error/warn/info/debug)
|
|
81
|
+
4. **No sensitive data** in logs
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 4. Scaling Decisions
|
|
86
|
+
|
|
87
|
+
### When to Scale
|
|
88
|
+
|
|
89
|
+
| Symptom | Solution |
|
|
90
|
+
|---------|----------|
|
|
91
|
+
| High CPU | Add instances (horizontal) |
|
|
92
|
+
| High memory | Increase RAM or fix leak |
|
|
93
|
+
| Slow response | Profile first, then scale |
|
|
94
|
+
| Traffic spikes | Auto-scaling |
|
|
95
|
+
|
|
96
|
+
### Scaling Strategy
|
|
97
|
+
|
|
98
|
+
| Type | When to Use |
|
|
99
|
+
|------|-------------|
|
|
100
|
+
| **Vertical** | Quick fix, single instance |
|
|
101
|
+
| **Horizontal** | Sustainable, distributed |
|
|
102
|
+
| **Auto** | Variable traffic |
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 5. Health Check Principles
|
|
107
|
+
|
|
108
|
+
### What Constitutes Healthy
|
|
109
|
+
|
|
110
|
+
| Check | Meaning |
|
|
111
|
+
|-------|---------|
|
|
112
|
+
| **HTTP 200** | Service responding |
|
|
113
|
+
| **Database connected** | Data accessible |
|
|
114
|
+
| **Dependencies OK** | External services reachable |
|
|
115
|
+
| **Resources OK** | CPU/memory not exhausted |
|
|
116
|
+
|
|
117
|
+
### Health Check Implementation
|
|
118
|
+
|
|
119
|
+
- Simple: Just return 200
|
|
120
|
+
- Deep: Check all dependencies
|
|
121
|
+
- Choose based on load balancer needs
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 6. Security Principles
|
|
126
|
+
|
|
127
|
+
| Area | Principle |
|
|
128
|
+
|------|-----------|
|
|
129
|
+
| **Access** | SSH keys only, no passwords |
|
|
130
|
+
| **Firewall** | Only needed ports open |
|
|
131
|
+
| **Updates** | Regular security patches |
|
|
132
|
+
| **Secrets** | Environment vars, not files |
|
|
133
|
+
| **Audit** | Log access and changes |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 7. Troubleshooting Priority
|
|
138
|
+
|
|
139
|
+
When something's wrong:
|
|
140
|
+
|
|
141
|
+
1. **Check if running** (process status)
|
|
142
|
+
2. **Check logs** (error messages)
|
|
143
|
+
3. **Check resources** (disk, memory, CPU)
|
|
144
|
+
4. **Check network** (ports, DNS)
|
|
145
|
+
5. **Check dependencies** (database, APIs)
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 8. Anti-Patterns
|
|
150
|
+
|
|
151
|
+
| ❌ Don't | ✅ Do |
|
|
152
|
+
|----------|-------|
|
|
153
|
+
| Run as root | Use non-root user |
|
|
154
|
+
| Ignore logs | Set up log rotation |
|
|
155
|
+
| Skip monitoring | Monitor from day one |
|
|
156
|
+
| Manual restarts | Auto-restart config |
|
|
157
|
+
| No backups | Regular backup schedule |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
> **Remember:** A well-managed server is boring. That's the goal.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-comply
|
|
3
|
+
description: Visualize whether skills, rules, and agent definitions are actually followed — auto-generates scenarios at 3 prompt strictness levels, runs agents, classifies behavioral sequences, and reports compliance rates with full tool call timelines
|
|
4
|
+
origin: ECC
|
|
5
|
+
tools: Read, Bash
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# skill-comply: Automated Compliance Measurement
|
|
9
|
+
|
|
10
|
+
Measures whether coding agents actually follow skills, rules, or agent definitions by:
|
|
11
|
+
1. Auto-generating expected behavioral sequences (specs) from any .md file
|
|
12
|
+
2. Auto-generating scenarios with decreasing prompt strictness (supportive → neutral → competing)
|
|
13
|
+
3. Running `claude -p` and capturing tool call traces via stream-json
|
|
14
|
+
4. Classifying tool calls against spec steps using LLM (not regex)
|
|
15
|
+
5. Checking temporal ordering deterministically
|
|
16
|
+
6. Generating self-contained reports with spec, prompts, and timelines
|
|
17
|
+
|
|
18
|
+
## Supported Targets
|
|
19
|
+
|
|
20
|
+
- **Skills** (`skills/*/SKILL.md`): Workflow skills like search-first, TDD guides
|
|
21
|
+
- **Rules** (`rules/common/*.md`): Mandatory rules like testing.md, security.md, git-workflow.md
|
|
22
|
+
- **Agent definitions** (`agents/*.md`): Whether an agent gets invoked when expected (internal workflow verification not yet supported)
|
|
23
|
+
|
|
24
|
+
## When to Activate
|
|
25
|
+
|
|
26
|
+
- User runs `/skill-comply <path>`
|
|
27
|
+
- User asks "is this rule actually being followed?"
|
|
28
|
+
- After adding new rules/skills, to verify agent compliance
|
|
29
|
+
- Periodically as part of quality maintenance
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Full run
|
|
35
|
+
uv run python -m scripts.run ~/.claude/rules/common/testing.md
|
|
36
|
+
|
|
37
|
+
# Dry run (no cost, spec + scenarios only)
|
|
38
|
+
uv run python -m scripts.run --dry-run ~/.claude/skills/search-first/SKILL.md
|
|
39
|
+
|
|
40
|
+
# Custom models
|
|
41
|
+
uv run python -m scripts.run --gen-model haiku --model sonnet <path>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Key Concept: Prompt Independence
|
|
45
|
+
|
|
46
|
+
Measures whether a skill/rule is followed even when the prompt doesn't explicitly support it.
|
|
47
|
+
|
|
48
|
+
## Report Contents
|
|
49
|
+
|
|
50
|
+
Reports are self-contained and include:
|
|
51
|
+
1. Expected behavioral sequence (auto-generated spec)
|
|
52
|
+
2. Scenario prompts (what was asked at each strictness level)
|
|
53
|
+
3. Compliance scores per scenario
|
|
54
|
+
4. Tool call timelines with LLM classification labels
|
|
55
|
+
|
|
56
|
+
### Advanced (optional)
|
|
57
|
+
|
|
58
|
+
For users familiar with hooks, reports also include hook promotion recommendations for steps with low compliance. This is informational — the main value is the compliance visibility itself.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{"timestamp":"2026-03-20T10:00:01Z","event":"tool_complete","tool":"Write","session":"sess-001","input":"{\"file_path\":\"tests/test_fib.py\",\"content\":\"def test_fib(): assert fib(0) == 0\"}","output":"File created"}
|
|
2
|
+
{"timestamp":"2026-03-20T10:00:10Z","event":"tool_complete","tool":"Bash","session":"sess-001","input":"{\"command\":\"cd /tmp/sandbox && pytest tests/\"}","output":"FAILED - 1 failed"}
|
|
3
|
+
{"timestamp":"2026-03-20T10:00:20Z","event":"tool_complete","tool":"Write","session":"sess-001","input":"{\"file_path\":\"src/fib.py\",\"content\":\"def fib(n): return n if n <= 1 else fib(n-1)+fib(n-2)\"}","output":"File created"}
|
|
4
|
+
{"timestamp":"2026-03-20T10:00:30Z","event":"tool_complete","tool":"Bash","session":"sess-001","input":"{\"command\":\"cd /tmp/sandbox && pytest tests/\"}","output":"1 passed"}
|
|
5
|
+
{"timestamp":"2026-03-20T10:00:40Z","event":"tool_complete","tool":"Edit","session":"sess-001","input":"{\"file_path\":\"src/fib.py\",\"old_string\":\"return n if\",\"new_string\":\"if n < 0: raise ValueError\\n return n if\"}","output":"File edited"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{"timestamp":"2026-03-20T10:00:01Z","event":"tool_complete","tool":"Write","session":"sess-002","input":"{\"file_path\":\"src/fib.py\",\"content\":\"def fib(n): return n if n <= 1 else fib(n-1)+fib(n-2)\"}","output":"File created"}
|
|
2
|
+
{"timestamp":"2026-03-20T10:00:10Z","event":"tool_complete","tool":"Write","session":"sess-002","input":"{\"file_path\":\"tests/test_fib.py\",\"content\":\"def test_fib(): assert fib(0) == 0\"}","output":"File created"}
|
|
3
|
+
{"timestamp":"2026-03-20T10:00:20Z","event":"tool_complete","tool":"Bash","session":"sess-002","input":"{\"command\":\"cd /tmp/sandbox && pytest tests/\"}","output":"1 passed"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
id: tdd-workflow
|
|
2
|
+
name: TDD Workflow Compliance
|
|
3
|
+
source_rule: rules/common/testing.md
|
|
4
|
+
version: "2.0"
|
|
5
|
+
|
|
6
|
+
steps:
|
|
7
|
+
- id: write_test
|
|
8
|
+
description: "Write test file BEFORE implementation"
|
|
9
|
+
required: true
|
|
10
|
+
detector:
|
|
11
|
+
description: "A Write or Edit to a test file (filename contains 'test')"
|
|
12
|
+
before_step: write_impl
|
|
13
|
+
|
|
14
|
+
- id: run_test_red
|
|
15
|
+
description: "Run test and confirm FAIL (RED phase)"
|
|
16
|
+
required: true
|
|
17
|
+
detector:
|
|
18
|
+
description: "Run pytest or test command that produces a FAIL/ERROR result"
|
|
19
|
+
after_step: write_test
|
|
20
|
+
before_step: write_impl
|
|
21
|
+
|
|
22
|
+
- id: write_impl
|
|
23
|
+
description: "Write minimal implementation (GREEN phase)"
|
|
24
|
+
required: true
|
|
25
|
+
detector:
|
|
26
|
+
description: "Write or Edit an implementation file (not a test file)"
|
|
27
|
+
after_step: run_test_red
|
|
28
|
+
|
|
29
|
+
- id: run_test_green
|
|
30
|
+
description: "Run test and confirm PASS (GREEN phase)"
|
|
31
|
+
required: true
|
|
32
|
+
detector:
|
|
33
|
+
description: "Run pytest or test command that produces a PASS result"
|
|
34
|
+
after_step: write_impl
|
|
35
|
+
|
|
36
|
+
- id: refactor
|
|
37
|
+
description: "Refactor (IMPROVE phase)"
|
|
38
|
+
required: false
|
|
39
|
+
detector:
|
|
40
|
+
description: "Edit a source file for refactoring after tests pass"
|
|
41
|
+
after_step: run_test_green
|
|
42
|
+
|
|
43
|
+
scoring:
|
|
44
|
+
threshold_promote_to_hook: 0.6
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
You are classifying tool calls from a coding agent session against expected behavioral steps.
|
|
2
|
+
|
|
3
|
+
For each tool call, determine which step (if any) it belongs to. A tool call can match at most one step.
|
|
4
|
+
|
|
5
|
+
Steps:
|
|
6
|
+
{steps_description}
|
|
7
|
+
|
|
8
|
+
Tool calls (numbered):
|
|
9
|
+
{tool_calls}
|
|
10
|
+
|
|
11
|
+
Respond with ONLY a JSON object mapping step_id to a list of matching tool call numbers.
|
|
12
|
+
Include only steps that have at least one match. If no tool calls match a step, omit it.
|
|
13
|
+
|
|
14
|
+
Example response:
|
|
15
|
+
{"write_test": [0, 1], "run_test_red": [2], "write_impl": [3, 4]}
|
|
16
|
+
|
|
17
|
+
Rules:
|
|
18
|
+
- Match based on the MEANING of the tool call, not just keywords
|
|
19
|
+
- A Write to "test_calculator.py" is a test file write, even if the content is implementation-like
|
|
20
|
+
- A Write to "calculator.py" is an implementation write, even if it contains test helpers
|
|
21
|
+
- A Bash running "pytest" that outputs "FAILED" is a RED phase test run
|
|
22
|
+
- A Bash running "pytest" that outputs "passed" is a GREEN phase test run
|
|
23
|
+
- Each tool call should match at most one step (pick the best match)
|
|
24
|
+
- If a tool call doesn't match any step, don't include it
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<!-- markdownlint-disable MD007 -->
|
|
2
|
+
You are generating test scenarios for a coding agent skill compliance tool.
|
|
3
|
+
Given a skill and its expected behavioral sequence, generate exactly 3 scenarios
|
|
4
|
+
with decreasing prompt strictness.
|
|
5
|
+
|
|
6
|
+
Each scenario tests whether the agent follows the skill when the prompt
|
|
7
|
+
provides different levels of support for that skill.
|
|
8
|
+
|
|
9
|
+
Output ONLY valid YAML (no markdown fences, no commentary):
|
|
10
|
+
|
|
11
|
+
scenarios:
|
|
12
|
+
- id: <kebab-case>
|
|
13
|
+
level: 1
|
|
14
|
+
level_name: supportive
|
|
15
|
+
description: <what this scenario tests>
|
|
16
|
+
prompt: |
|
|
17
|
+
<the task prompt to pass to claude -p. Must be a concrete coding task.>
|
|
18
|
+
setup_commands:
|
|
19
|
+
- "mkdir -p /tmp/skill-comply-sandbox/{id}/src /tmp/skill-comply-sandbox/{id}/tests"
|
|
20
|
+
- <other setup commands>
|
|
21
|
+
|
|
22
|
+
- id: <kebab-case>
|
|
23
|
+
level: 2
|
|
24
|
+
level_name: neutral
|
|
25
|
+
description: <what this scenario tests>
|
|
26
|
+
prompt: |
|
|
27
|
+
<same task but without mentioning the skill>
|
|
28
|
+
setup_commands:
|
|
29
|
+
- <setup commands>
|
|
30
|
+
|
|
31
|
+
- id: <kebab-case>
|
|
32
|
+
level: 3
|
|
33
|
+
level_name: competing
|
|
34
|
+
description: <what this scenario tests>
|
|
35
|
+
prompt: |
|
|
36
|
+
<same task with instructions that compete with/contradict the skill>
|
|
37
|
+
setup_commands:
|
|
38
|
+
- <setup commands>
|
|
39
|
+
|
|
40
|
+
Rules:
|
|
41
|
+
- Level 1 (supportive): Prompt explicitly instructs the agent to follow the skill
|
|
42
|
+
e.g. "Use TDD to implement..."
|
|
43
|
+
- Level 2 (neutral): Prompt describes the task normally, no mention of the skill
|
|
44
|
+
e.g. "Implement a function that..."
|
|
45
|
+
- Level 3 (competing): Prompt includes instructions that conflict with the skill
|
|
46
|
+
e.g. "Quickly implement... tests are optional..."
|
|
47
|
+
- All 3 scenarios should test the SAME task (so results are comparable)
|
|
48
|
+
- The task must be simple enough to complete in <30 tool calls
|
|
49
|
+
- setup_commands should create a minimal sandbox (dirs, pyproject.toml, etc.)
|
|
50
|
+
- Prompts should be realistic — something a developer would actually ask
|
|
51
|
+
|
|
52
|
+
Skill content:
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
{skill_content}
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
Expected behavioral sequence:
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
{spec_yaml}
|
|
62
|
+
---
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!-- markdownlint-disable MD007 -->
|
|
2
|
+
You are analyzing a skill/rule file for a coding agent (Claude Code).
|
|
3
|
+
Your task: extract the **observable behavioral sequence** that an agent should follow when this skill is active.
|
|
4
|
+
|
|
5
|
+
Each step should be described in natural language. Do NOT use regex patterns.
|
|
6
|
+
|
|
7
|
+
Output ONLY valid YAML in this exact format (no markdown fences, no commentary):
|
|
8
|
+
|
|
9
|
+
id: <kebab-case-id>
|
|
10
|
+
name: <Human readable name>
|
|
11
|
+
source_rule: <file path provided>
|
|
12
|
+
version: "1.0"
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- id: <snake_case>
|
|
16
|
+
description: <what the agent should do>
|
|
17
|
+
required: true|false
|
|
18
|
+
detector:
|
|
19
|
+
description: <natural language description of what tool call to look for>
|
|
20
|
+
after_step: <step_id this must come after, optional — omit if not needed>
|
|
21
|
+
before_step: <step_id this must come before, optional — omit if not needed>
|
|
22
|
+
|
|
23
|
+
scoring:
|
|
24
|
+
threshold_promote_to_hook: 0.6
|
|
25
|
+
|
|
26
|
+
Rules:
|
|
27
|
+
- detector.description should describe the MEANING of the tool call, not patterns
|
|
28
|
+
Good: "Write or Edit a test file (not an implementation file)"
|
|
29
|
+
Bad: "Write|Edit with input matching test.*\\.py"
|
|
30
|
+
- Use before_step/after_step for skills where ORDER matters (e.g. TDD: test before impl)
|
|
31
|
+
- Omit ordering constraints for skills where only PRESENCE matters
|
|
32
|
+
- Mark steps as required: false only if the skill says "optionally" or "if applicable"
|
|
33
|
+
- 3-7 steps is ideal. Don't over-decompose
|
|
34
|
+
- IMPORTANT: Quote all YAML string values containing colons with double quotes
|
|
35
|
+
Good: description: "Use conventional commit format (type: description)"
|
|
36
|
+
Bad: description: Use conventional commit format (type: description)
|
|
37
|
+
|
|
38
|
+
Skill file to analyze:
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
{skill_content}
|
|
42
|
+
---
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "skill-comply"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "Automated skill compliance measurement for Claude Code"
|
|
5
|
+
requires-python = ">=3.11"
|
|
6
|
+
dependencies = ["pyyaml>=6.0"]
|
|
7
|
+
|
|
8
|
+
[tool.pytest.ini_options]
|
|
9
|
+
testpaths = ["tests"]
|
|
10
|
+
pythonpath = ["."]
|
|
11
|
+
|
|
12
|
+
[dependency-groups]
|
|
13
|
+
dev = [
|
|
14
|
+
"pytest>=9.0.2",
|
|
15
|
+
]
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"""Classify tool calls against compliance steps using LLM."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
import logging
|
|
7
|
+
import subprocess
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
logger = logging.getLogger(__name__)
|
|
11
|
+
|
|
12
|
+
from scripts.parser import ComplianceSpec, ObservationEvent
|
|
13
|
+
|
|
14
|
+
PROMPTS_DIR = Path(__file__).parent.parent / "prompts"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def classify_events(
|
|
18
|
+
spec: ComplianceSpec,
|
|
19
|
+
trace: list[ObservationEvent],
|
|
20
|
+
model: str = "haiku",
|
|
21
|
+
) -> dict[str, list[int]]:
|
|
22
|
+
"""Classify which tool calls match which compliance steps.
|
|
23
|
+
|
|
24
|
+
Returns {step_id: [event_indices]} via a single LLM call.
|
|
25
|
+
"""
|
|
26
|
+
if not trace:
|
|
27
|
+
return {}
|
|
28
|
+
|
|
29
|
+
steps_desc = "\n".join(
|
|
30
|
+
f"- {step.id}: {step.detector.description}"
|
|
31
|
+
for step in spec.steps
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
tool_calls = "\n".join(
|
|
35
|
+
f"[{i}] {event.tool}: input={event.input[:500]} output={event.output[:200]}"
|
|
36
|
+
for i, event in enumerate(trace)
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
prompt_template = (PROMPTS_DIR / "classifier.md").read_text()
|
|
40
|
+
prompt = (
|
|
41
|
+
prompt_template
|
|
42
|
+
.replace("{steps_description}", steps_desc)
|
|
43
|
+
.replace("{tool_calls}", tool_calls)
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
result = subprocess.run(
|
|
47
|
+
["claude", "-p", prompt, "--model", model, "--output-format", "text"],
|
|
48
|
+
capture_output=True,
|
|
49
|
+
text=True,
|
|
50
|
+
timeout=60,
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
if result.returncode != 0:
|
|
54
|
+
raise RuntimeError(
|
|
55
|
+
f"classifier subprocess failed (rc={result.returncode}): "
|
|
56
|
+
f"{result.stderr[:500]}"
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
return _parse_classification(result.stdout)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def _parse_classification(text: str) -> dict[str, list[int]]:
|
|
63
|
+
"""Parse LLM classification output into {step_id: [event_indices]}."""
|
|
64
|
+
text = text.strip()
|
|
65
|
+
# Strip markdown fences
|
|
66
|
+
lines = text.splitlines()
|
|
67
|
+
if lines and lines[0].startswith("```"):
|
|
68
|
+
lines = lines[1:]
|
|
69
|
+
if lines and lines[-1].startswith("```"):
|
|
70
|
+
lines = lines[:-1]
|
|
71
|
+
cleaned = "\n".join(lines)
|
|
72
|
+
|
|
73
|
+
try:
|
|
74
|
+
parsed = json.loads(cleaned)
|
|
75
|
+
if not isinstance(parsed, dict):
|
|
76
|
+
logger.warning("Classifier returned non-dict JSON: %s", type(parsed).__name__)
|
|
77
|
+
return {}
|
|
78
|
+
return {
|
|
79
|
+
k: [int(i) for i in v]
|
|
80
|
+
for k, v in parsed.items()
|
|
81
|
+
if isinstance(v, list)
|
|
82
|
+
}
|
|
83
|
+
except (json.JSONDecodeError, ValueError, TypeError) as e:
|
|
84
|
+
logger.warning("Failed to parse classification output: %s", e)
|
|
85
|
+
return {}
|