claude-flow-novice 2.15.2 → 2.15.4
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/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/.claude/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/.claude/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/.claude/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/.claude/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/.claude/commands/cfn-loop-cli.md +16 -2
- package/.claude/commands/switch-api.md +31 -10
- package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/.claude/hooks/cfn-invoke-security-validation.sh +69 -69
- package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
- package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/.claude/hooks/cfn-post-edit.config.json +44 -44
- package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/.claude/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/.claude/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/.claude/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/README.md +116 -475
- package/claude-assets/agents/cfn-dev-team/README.md +103 -0
- package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
- package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
- package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
- package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
- package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
- package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
- package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
- package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
- package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/claude-assets/commands/cfn-loop-cli.md +16 -2
- package/claude-assets/commands/switch-api.md +31 -10
- package/claude-assets/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/claude-assets/hooks/cfn-invoke-security-validation.sh +69 -69
- package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
- package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/claude-assets/hooks/cfn-post-edit.config.json +44 -44
- package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +19 -19
- package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +19 -19
- package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
- package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
- package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +543 -572
- package/claude-assets/skills/agent-lifecycle/simple-audit.sh +57 -30
- package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
- package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
- package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
- package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
- package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
- package/claude-assets/skills/bootstrap/database-connection.md +464 -0
- package/claude-assets/skills/bootstrap/error-handling.md +580 -0
- package/claude-assets/skills/bootstrap/file-operations.md +699 -0
- package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
- package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/claude-assets/skills/cfn-automatic-memory-persistence/persist-agent-output.sh +48 -48
- package/claude-assets/skills/cfn-automatic-memory-persistence/query-agent-history.sh +34 -34
- package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
- package/claude-assets/skills/cfn-deliverable-validation/confidence-calculator.sh +261 -261
- package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
- package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
- package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
- package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
- package/claude-assets/skills/cfn-expert-update/update-expert.sh +345 -345
- package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
- package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
- package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
- package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
- package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
- package/claude-assets/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/claude-assets/skills/cfn-intervention-detector/detect-intervention.sh +110 -110
- package/claude-assets/skills/cfn-intervention-orchestrator/execute-intervention.sh +58 -58
- package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
- package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
- package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
- package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
- package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/claude-assets/skills/cfn-loop2-output-processing/process-validator-output.sh +275 -275
- package/claude-assets/skills/cfn-memory-management/check-memory.sh +159 -159
- package/claude-assets/skills/cfn-memory-management/cleanup-memory.sh +196 -196
- package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +325 -325
- package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
- package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
- package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
- package/claude-assets/skills/cfn-playbook-auto-update/auto-update-playbook.sh +85 -85
- package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
- package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
- package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/claude-assets/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/claude-assets/skills/cfn-scope-simplifier/simplify-scope.sh +67 -67
- package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
- package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
- package/claude-assets/skills/cfn-specialist-injection/recommend-specialist.sh +56 -56
- package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/claude-assets/skills/cfn-standardized-error-handling/capture-agent-error.sh +86 -86
- package/claude-assets/skills/cfn-standardized-error-handling/test-error-handling.sh +165 -165
- package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
- package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
- package/claude-assets/skills/cfn-task-config-init/initialize-config.sh +264 -264
- package/claude-assets/skills/cfn-task-decomposition/task-decomposer.sh +278 -278
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
- package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
- package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
- package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
- package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
- package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
- package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
- package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
- package/claude-assets/skills/cfn-utilities/test.sh +317 -0
- package/claude-assets/skills/docker-build/SKILL.md +96 -203
- package/claude-assets/skills/docker-build/build.sh +73 -73
- package/claude-assets/skills/integration/agent-handoff.sh +492 -0
- package/claude-assets/skills/integration/file-operations.sh +414 -0
- package/claude-assets/skills/json-validation/SKILL.md +431 -0
- package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
- package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
- package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
- package/claude-assets/skills/workflow-codification/APPROVAL_WORKFLOW.md +806 -0
- package/claude-assets/skills/workflow-codification/COST_TRACKING.md +637 -0
- package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
- package/claude-assets/skills/workflow-codification/EDGE_CASE_TRACKING.md +404 -0
- package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
- package/claude-assets/skills/workflow-codification/README_PHASE4.md +457 -0
- package/claude-assets/skills/workflow-codification/SKILL.md +110 -0
- package/claude-assets/skills/workflow-codification/analyze-patterns.sh +899 -0
- package/claude-assets/skills/workflow-codification/approval-workflow.sh +514 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
- package/claude-assets/skills/workflow-codification/generate-skill-update.sh +525 -0
- package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
- package/claude-assets/skills/workflow-codification/review-skill.sh +643 -0
- package/claude-assets/skills/workflow-codification/templates/email-notification.txt +114 -0
- package/claude-assets/skills/workflow-codification/templates/slack-notification.md +85 -0
- package/claude-assets/skills/workflow-codification/test-integration.sh +296 -0
- package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh +486 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
- package/claude-assets/skills/workflow-codification/track-edge-case.sh +290 -0
- package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
- package/dist/ace/ace-curator.js +10 -2
- package/dist/ace/ace-curator.js.map +1 -1
- package/dist/ace/ace-generator.js +4 -0
- package/dist/ace/ace-generator.js.map +1 -1
- package/dist/ace/ace-reflector.js +1 -1
- package/dist/ace/ace-reflector.js.map +1 -1
- package/dist/ace/context-injection.js +24 -2
- package/dist/ace/context-injection.js.map +1 -1
- package/dist/agents/agent-loader.js +146 -165
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/agents/task-agent-integration.js +1 -1
- package/dist/agents/task-agent-integration.js.map +1 -1
- package/dist/api/health-endpoints.js +390 -0
- package/dist/api/health-endpoints.js.map +1 -0
- package/dist/cli/agent-executor.js +4 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +89 -1
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawn.js +130 -37
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/config-manager.js +91 -109
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/skill-cache-validator.js +412 -0
- package/dist/cli/skill-cache-validator.js.map +1 -0
- package/dist/cli/skill-cli.js +991 -0
- package/dist/cli/skill-cli.js.map +1 -0
- package/dist/cli/skill-execution-logger.js +284 -0
- package/dist/cli/skill-execution-logger.js.map +1 -0
- package/dist/cli/skill-loader.js +457 -0
- package/dist/cli/skill-loader.js.map +1 -0
- package/dist/coordination/event-bus.js +2 -2
- package/dist/coordination/event-bus.js.map +1 -1
- package/dist/coordination/fleet-manager.js +1 -1
- package/dist/coordination/fleet-manager.js.map +1 -1
- package/dist/coordination/index.js +23 -9
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/types/fleet-manager.types.js.map +1 -1
- package/dist/db/migration-manager.js +483 -0
- package/dist/db/migration-manager.js.map +1 -0
- package/dist/db/skills-query.js +535 -0
- package/dist/db/skills-query.js.map +1 -0
- package/dist/integration/DatabaseHandoff.js +507 -0
- package/dist/integration/DatabaseHandoff.js.map +1 -0
- package/dist/integration/StandardAdapter.js +291 -0
- package/dist/integration/StandardAdapter.js.map +1 -0
- package/dist/jobs/edge-case-analyzer.js +367 -0
- package/dist/jobs/edge-case-analyzer.js.map +1 -0
- package/dist/jobs/promotion-sla-enforcer.js +288 -0
- package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
- package/dist/lib/agent-output-parser.js +518 -0
- package/dist/lib/agent-output-parser.js.map +1 -0
- package/dist/lib/agent-output-validator.js +950 -0
- package/dist/lib/agent-output-validator.js.map +1 -0
- package/dist/lib/agent-workspace.js +281 -0
- package/dist/lib/agent-workspace.js.map +1 -0
- package/dist/lib/artifact-registry.js +443 -0
- package/dist/lib/artifact-registry.js.map +1 -0
- package/dist/lib/atomic-file-writer.js +377 -0
- package/dist/lib/atomic-file-writer.js.map +1 -0
- package/dist/lib/backup-manager.js +779 -0
- package/dist/lib/backup-manager.js.map +1 -0
- package/dist/lib/checkpoint-manager.js +837 -0
- package/dist/lib/checkpoint-manager.js.map +1 -0
- package/dist/lib/circuit-breaker.js +340 -0
- package/dist/lib/circuit-breaker.js.map +1 -0
- package/dist/lib/completion-signal-handler.js +243 -0
- package/dist/lib/completion-signal-handler.js.map +1 -0
- package/dist/lib/config-manager.js +312 -0
- package/dist/lib/config-manager.js.map +1 -0
- package/dist/lib/config-migrator.js +386 -0
- package/dist/lib/config-migrator.js.map +1 -0
- package/dist/lib/config-validator.js +687 -0
- package/dist/lib/config-validator.js.map +1 -0
- package/dist/lib/correlation-cache.js +311 -0
- package/dist/lib/correlation-cache.js.map +1 -0
- package/dist/lib/correlation.js +263 -0
- package/dist/lib/correlation.js.map +1 -0
- package/dist/lib/database-service/connection-pool-manager.js +520 -0
- package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
- package/dist/lib/database-service/correlation.js +329 -0
- package/dist/lib/database-service/correlation.js.map +1 -0
- package/dist/lib/database-service/errors.js +120 -0
- package/dist/lib/database-service/errors.js.map +1 -0
- package/dist/lib/database-service/index.js +168 -0
- package/dist/lib/database-service/index.js.map +1 -0
- package/dist/lib/database-service/postgres-adapter.js +526 -0
- package/dist/lib/database-service/postgres-adapter.js.map +1 -0
- package/dist/lib/database-service/redis-adapter.js +360 -0
- package/dist/lib/database-service/redis-adapter.js.map +1 -0
- package/dist/lib/database-service/sqlite-adapter.js +544 -0
- package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
- package/dist/lib/database-service/transaction-manager.js +773 -0
- package/dist/lib/database-service/transaction-manager.js.map +1 -0
- package/dist/lib/database-service/types.js +23 -0
- package/dist/lib/database-service/types.js.map +1 -0
- package/dist/lib/deadlock-resolver.js +292 -0
- package/dist/lib/deadlock-resolver.js.map +1 -0
- package/dist/lib/distributed-lock.js +451 -0
- package/dist/lib/distributed-lock.js.map +1 -0
- package/dist/lib/edge-case-deduplicator.js +227 -0
- package/dist/lib/edge-case-deduplicator.js.map +1 -0
- package/dist/lib/encryption-manager.js +322 -0
- package/dist/lib/encryption-manager.js.map +1 -0
- package/dist/lib/error-aggregator.js +234 -0
- package/dist/lib/error-aggregator.js.map +1 -0
- package/dist/lib/errors.js +287 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/file-lock-manager.js +578 -0
- package/dist/lib/file-lock-manager.js.map +1 -0
- package/dist/lib/file-operations.js +367 -0
- package/dist/lib/file-operations.js.map +1 -0
- package/dist/lib/idempotent-write.js +237 -0
- package/dist/lib/idempotent-write.js.map +1 -0
- package/dist/lib/integration-schema-validator.js +522 -0
- package/dist/lib/integration-schema-validator.js.map +1 -0
- package/dist/lib/lock-health-monitor.js +298 -0
- package/dist/lib/lock-health-monitor.js.map +1 -0
- package/dist/lib/log-shipper.js +422 -0
- package/dist/lib/log-shipper.js.map +1 -0
- package/dist/lib/logging.js +146 -0
- package/dist/lib/logging.js.map +1 -0
- package/dist/lib/message-deduplicator.js +439 -0
- package/dist/lib/message-deduplicator.js.map +1 -0
- package/dist/lib/multi-system-query.js +604 -0
- package/dist/lib/multi-system-query.js.map +1 -0
- package/dist/lib/orphan-detector.js +332 -0
- package/dist/lib/orphan-detector.js.map +1 -0
- package/dist/lib/password-generator.js +166 -0
- package/dist/lib/password-generator.js.map +1 -0
- package/dist/lib/path-validator.js +429 -0
- package/dist/lib/path-validator.js.map +1 -0
- package/dist/lib/query-translator.js +905 -0
- package/dist/lib/query-translator.js.map +1 -0
- package/dist/lib/queue-recovery.js +469 -0
- package/dist/lib/queue-recovery.js.map +1 -0
- package/dist/lib/redis-queue-manager.js +512 -0
- package/dist/lib/redis-queue-manager.js.map +1 -0
- package/dist/lib/reflection-archiver.js +272 -0
- package/dist/lib/reflection-archiver.js.map +1 -0
- package/dist/lib/retry-manager.js +453 -0
- package/dist/lib/retry-manager.js.map +1 -0
- package/dist/lib/retry.js +262 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/lib/schema-transform.js +695 -0
- package/dist/lib/schema-transform.js.map +1 -0
- package/dist/lib/schema-validator.js +491 -0
- package/dist/lib/schema-validator.js.map +1 -0
- package/dist/lib/skill-cache.js +297 -0
- package/dist/lib/skill-cache.js.map +1 -0
- package/dist/lib/skill-content-manager.js +337 -0
- package/dist/lib/skill-content-manager.js.map +1 -0
- package/dist/lib/skill-frontmatter-parser.js +237 -0
- package/dist/lib/skill-frontmatter-parser.js.map +1 -0
- package/dist/lib/skill-git-integration.js +275 -0
- package/dist/lib/skill-git-integration.js.map +1 -0
- package/dist/lib/skill-markdown-validator.js +396 -0
- package/dist/lib/skill-markdown-validator.js.map +1 -0
- package/dist/lib/skill-output-parser.js +312 -0
- package/dist/lib/skill-output-parser.js.map +1 -0
- package/dist/lib/unified-query-api.js +467 -0
- package/dist/lib/unified-query-api.js.map +1 -0
- package/dist/middleware/auth-middleware.js +350 -0
- package/dist/middleware/auth-middleware.js.map +1 -0
- package/dist/middleware/schema-validation.js +347 -0
- package/dist/middleware/schema-validation.js.map +1 -0
- package/dist/providers/anthropic-provider.js +1 -1
- package/dist/providers/anthropic-provider.js.map +1 -1
- package/dist/providers/provider-factory.js +2 -2
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/services/edge-case-analyzer.js +321 -0
- package/dist/services/edge-case-analyzer.js.map +1 -0
- package/dist/services/edge-case-deduplicator.js +266 -0
- package/dist/services/edge-case-deduplicator.js.map +1 -0
- package/dist/services/edge-case-detector.js +337 -0
- package/dist/services/edge-case-detector.js.map +1 -0
- package/dist/services/edge-case-tracker.js +547 -0
- package/dist/services/edge-case-tracker.js.map +1 -0
- package/dist/services/health-check-system.js +586 -0
- package/dist/services/health-check-system.js.map +1 -0
- package/dist/services/metrics-logger.js +412 -0
- package/dist/services/metrics-logger.js.map +1 -0
- package/dist/services/patch-generator.js +378 -0
- package/dist/services/patch-generator.js.map +1 -0
- package/dist/services/patch-validator.js +337 -0
- package/dist/services/patch-validator.js.map +1 -0
- package/dist/services/performance-monitor.js +811 -0
- package/dist/services/performance-monitor.js.map +1 -0
- package/dist/services/promotion-pipeline.js +918 -0
- package/dist/services/promotion-pipeline.js.map +1 -0
- package/dist/services/promotion-validator.js +394 -0
- package/dist/services/promotion-validator.js.map +1 -0
- package/dist/services/reflection-logger.js +388 -0
- package/dist/services/reflection-logger.js.map +1 -0
- package/dist/services/skill-deployment.js +472 -0
- package/dist/services/skill-deployment.js.map +1 -0
- package/dist/services/skill-loader.js +427 -0
- package/dist/services/skill-loader.js.map +1 -0
- package/dist/services/skill-promotion.js +372 -0
- package/dist/services/skill-promotion.js.map +1 -0
- package/dist/services/skill-validator.js +454 -0
- package/dist/services/skill-validator.js.map +1 -0
- package/dist/services/skill-versioning.js +244 -0
- package/dist/services/skill-versioning.js.map +1 -0
- package/dist/services/workspace-supervisor.js +597 -0
- package/dist/services/workspace-supervisor.js.map +1 -0
- package/dist/types/agent-output.js +44 -0
- package/dist/types/agent-output.js.map +1 -0
- package/dist/types/config.js +28 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/edge-case.js +45 -0
- package/dist/types/edge-case.js.map +1 -0
- package/package.json +201 -176
- package/readme/README.md +19 -4
- package/scripts/artifact-cleanup.sh +392 -0
- package/scripts/backup-cleanup.sh +627 -0
- package/scripts/cleanup-workspaces.sh +412 -0
- package/scripts/cleanup-yaml-configs.sh +141 -0
- package/scripts/deploy-approved-skills.sh +263 -0
- package/scripts/deploy-production.sh +355 -355
- package/scripts/docker-playwright-fix.sh +311 -311
- package/scripts/docker-rebuild-all-agents.sh +127 -127
- package/scripts/health-check.sh +447 -0
- package/scripts/log-aggregator.sh +554 -0
- package/scripts/log-monitor.sh +629 -0
- package/scripts/manage-agent-workspaces.sh +434 -0
- package/scripts/memory-leak-prevention.sh +305 -305
- package/scripts/migrate-artifacts.sh +563 -0
- package/scripts/migrate-schema.sh +533 -0
- package/scripts/migrate-yaml-to-json.sh +465 -0
- package/scripts/promote-staged-skills.sh +423 -0
- package/scripts/run-marketing-tests.sh +42 -42
- package/scripts/update_paths.sh +46 -46
- package/scripts/verify-no-secrets.sh +88 -35
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
- package/README.md.backup_before_replace +0 -781
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
|
@@ -0,0 +1,774 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-template
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
tags: [template, example]
|
|
5
|
+
status: draft
|
|
6
|
+
author: CFN Team
|
|
7
|
+
description: Template for creating new CFN Loop skills with standardized structure
|
|
8
|
+
dependencies: []
|
|
9
|
+
created: 2025-11-16
|
|
10
|
+
updated: 2025-11-16
|
|
11
|
+
complexity: Low
|
|
12
|
+
keywords: [template, skill-creation, standard-structure]
|
|
13
|
+
triggers: [new-skill-creation, skill-standardization]
|
|
14
|
+
performance_targets:
|
|
15
|
+
execution_time_ms: 1000
|
|
16
|
+
success_rate: 99.5
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Skill Template
|
|
20
|
+
|
|
21
|
+
**Use this template to create new CFN Loop skills with standardized structure.**
|
|
22
|
+
|
|
23
|
+
## Overview
|
|
24
|
+
|
|
25
|
+
This template provides a complete starting point for creating new skills that conform to CFN Loop skill content standards. It includes:
|
|
26
|
+
|
|
27
|
+
- Proper YAML frontmatter with all required fields
|
|
28
|
+
- Standard directory structure
|
|
29
|
+
- Executable scripts (execute.sh, test.sh, validate.sh)
|
|
30
|
+
- Package.json configuration
|
|
31
|
+
- Documentation guidelines
|
|
32
|
+
|
|
33
|
+
## Quick Start
|
|
34
|
+
|
|
35
|
+
### 1. Copy Template
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Create new skill from template
|
|
39
|
+
SKILL_NAME="my-new-skill"
|
|
40
|
+
cp -r ./.claude/skills/SKILL_TEMPLATE.md ./.claude/skills/${SKILL_NAME}/SKILL.md
|
|
41
|
+
|
|
42
|
+
# Or use the TypeScript API
|
|
43
|
+
tsx -e "
|
|
44
|
+
import { createSkill } from './src/lib/skill-content-manager';
|
|
45
|
+
|
|
46
|
+
await createSkill(
|
|
47
|
+
'./.claude/skills',
|
|
48
|
+
'my-new-skill',
|
|
49
|
+
{
|
|
50
|
+
name: 'my-new-skill',
|
|
51
|
+
version: '1.0.0',
|
|
52
|
+
tags: ['category', 'feature'],
|
|
53
|
+
status: 'draft',
|
|
54
|
+
author: 'Your Name',
|
|
55
|
+
description: 'Brief description of what this skill does'
|
|
56
|
+
},
|
|
57
|
+
'# My New Skill\n\n## Overview\n\nSkill content here...'
|
|
58
|
+
);
|
|
59
|
+
"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 2. Update Frontmatter
|
|
63
|
+
|
|
64
|
+
Edit the frontmatter block to match your skill:
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
---
|
|
68
|
+
name: my-new-skill # Match directory name
|
|
69
|
+
version: 1.0.0 # Start at 1.0.0
|
|
70
|
+
tags: [your, tags, here] # Descriptive tags
|
|
71
|
+
status: draft # Start as draft
|
|
72
|
+
author: Your Name # Your name or team
|
|
73
|
+
description: What this skill does # Clear description
|
|
74
|
+
dependencies: [redis, postgres] # External dependencies
|
|
75
|
+
---
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 3. Implement Scripts
|
|
79
|
+
|
|
80
|
+
Update the provided script templates:
|
|
81
|
+
|
|
82
|
+
- **execute.sh** - Main skill execution logic
|
|
83
|
+
- **test.sh** - Comprehensive test suite
|
|
84
|
+
- **validate.sh** - Dependency and config validation
|
|
85
|
+
|
|
86
|
+
### 4. Test and Validate
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Fix permissions
|
|
90
|
+
chmod +x ./.claude/skills/my-new-skill/*.sh
|
|
91
|
+
|
|
92
|
+
# Run tests
|
|
93
|
+
./.claude/skills/my-new-skill/test.sh
|
|
94
|
+
|
|
95
|
+
# Validate dependencies
|
|
96
|
+
./.claude/skills/my-new-skill/validate.sh
|
|
97
|
+
|
|
98
|
+
# Execute skill
|
|
99
|
+
./.claude/skills/my-new-skill/execute.sh
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Frontmatter Fields
|
|
103
|
+
|
|
104
|
+
### Required Fields
|
|
105
|
+
|
|
106
|
+
| Field | Type | Description | Example |
|
|
107
|
+
|-------|------|-------------|---------|
|
|
108
|
+
| `name` | string | Skill name (match directory) | `my-new-skill` |
|
|
109
|
+
| `version` | string | Semantic version | `1.0.0` |
|
|
110
|
+
| `tags` | array | Categorization tags | `[coordination, redis]` |
|
|
111
|
+
| `status` | enum | Lifecycle status | `draft` |
|
|
112
|
+
| `author` | string | Author or team name | `CFN Team` |
|
|
113
|
+
| `description` | string | Brief description (>10 chars) | `Handles coordination...` |
|
|
114
|
+
|
|
115
|
+
### Optional Fields
|
|
116
|
+
|
|
117
|
+
| Field | Type | Description | Example |
|
|
118
|
+
|-------|------|-------------|---------|
|
|
119
|
+
| `dependencies` | array | External dependencies | `[redis, postgres]` |
|
|
120
|
+
| `created` | string | Creation date (ISO) | `2025-11-16` |
|
|
121
|
+
| `updated` | string | Last update (ISO) | `2025-11-16` |
|
|
122
|
+
| `complexity` | enum | Low, Medium, High | `High` |
|
|
123
|
+
| `keywords` | array | Search keywords | `[agent, coordination]` |
|
|
124
|
+
| `triggers` | array | When to use | `[multi-agent-workflow]` |
|
|
125
|
+
| `performance_targets` | object | Benchmarks | `{ latency_ms: 50 }` |
|
|
126
|
+
|
|
127
|
+
### Status Values
|
|
128
|
+
|
|
129
|
+
- `draft` - Initial development
|
|
130
|
+
- `approved` - Reviewed, ready for testing
|
|
131
|
+
- `staging` - Deployed to staging
|
|
132
|
+
- `deployed` - Active in production
|
|
133
|
+
- `deprecated` - Marked for removal
|
|
134
|
+
|
|
135
|
+
## Directory Structure
|
|
136
|
+
|
|
137
|
+
Your skill directory should contain:
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
my-new-skill/
|
|
141
|
+
├── SKILL.md # This file (documentation + frontmatter)
|
|
142
|
+
├── execute.sh # Main execution script
|
|
143
|
+
├── test.sh # Test suite
|
|
144
|
+
├── validate.sh # Validation script
|
|
145
|
+
├── package.json # NPM metadata
|
|
146
|
+
├── README.md # (Optional) Extended docs
|
|
147
|
+
└── lib/ # (Optional) Supporting code
|
|
148
|
+
└── helpers.sh
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Output Format (REQUIRED)
|
|
152
|
+
|
|
153
|
+
**Task 5.4: All skills MUST output structured JSON for reliable parsing.**
|
|
154
|
+
|
|
155
|
+
### JSON Output Schema
|
|
156
|
+
|
|
157
|
+
Your skill's execute.sh MUST output JSON in this format:
|
|
158
|
+
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"success": true,
|
|
162
|
+
"confidence": 0.92,
|
|
163
|
+
"deliverables": ["src/file.ts", "tests/file.test.ts"],
|
|
164
|
+
"metrics": {
|
|
165
|
+
"execution_time_ms": 1234,
|
|
166
|
+
"files_modified": 2
|
|
167
|
+
},
|
|
168
|
+
"errors": []
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Required Fields
|
|
173
|
+
|
|
174
|
+
| Field | Type | Description | Example |
|
|
175
|
+
|-------|------|-------------|---------|
|
|
176
|
+
| `success` | boolean | Whether execution succeeded | `true` |
|
|
177
|
+
| `confidence` | number | Confidence score (0.0-1.0) | `0.92` |
|
|
178
|
+
| `deliverables` | array | Files created/modified | `["src/auth.ts"]` |
|
|
179
|
+
| `metrics` | object | Execution metrics | `{ "execution_time_ms": 1234 }` |
|
|
180
|
+
| `errors` | array | Errors encountered | `[]` |
|
|
181
|
+
|
|
182
|
+
### JSON Output Implementation
|
|
183
|
+
|
|
184
|
+
Use heredoc for clean JSON output at the end of execute.sh:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# Output structured JSON
|
|
188
|
+
cat << 'EOF_JSON'
|
|
189
|
+
{
|
|
190
|
+
"success": true,
|
|
191
|
+
"confidence": 0.92,
|
|
192
|
+
"deliverables": ["src/file.ts", "tests/file.test.ts"],
|
|
193
|
+
"metrics": {
|
|
194
|
+
"execution_time_ms": 1234,
|
|
195
|
+
"files_modified": 2
|
|
196
|
+
},
|
|
197
|
+
"errors": []
|
|
198
|
+
}
|
|
199
|
+
EOF_JSON
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
See `docs/SKILL_OUTPUT_FORMAT.md` for complete documentation.
|
|
203
|
+
|
|
204
|
+
## Script Templates
|
|
205
|
+
|
|
206
|
+
### execute.sh Template
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
#!/bin/bash
|
|
210
|
+
# My New Skill - Execution Script
|
|
211
|
+
# Version: 1.0.0
|
|
212
|
+
# Description: Brief description of what this script does
|
|
213
|
+
|
|
214
|
+
set -euo pipefail
|
|
215
|
+
|
|
216
|
+
# Configuration
|
|
217
|
+
SKILL_NAME="my-new-skill"
|
|
218
|
+
SKILL_VERSION="1.0.0"
|
|
219
|
+
|
|
220
|
+
# Usage information
|
|
221
|
+
usage() {
|
|
222
|
+
cat <<EOF
|
|
223
|
+
Usage: $0 [OPTIONS]
|
|
224
|
+
|
|
225
|
+
Options:
|
|
226
|
+
-h, --help Show this help message
|
|
227
|
+
-v, --verbose Enable verbose output
|
|
228
|
+
-c, --config PATH Configuration file path
|
|
229
|
+
|
|
230
|
+
Examples:
|
|
231
|
+
$0
|
|
232
|
+
$0 --verbose
|
|
233
|
+
$0 --config ./config.json
|
|
234
|
+
EOF
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
# Parse arguments
|
|
238
|
+
VERBOSE=false
|
|
239
|
+
CONFIG_PATH=""
|
|
240
|
+
|
|
241
|
+
while [[ $# -gt 0 ]]; do
|
|
242
|
+
case $1 in
|
|
243
|
+
-h|--help)
|
|
244
|
+
usage
|
|
245
|
+
exit 0
|
|
246
|
+
;;
|
|
247
|
+
-v|--verbose)
|
|
248
|
+
VERBOSE=true
|
|
249
|
+
shift
|
|
250
|
+
;;
|
|
251
|
+
-c|--config)
|
|
252
|
+
CONFIG_PATH="$2"
|
|
253
|
+
shift 2
|
|
254
|
+
;;
|
|
255
|
+
*)
|
|
256
|
+
echo "Unknown option: $1"
|
|
257
|
+
usage
|
|
258
|
+
exit 1
|
|
259
|
+
;;
|
|
260
|
+
esac
|
|
261
|
+
done
|
|
262
|
+
|
|
263
|
+
# Main execution logic
|
|
264
|
+
main() {
|
|
265
|
+
echo "Executing ${SKILL_NAME} v${SKILL_VERSION}..."
|
|
266
|
+
|
|
267
|
+
# Add your implementation here
|
|
268
|
+
if [ "$VERBOSE" = true ]; then
|
|
269
|
+
echo "Verbose mode enabled"
|
|
270
|
+
fi
|
|
271
|
+
|
|
272
|
+
if [ -n "$CONFIG_PATH" ]; then
|
|
273
|
+
echo "Using config: $CONFIG_PATH"
|
|
274
|
+
# Load configuration
|
|
275
|
+
fi
|
|
276
|
+
|
|
277
|
+
# Your skill logic here
|
|
278
|
+
echo "Skill execution complete"
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
# Run main function
|
|
282
|
+
main "$@"
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### test.sh Template
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
#!/bin/bash
|
|
289
|
+
# My New Skill - Test Suite
|
|
290
|
+
# Version: 1.0.0
|
|
291
|
+
|
|
292
|
+
set -euo pipefail
|
|
293
|
+
|
|
294
|
+
# Test counters
|
|
295
|
+
TESTS_PASSED=0
|
|
296
|
+
TESTS_FAILED=0
|
|
297
|
+
TESTS_TOTAL=0
|
|
298
|
+
|
|
299
|
+
# Colors for output
|
|
300
|
+
RED='\033[0;31m'
|
|
301
|
+
GREEN='\033[0;32m'
|
|
302
|
+
YELLOW='\033[1;33m'
|
|
303
|
+
NC='\033[0m' # No Color
|
|
304
|
+
|
|
305
|
+
# Test assertion helpers
|
|
306
|
+
assert_equals() {
|
|
307
|
+
local expected="$1"
|
|
308
|
+
local actual="$2"
|
|
309
|
+
local message="${3:-Assertion failed}"
|
|
310
|
+
|
|
311
|
+
((TESTS_TOTAL++))
|
|
312
|
+
|
|
313
|
+
if [ "$expected" = "$actual" ]; then
|
|
314
|
+
((TESTS_PASSED++))
|
|
315
|
+
echo -e "${GREEN}✓${NC} ${message}"
|
|
316
|
+
return 0
|
|
317
|
+
else
|
|
318
|
+
((TESTS_FAILED++))
|
|
319
|
+
echo -e "${RED}✗${NC} ${message}"
|
|
320
|
+
echo " Expected: '${expected}'"
|
|
321
|
+
echo " Actual: '${actual}'"
|
|
322
|
+
return 1
|
|
323
|
+
fi
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
assert_not_empty() {
|
|
327
|
+
local value="$1"
|
|
328
|
+
local message="${2:-Value should not be empty}"
|
|
329
|
+
|
|
330
|
+
((TESTS_TOTAL++))
|
|
331
|
+
|
|
332
|
+
if [ -n "$value" ]; then
|
|
333
|
+
((TESTS_PASSED++))
|
|
334
|
+
echo -e "${GREEN}✓${NC} ${message}"
|
|
335
|
+
return 0
|
|
336
|
+
else
|
|
337
|
+
((TESTS_FAILED++))
|
|
338
|
+
echo -e "${RED}✗${NC} ${message}"
|
|
339
|
+
echo " Value was empty"
|
|
340
|
+
return 1
|
|
341
|
+
fi
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
assert_file_exists() {
|
|
345
|
+
local file_path="$1"
|
|
346
|
+
local message="${2:-File should exist}"
|
|
347
|
+
|
|
348
|
+
((TESTS_TOTAL++))
|
|
349
|
+
|
|
350
|
+
if [ -f "$file_path" ]; then
|
|
351
|
+
((TESTS_PASSED++))
|
|
352
|
+
echo -e "${GREEN}✓${NC} ${message}"
|
|
353
|
+
return 0
|
|
354
|
+
else
|
|
355
|
+
((TESTS_FAILED++))
|
|
356
|
+
echo -e "${RED}✗${NC} ${message}"
|
|
357
|
+
echo " File not found: ${file_path}"
|
|
358
|
+
return 1
|
|
359
|
+
fi
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
# Test suites
|
|
363
|
+
test_basic_functionality() {
|
|
364
|
+
echo ""
|
|
365
|
+
echo "Testing basic functionality..."
|
|
366
|
+
|
|
367
|
+
# Example tests
|
|
368
|
+
assert_equals "expected" "expected" "Basic equality test"
|
|
369
|
+
assert_not_empty "value" "Non-empty value test"
|
|
370
|
+
|
|
371
|
+
# Add your tests here
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
test_error_handling() {
|
|
375
|
+
echo ""
|
|
376
|
+
echo "Testing error handling..."
|
|
377
|
+
|
|
378
|
+
# Add error handling tests
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
test_edge_cases() {
|
|
382
|
+
echo ""
|
|
383
|
+
echo "Testing edge cases..."
|
|
384
|
+
|
|
385
|
+
# Add edge case tests
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
# Test runner
|
|
389
|
+
run_tests() {
|
|
390
|
+
echo "========================================"
|
|
391
|
+
echo "Running tests for my-new-skill"
|
|
392
|
+
echo "========================================"
|
|
393
|
+
|
|
394
|
+
test_basic_functionality
|
|
395
|
+
test_error_handling
|
|
396
|
+
test_edge_cases
|
|
397
|
+
|
|
398
|
+
echo ""
|
|
399
|
+
echo "========================================"
|
|
400
|
+
echo "Test Results"
|
|
401
|
+
echo "========================================"
|
|
402
|
+
echo "Total: ${TESTS_TOTAL}"
|
|
403
|
+
echo -e "Passed: ${GREEN}${TESTS_PASSED}${NC}"
|
|
404
|
+
|
|
405
|
+
if [ $TESTS_FAILED -gt 0 ]; then
|
|
406
|
+
echo -e "Failed: ${RED}${TESTS_FAILED}${NC}"
|
|
407
|
+
exit 1
|
|
408
|
+
else
|
|
409
|
+
echo -e "Failed: ${TESTS_FAILED}"
|
|
410
|
+
echo ""
|
|
411
|
+
echo -e "${GREEN}All tests passed!${NC}"
|
|
412
|
+
exit 0
|
|
413
|
+
fi
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
# Run all tests
|
|
417
|
+
run_tests
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
### validate.sh Template
|
|
421
|
+
|
|
422
|
+
```bash
|
|
423
|
+
#!/bin/bash
|
|
424
|
+
# My New Skill - Validation Script
|
|
425
|
+
# Version: 1.0.0
|
|
426
|
+
|
|
427
|
+
set -euo pipefail
|
|
428
|
+
|
|
429
|
+
VALIDATION_ERRORS=0
|
|
430
|
+
VALIDATION_WARNINGS=0
|
|
431
|
+
|
|
432
|
+
# Colors
|
|
433
|
+
RED='\033[0;31m'
|
|
434
|
+
GREEN='\033[0;32m'
|
|
435
|
+
YELLOW='\033[1;33m'
|
|
436
|
+
NC='\033[0m'
|
|
437
|
+
|
|
438
|
+
# Validation helpers
|
|
439
|
+
validate_command() {
|
|
440
|
+
local cmd="$1"
|
|
441
|
+
local message="${2:-Command '${cmd}' not found}"
|
|
442
|
+
|
|
443
|
+
if command -v "$cmd" &> /dev/null; then
|
|
444
|
+
echo -e "${GREEN}✓${NC} ${cmd} available"
|
|
445
|
+
return 0
|
|
446
|
+
else
|
|
447
|
+
echo -e "${RED}✗${NC} ${message}"
|
|
448
|
+
((VALIDATION_ERRORS++))
|
|
449
|
+
return 1
|
|
450
|
+
fi
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
validate_file() {
|
|
454
|
+
local file_path="$1"
|
|
455
|
+
local message="${2:-File '${file_path}' not found}"
|
|
456
|
+
|
|
457
|
+
if [ -f "$file_path" ]; then
|
|
458
|
+
echo -e "${GREEN}✓${NC} ${file_path} exists"
|
|
459
|
+
return 0
|
|
460
|
+
else
|
|
461
|
+
echo -e "${RED}✗${NC} ${message}"
|
|
462
|
+
((VALIDATION_ERRORS++))
|
|
463
|
+
return 1
|
|
464
|
+
fi
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
validate_env_var() {
|
|
468
|
+
local var_name="$1"
|
|
469
|
+
local message="${2:-Environment variable '${var_name}' not set}"
|
|
470
|
+
|
|
471
|
+
if [ -n "${!var_name:-}" ]; then
|
|
472
|
+
echo -e "${GREEN}✓${NC} ${var_name} is set"
|
|
473
|
+
return 0
|
|
474
|
+
else
|
|
475
|
+
echo -e "${YELLOW}!${NC} ${message}"
|
|
476
|
+
((VALIDATION_WARNINGS++))
|
|
477
|
+
return 1
|
|
478
|
+
fi
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
# Validation checks
|
|
482
|
+
validate_dependencies() {
|
|
483
|
+
echo "Validating dependencies..."
|
|
484
|
+
|
|
485
|
+
# Check for required commands
|
|
486
|
+
validate_command "bash" "Bash shell required"
|
|
487
|
+
validate_command "jq" "jq (JSON processor) required"
|
|
488
|
+
|
|
489
|
+
# Add your dependency checks here
|
|
490
|
+
# validate_command "redis-cli" "Redis CLI required"
|
|
491
|
+
# validate_command "psql" "PostgreSQL client required"
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
validate_configuration() {
|
|
495
|
+
echo ""
|
|
496
|
+
echo "Validating configuration..."
|
|
497
|
+
|
|
498
|
+
# Check for required files
|
|
499
|
+
# validate_file "./config.json" "Configuration file required"
|
|
500
|
+
|
|
501
|
+
# Check for required environment variables
|
|
502
|
+
# validate_env_var "REDIS_URL" "Redis URL should be configured"
|
|
503
|
+
|
|
504
|
+
# Add your config validation here
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
validate_permissions() {
|
|
508
|
+
echo ""
|
|
509
|
+
echo "Validating file permissions..."
|
|
510
|
+
|
|
511
|
+
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
512
|
+
|
|
513
|
+
for script in execute.sh test.sh validate.sh; do
|
|
514
|
+
if [ -x "${script_dir}/${script}" ]; then
|
|
515
|
+
echo -e "${GREEN}✓${NC} ${script} is executable"
|
|
516
|
+
else
|
|
517
|
+
echo -e "${RED}✗${NC} ${script} is not executable"
|
|
518
|
+
((VALIDATION_ERRORS++))
|
|
519
|
+
fi
|
|
520
|
+
done
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
# Main validation
|
|
524
|
+
main() {
|
|
525
|
+
echo "========================================"
|
|
526
|
+
echo "Validating my-new-skill"
|
|
527
|
+
echo "========================================"
|
|
528
|
+
echo ""
|
|
529
|
+
|
|
530
|
+
validate_dependencies
|
|
531
|
+
validate_configuration
|
|
532
|
+
validate_permissions
|
|
533
|
+
|
|
534
|
+
echo ""
|
|
535
|
+
echo "========================================"
|
|
536
|
+
echo "Validation Results"
|
|
537
|
+
echo "========================================"
|
|
538
|
+
|
|
539
|
+
if [ $VALIDATION_ERRORS -eq 0 ] && [ $VALIDATION_WARNINGS -eq 0 ]; then
|
|
540
|
+
echo -e "${GREEN}✓ All validations passed${NC}"
|
|
541
|
+
exit 0
|
|
542
|
+
elif [ $VALIDATION_ERRORS -eq 0 ]; then
|
|
543
|
+
echo -e "${YELLOW}! ${VALIDATION_WARNINGS} warnings found${NC}"
|
|
544
|
+
echo "Skill may have configuration issues"
|
|
545
|
+
exit 0
|
|
546
|
+
else
|
|
547
|
+
echo -e "${RED}✗ ${VALIDATION_ERRORS} validation errors found${NC}"
|
|
548
|
+
if [ $VALIDATION_WARNINGS -gt 0 ]; then
|
|
549
|
+
echo -e "${YELLOW}! ${VALIDATION_WARNINGS} warnings found${NC}"
|
|
550
|
+
fi
|
|
551
|
+
exit 1
|
|
552
|
+
fi
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
main "$@"
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
### package.json Template
|
|
559
|
+
|
|
560
|
+
```json
|
|
561
|
+
{
|
|
562
|
+
"name": "my-new-skill",
|
|
563
|
+
"version": "1.0.0",
|
|
564
|
+
"description": "Brief description of what this skill does",
|
|
565
|
+
"scripts": {
|
|
566
|
+
"execute": "./execute.sh",
|
|
567
|
+
"test": "./test.sh",
|
|
568
|
+
"validate": "./validate.sh"
|
|
569
|
+
},
|
|
570
|
+
"keywords": [
|
|
571
|
+
"cfn",
|
|
572
|
+
"skill",
|
|
573
|
+
"category"
|
|
574
|
+
],
|
|
575
|
+
"author": "Your Name",
|
|
576
|
+
"license": "MIT",
|
|
577
|
+
"dependencies": {},
|
|
578
|
+
"devDependencies": {}
|
|
579
|
+
}
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
## Documentation Guidelines
|
|
583
|
+
|
|
584
|
+
### Overview Section
|
|
585
|
+
|
|
586
|
+
Start with a clear overview:
|
|
587
|
+
|
|
588
|
+
```markdown
|
|
589
|
+
## Overview
|
|
590
|
+
|
|
591
|
+
This skill provides [primary functionality]. It is used when [trigger conditions].
|
|
592
|
+
|
|
593
|
+
Key features:
|
|
594
|
+
- Feature 1
|
|
595
|
+
- Feature 2
|
|
596
|
+
- Feature 3
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
### Usage Section
|
|
600
|
+
|
|
601
|
+
Provide clear usage examples:
|
|
602
|
+
|
|
603
|
+
```markdown
|
|
604
|
+
## Usage
|
|
605
|
+
|
|
606
|
+
Basic usage:
|
|
607
|
+
|
|
608
|
+
```bash
|
|
609
|
+
./.claude/skills/my-new-skill/execute.sh
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
With options:
|
|
613
|
+
|
|
614
|
+
```bash
|
|
615
|
+
./.claude/skills/my-new-skill/execute.sh --verbose --config ./config.json
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
From TypeScript:
|
|
619
|
+
|
|
620
|
+
```typescript
|
|
621
|
+
import { executeSkill } from '@/lib/skill-executor';
|
|
622
|
+
|
|
623
|
+
await executeSkill('my-new-skill', { verbose: true });
|
|
624
|
+
```
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
### API Reference
|
|
628
|
+
|
|
629
|
+
Document all functions and parameters:
|
|
630
|
+
|
|
631
|
+
```markdown
|
|
632
|
+
## API Reference
|
|
633
|
+
|
|
634
|
+
### `main(options)`
|
|
635
|
+
|
|
636
|
+
Main execution function.
|
|
637
|
+
|
|
638
|
+
**Parameters:**
|
|
639
|
+
- `options` (object) - Configuration options
|
|
640
|
+
- `verbose` (boolean) - Enable verbose output
|
|
641
|
+
- `config` (string) - Path to config file
|
|
642
|
+
|
|
643
|
+
**Returns:** `Promise<void>`
|
|
644
|
+
|
|
645
|
+
**Example:**
|
|
646
|
+
```bash
|
|
647
|
+
./execute.sh --verbose
|
|
648
|
+
```
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
## Versioning
|
|
652
|
+
|
|
653
|
+
Follow semantic versioning:
|
|
654
|
+
|
|
655
|
+
- **1.0.0** - Initial release
|
|
656
|
+
- **1.1.0** - New feature (backward compatible)
|
|
657
|
+
- **1.0.1** - Bug fix (backward compatible)
|
|
658
|
+
- **2.0.0** - Breaking change
|
|
659
|
+
|
|
660
|
+
Update version in both SKILL.md frontmatter and package.json.
|
|
661
|
+
|
|
662
|
+
## Testing
|
|
663
|
+
|
|
664
|
+
Write comprehensive tests covering:
|
|
665
|
+
|
|
666
|
+
1. **Happy Path:** Normal execution flow
|
|
667
|
+
2. **Error Cases:** How errors are handled
|
|
668
|
+
3. **Edge Cases:** Boundary conditions
|
|
669
|
+
4. **Performance:** Meets performance targets
|
|
670
|
+
|
|
671
|
+
## Validation
|
|
672
|
+
|
|
673
|
+
Validate all dependencies and configuration:
|
|
674
|
+
|
|
675
|
+
1. **Command Availability:** Check required commands exist
|
|
676
|
+
2. **File Existence:** Verify required files present
|
|
677
|
+
3. **Environment Variables:** Check required env vars set
|
|
678
|
+
4. **Permissions:** Ensure scripts are executable
|
|
679
|
+
|
|
680
|
+
## Skill Markdown Validation
|
|
681
|
+
|
|
682
|
+
**NEW in v1.0.0:** All SKILL.md files are validated against standardized structure.
|
|
683
|
+
|
|
684
|
+
### Validate Your Skill
|
|
685
|
+
|
|
686
|
+
```bash
|
|
687
|
+
# Lint specific skill
|
|
688
|
+
tsx scripts/lint-skill-markdown.ts --skill=my-new-skill
|
|
689
|
+
|
|
690
|
+
# Lint all skills
|
|
691
|
+
tsx scripts/lint-skill-markdown.ts
|
|
692
|
+
|
|
693
|
+
# Strict mode (warnings as errors)
|
|
694
|
+
tsx scripts/lint-skill-markdown.ts --strict --verbose
|
|
695
|
+
```
|
|
696
|
+
|
|
697
|
+
### Validation Checks
|
|
698
|
+
|
|
699
|
+
The validator ensures:
|
|
700
|
+
|
|
701
|
+
1. **Frontmatter Schema** - All required fields present and valid
|
|
702
|
+
2. **Section Structure** - Required sections in correct order
|
|
703
|
+
3. **Code Blocks** - All code blocks have language specification
|
|
704
|
+
4. **Internal Links** - All internal links point to existing files/sections
|
|
705
|
+
5. **Content Length** - Each section has minimum content length (50 chars)
|
|
706
|
+
|
|
707
|
+
### Required Sections
|
|
708
|
+
|
|
709
|
+
Your SKILL.md MUST include these sections in order:
|
|
710
|
+
|
|
711
|
+
1. Overview
|
|
712
|
+
2. Usage
|
|
713
|
+
3. Examples
|
|
714
|
+
4. Implementation
|
|
715
|
+
5. Tests
|
|
716
|
+
|
|
717
|
+
Optional sections (API Reference, Configuration, etc.) can appear after required sections.
|
|
718
|
+
|
|
719
|
+
### Common Validation Errors
|
|
720
|
+
|
|
721
|
+
**Missing language in code block:**
|
|
722
|
+
```markdown
|
|
723
|
+
❌ Wrong:
|
|
724
|
+
\`\`\`
|
|
725
|
+
./script.sh
|
|
726
|
+
\`\`\`
|
|
727
|
+
|
|
728
|
+
✅ Correct:
|
|
729
|
+
\`\`\`bash
|
|
730
|
+
./script.sh
|
|
731
|
+
\`\`\`
|
|
732
|
+
```
|
|
733
|
+
|
|
734
|
+
**Missing required section:**
|
|
735
|
+
```
|
|
736
|
+
Error: Required section "Usage" is missing
|
|
737
|
+
```
|
|
738
|
+
|
|
739
|
+
**Invalid frontmatter version:**
|
|
740
|
+
```
|
|
741
|
+
Error: Field "version" must be valid semantic version (e.g., 1.0.0), got: v1.0
|
|
742
|
+
```
|
|
743
|
+
|
|
744
|
+
### Auto-Migration
|
|
745
|
+
|
|
746
|
+
Migrate existing skills to new format:
|
|
747
|
+
|
|
748
|
+
```bash
|
|
749
|
+
# Dry run (preview changes)
|
|
750
|
+
tsx scripts/migrate-skill-markdown.ts --skill=my-skill --dry-run
|
|
751
|
+
|
|
752
|
+
# Migrate with backup
|
|
753
|
+
tsx scripts/migrate-skill-markdown.ts --skill=my-skill
|
|
754
|
+
```
|
|
755
|
+
|
|
756
|
+
See [Skill Markdown Standards](../../docs/SKILL_MARKDOWN_STANDARDS.md) for complete documentation.
|
|
757
|
+
|
|
758
|
+
## Related Skills
|
|
759
|
+
|
|
760
|
+
List related skills and how they integrate:
|
|
761
|
+
|
|
762
|
+
- **skill-1** - Used for X
|
|
763
|
+
- **skill-2** - Provides Y
|
|
764
|
+
- **skill-3** - Integrated via Z
|
|
765
|
+
|
|
766
|
+
## References
|
|
767
|
+
|
|
768
|
+
- [Skill Content Standards](../../docs/SKILL_CONTENT_STANDARDS.md)
|
|
769
|
+
- [CFN Loop Documentation](../../cfn-system-expert.md)
|
|
770
|
+
- [Agent Output Standards](../../docs/AGENT_OUTPUT_STANDARDS.md)
|
|
771
|
+
|
|
772
|
+
---
|
|
773
|
+
|
|
774
|
+
**Ready to create your skill? Start by copying this template and customizing it for your use case!**
|