claude-flow-novice 2.18.5 → 2.18.6
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-initialized +1 -0
- package/.claude/FILE_MANIFEST.md +50 -0
- package/.claude/MANIFEST_INDEX.md +224 -0
- package/.claude/MANIFEST_README.md +308 -0
- package/.claude/TRIGGER_TASKS_MANIFEST.md +11 -0
- package/.claude/WORKING-SETUP.md +67 -0
- package/.claude/adaptive-context/cfn-v3-reflection.json +21 -0
- package/.claude/agent-principles/SPARSE_LANGUAGE_FINDINGS.md +991 -0
- package/.claude/agent-principles/agent-template.md +96 -0
- package/.claude/agent-principles/prompt-engineering.md +501 -0
- package/.claude/agents/AGENT_LIFECYCLE.md +532 -0
- package/.claude/agents/README-AGENT_LIFECYCLE.md +522 -0
- package/.claude/agents/README-VALIDATION.md +243 -0
- package/.claude/agents/SHARED_PROTOCOL.md +64 -0
- package/.claude/agents/cfn-dev-team/CLAUDE.md +1000 -0
- package/.claude/agents/cfn-dev-team/README.md +219 -0
- package/.claude/agents/cfn-dev-team/analysts/analyst.md +120 -0
- package/.claude/agents/cfn-dev-team/analysts/root-cause-analyst.md +264 -0
- package/.claude/agents/cfn-dev-team/architecture/api-designer-persona.md +152 -0
- package/.claude/agents/cfn-dev-team/architecture/base-template-generator.md +157 -0
- package/.claude/agents/cfn-dev-team/architecture/goal-planner.md +180 -0
- package/.claude/agents/cfn-dev-team/architecture/planner.md +139 -0
- package/.claude/agents/cfn-dev-team/architecture/system-architect.md +132 -0
- package/.claude/agents/cfn-dev-team/coordinators/README.md +42 -0
- package/.claude/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +893 -0
- package/.claude/agents/cfn-dev-team/coordinators/consensus-builder.md +480 -0
- package/.claude/agents/cfn-dev-team/coordinators/handoff-coordinator.md +747 -0
- package/.claude/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +510 -0
- package/.claude/agents/cfn-dev-team/dev-ops/devops-engineer.md +157 -0
- package/.claude/agents/cfn-dev-team/dev-ops/docker-specialist.md +671 -0
- package/.claude/agents/cfn-dev-team/dev-ops/github-commit-agent.md +123 -0
- package/.claude/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +624 -0
- package/.claude/agents/cfn-dev-team/developers/README.md +69 -0
- package/.claude/agents/cfn-dev-team/developers/api-gateway-specialist.md +977 -0
- package/.claude/agents/cfn-dev-team/developers/backend-developer-cerebras.md +210 -0
- package/.claude/agents/cfn-dev-team/developers/backend-developer.md +206 -0
- package/.claude/agents/cfn-dev-team/developers/data/data-engineer.md +672 -0
- package/.claude/agents/cfn-dev-team/developers/database/database-architect.md +376 -0
- package/.claude/agents/cfn-dev-team/developers/database/supabase-specialist.md +746 -0
- package/.claude/agents/cfn-dev-team/developers/frontend/mobile-dev.md +247 -0
- package/.claude/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +272 -0
- package/.claude/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +396 -0
- package/.claude/agents/cfn-dev-team/developers/frontend/ui-designer.md +221 -0
- package/.claude/agents/cfn-dev-team/developers/graphql-specialist.md +707 -0
- package/.claude/agents/cfn-dev-team/developers/rust-developer.md +228 -0
- package/.claude/agents/cfn-dev-team/documentation/README-VALIDATION.md +245 -0
- package/.claude/agents/cfn-dev-team/documentation/agent-type-guidelines.md +476 -0
- package/.claude/agents/cfn-dev-team/documentation/api-documentation.md +111 -0
- package/.claude/agents/cfn-dev-team/documentation/pseudocode.md +144 -0
- package/.claude/agents/cfn-dev-team/documentation/specification-agent.md +152 -0
- package/.claude/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +119 -0
- package/.claude/agents/cfn-dev-team/product-owners/cto-agent.md +138 -0
- package/.claude/agents/cfn-dev-team/product-owners/power-user-persona.md +151 -0
- package/.claude/agents/cfn-dev-team/product-owners/product-owner.md +483 -0
- package/.claude/agents/cfn-dev-team/reviewers/README.md +58 -0
- package/.claude/agents/cfn-dev-team/reviewers/code-reviewer.md +303 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +220 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +334 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +257 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +160 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +386 -0
- package/.claude/agents/cfn-dev-team/testers/README.md +94 -0
- package/.claude/agents/cfn-dev-team/testers/api-testing-specialist.md +757 -0
- package/.claude/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +944 -0
- package/.claude/agents/cfn-dev-team/testers/contract-tester.md +687 -0
- package/.claude/agents/cfn-dev-team/testers/e2e/playwright-tester.md +124 -0
- package/.claude/agents/cfn-dev-team/testers/integration-tester.md +785 -0
- package/.claude/agents/cfn-dev-team/testers/interaction-tester.md +188 -0
- package/.claude/agents/cfn-dev-team/testers/load-testing-specialist.md +505 -0
- package/.claude/agents/cfn-dev-team/testers/mutation-testing-specialist.md +643 -0
- package/.claude/agents/cfn-dev-team/testers/playwright-tester.md +253 -0
- package/.claude/agents/cfn-dev-team/testers/tester.md +224 -0
- package/.claude/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +37 -0
- package/.claude/agents/cfn-dev-team/testers/validation/validation-production-validator.md +27 -0
- package/.claude/agents/cfn-dev-team/testing/test-validation-agent.md +280 -0
- package/.claude/agents/cfn-dev-team/utility/agent-builder.md +487 -0
- package/.claude/agents/cfn-dev-team/utility/context-curator.md +69 -0
- package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.md +2 -0
- package/.claude/agents/cfn-dev-team/utility/epic-creator.md +7 -0
- package/.claude/agents/cfn-dev-team/utility/memory-leak-specialist.md +177 -0
- package/.claude/agents/cfn-dev-team/utility/researcher.md +116 -0
- package/.claude/agents/cfn-dev-team/utility/z-ai-specialist.md +218 -0
- package/.claude/agents/csuite/cto-agent.md +371 -0
- package/.claude/agents/custom/cfn-docker-expert.md +132 -0
- package/.claude/agents/custom/cfn-loops-cli-expert.md +9 -0
- package/.claude/agents/custom/cfn-redis-operations.md +538 -0
- package/.claude/agents/custom/cfn-system-expert.md +489 -0
- package/.claude/agents/custom/claude-code-expert.md +298 -0
- package/.claude/agents/custom/mdap-trigger-specialist.md +82 -0
- package/.claude/agents/custom/trigger-dev-expert.md +386 -0
- package/.claude/agents/docker-coordinators/cfn-docker-v3-coordinator.md +1101 -0
- package/.claude/agents/docker-ts-fixer.md +65 -0
- package/.claude/agents/project-only-agents/npm-package-specialist.md +334 -0
- package/.claude/agents/validate-agent.js +841 -0
- package/.claude/cfn-config/team-providers.json +102 -0
- package/.claude/cfn-extras/.gs-api-quota.json +16 -0
- package/.claude/cfn-extras/.gs-progress-state.json +22 -0
- package/.claude/cfn-extras/agents/cfn-coordinator-enterprise.md +1303 -0
- package/.claude/cfn-extras/agents/cfn-coordinator-mvp.md +942 -0
- package/.claude/cfn-extras/agents/cfn-coordinator-standard.md +1062 -0
- package/.claude/cfn-extras/agents/cfn-loop-coordinator.md +157 -0
- package/.claude/cfn-extras/agents/cfn-v3-coordinator.md +517 -0
- package/.claude/cfn-extras/agents/code-booster.md +67 -0
- package/.claude/cfn-extras/agents/coordinator.md +182 -0
- package/.claude/cfn-extras/agents/cost-savings-cfn-loop-coordinator.md +760 -0
- package/.claude/cfn-extras/agents/cost-savings-coordinator.md +173 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator-enhanced.md +147 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md +162 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md +729 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/byzantine-coordinator.md +100 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-enterprise.md +323 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-mvp.md +157 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-standard.md +229 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-unified.md +149 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/coordinator-hybrid.md +231 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/gossip-coordinator.md +165 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/hierarchical-coordinator.md +95 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md +132 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/task-coordinator.md +109 -0
- package/.claude/cfn-extras/agents/deprecated-coordinators/test-coordinator.md +142 -0
- package/.claude/cfn-extras/agents/docker-team/csuite/c-suite-template.md +529 -0
- package/.claude/cfn-extras/agents/docker-team/infrastructure/team-coordinator-template.md +467 -0
- package/.claude/cfn-extras/agents/docker-team/micro-sprint-planner.md +747 -0
- package/.claude/cfn-extras/agents/google-sheets/README.md +114 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-advanced-analytics-specialist.md +288 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-api-integrator.md +127 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-automation-scripting-specialist.md +195 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-business-validator.md +179 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-collaboration-security-specialist.md +240 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +214 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-transformer.md +127 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-validation-quality-specialist.md +177 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-validator.md +119 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-visualization-specialist.md +135 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-design-layout-specialist.md +109 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-engineer.md +127 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-engineering-specialist.md +138 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-validator.md +128 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-generalist.md +645 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-integration-api-specialist.md +258 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-performance-analyst.md +125 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-performance-optimization-specialist.md +211 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-schema-designer.md +130 -0
- package/.claude/cfn-extras/agents/google-sheets/google-sheets-template-architecture-specialist.md +259 -0
- package/.claude/cfn-extras/agents/google-sheets-specialist.md +614 -0
- package/.claude/cfn-extras/commands/cfn-docker/CFN_DOCKER_CLI.md +527 -0
- package/.claude/cfn-extras/commands/cfn-docker/CFN_DOCKER_LOOP.md +377 -0
- package/.claude/cfn-extras/commands/cfn-docker/CFN_DOCKER_NATIVE.md +295 -0
- package/.claude/cfn-extras/commands/cfn-docker/CFN_DOCKER_TASK.md +490 -0
- package/.claude/cfn-extras/commands/cfn-docker/cfn-docker-core-test-suite.md +326 -0
- package/.claude/cfn-extras/commands/deprecated/CFN_EXPERT_UPDATE.md +142 -0
- package/.claude/cfn-extras/commands/deprecated/README.md +55 -0
- package/.claude/cfn-extras/commands/deprecated/cfn-loop-epic.md +478 -0
- package/.claude/cfn-extras/commands/deprecated/cfn-loop-single.md +256 -0
- package/.claude/cfn-extras/commands/deprecated/cfn-loop-sprints.md +396 -0
- package/.claude/cfn-extras/commands/deprecated/context-curate.md +200 -0
- package/.claude/cfn-extras/commands/deprecated/context-inject.md +251 -0
- package/.claude/cfn-extras/commands/deprecated/context-query.md +210 -0
- package/.claude/cfn-extras/commands/deprecated/context-stats.md +269 -0
- package/.claude/cfn-extras/commands/deprecated/cost-savings-off.md +35 -0
- package/.claude/cfn-extras/commands/deprecated/cost-savings-on.md +35 -0
- package/.claude/cfn-extras/commands/deprecated/custom-routing-activate.md +55 -0
- package/.claude/cfn-extras/commands/deprecated/custom-routing-deactivate.md +46 -0
- package/.claude/cfn-extras/commands/deprecated/github-commit.md +289 -0
- package/.claude/cfn-extras/commands/deprecated/github.md +221 -0
- package/.claude/cfn-extras/commands/deprecated/hello-world-tests.md +381 -0
- package/.claude/cfn-extras/commands/deprecated/parse-epic.md +357 -0
- package/.claude/cfn-extras/commands/deprecated/run-tests.md +119 -0
- package/.claude/cfn-extras/commands/deprecated/suggest-improvements.md +95 -0
- package/.claude/cfn-extras/commands/google-sheets/google-sheets-loop.md +289 -0
- package/.claude/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +619 -0
- package/.claude/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +453 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-agent-swap/SKILL.md +36 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +60 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-api-validation/test-endpoints.sh +54 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-context-pruner/SKILL.md +75 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-context-pruner/prune-context.sh +73 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-event-bus/README.md +299 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-event-bus/SKILL.md +412 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-event-bus/config.json +111 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-event-bus/eventbus-wrapper.cjs +69 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-event-bus/invoke-event-publish.sh +147 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-event-bus/invoke-event-subscribe.sh +171 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-event-bus/invoke-lifecycle-track.sh +201 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-event-bus/test-event-bus.sh +280 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-fleet-manager/README.md +74 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-fleet-manager/SKILL.md +412 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-fleet-manager/config.json +60 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-allocate.sh +182 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-balance.sh +239 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-metrics.sh +193 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-register.sh +124 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-fleet-manager/test-fleet-manager.sh +345 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-task-mode-safety/cli-coordination.sh +519 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-task-mode-safety/mode-detection.sh +326 -0
- package/.claude/cfn-extras/skills/advanced-features/cfn-task-mode-sanitize/task-mode-env-sanitizer.sh +267 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-discovery/SKILL.md +40 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-discovery/agents-registry-clean.json +0 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-discovery/agents-registry-fixed.json +19 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-discovery/agents-registry.json +719 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-discovery/discover-agents.py +184 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-discovery/discover-agents.sh +87 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-discovery/invoke-registry.sh +11 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-discovery/temp_script.py +0 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-selector/SKILL.md +91 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-agent-selector/select-agents.sh +112 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +192 -0
- package/.claude/cfn-extras/skills/deprecated/cfn-simplified-agent-lifecycle/DESIGN.md +98 -0
- package/.claude/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +272 -0
- package/.claude/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh +254 -0
- package/.claude/cfn-extras/skills/google-sheets-api-coordinator/test.sh +174 -0
- package/.claude/cfn-extras/skills/google-sheets-api-coordinator/validate.sh +98 -0
- package/.claude/cfn-extras/skills/google-sheets-decomposition/SKILL.md +269 -0
- package/.claude/cfn-extras/skills/google-sheets-decomposition/decompose.sh +313 -0
- package/.claude/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +237 -0
- package/.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh +220 -0
- package/.claude/cfn-extras/skills/google-sheets-formula-builder/test.sh +172 -0
- package/.claude/cfn-extras/skills/google-sheets-formula-builder/validate.sh +98 -0
- package/.claude/cfn-extras/skills/google-sheets-progress/SKILL.md +287 -0
- package/.claude/cfn-extras/skills/google-sheets-progress/test.sh +385 -0
- package/.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh +516 -0
- package/.claude/cfn-extras/skills/google-sheets-progress/validate.sh +119 -0
- package/.claude/cfn-extras/skills/google-sheets-sprint-order/SKILL.md +277 -0
- package/.claude/cfn-extras/skills/google-sheets-sprint-order/order-sprints.sh +233 -0
- package/.claude/cfn-extras/skills/google-sheets-validation/SKILL.md +352 -0
- package/.claude/cfn-extras/skills/google-sheets-validation/test.sh +355 -0
- package/.claude/cfn-extras/skills/google-sheets-validation/validate-state.sh +374 -0
- package/.claude/cfn-extras/skills/google-sheets-validation/validate.sh +128 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/SKILL.md +392 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-analytics-data/SKILL.md +124 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-ad-performance.sh +105 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-conversion-funnel.sh +102 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-email-performance.sh +105 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-social-engagement.sh +105 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-website-traffic.sh +107 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/SKILL.md +340 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/SKILL.md +350 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-backlink-profile.sh +154 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-keyword-rankings.sh +173 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-trending-topics.sh +147 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/monitor-competitor.sh +146 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/search-brand-mentions.sh +167 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/SKILL.md +116 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/add-to-segment.sh +78 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/create-contact.sh +113 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/get-contact.sh +86 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/remove-from-segment.sh +78 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/update-contact.sh +120 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/SKILL.md +106 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/create-campaign.sh +123 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/get-campaign-stats.sh +66 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/list-templates.sh +68 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/schedule-campaign.sh +85 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/send-test-email.sh +81 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-landing-pages/SKILL.md +366 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/create-ab-test.sh +231 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/create-landing-page.sh +190 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/get-page-performance.sh +137 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/publish-page.sh +120 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/unpublish-page.sh +108 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/SKILL.md +202 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/create-crisis-alert.sh +104 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/export-report.sh +92 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/get-sentiment-analysis.sh +85 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/search-mentions.sh +86 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-outreach/SKILL.md +168 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/search-journalists.sh +74 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/send-pitch.sh +80 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/submit-haro-response.sh +88 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/track-pitch-engagement.sh +66 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-press-distribution/SKILL.md +159 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/distribute-press-release.sh +94 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/get-distribution-status.sh +59 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/get-pickup-metrics.sh +72 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/list-templates.sh +53 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/SKILL.md +429 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-social-publishing/SKILL.md +108 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/create-post.sh +104 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/delete-post.sh +76 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/get-post-stats.sh +66 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/schedule-post.sh +85 -0
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/upload-media.sh +88 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/DESIGN.md +117 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/SKILL.md +679 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-agents.sh +129 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-dashboard.sh +85 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-events.sh +125 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-metrics.sh +112 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-start.sh +135 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-stop.sh +121 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +51 -0
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +85 -0
- package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/SKILL.md +200 -0
- package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +244 -0
- package/.claude/cfn-extras/skills/utility/cfn-process-instrumentation/SKILL.md +279 -0
- package/.claude/cfn-extras/skills/utility/cfn-process-instrumentation/instrument-process.sh +327 -0
- package/.claude/cfn-extras/workflows/marketing-ad-campaigns.json +125 -0
- package/.claude/cfn-extras/workflows/marketing-analytics-data.json +93 -0
- package/.claude/cfn-extras/workflows/marketing-chatbot-conversations.json +89 -0
- package/.claude/cfn-extras/workflows/marketing-competitive-intel.json +140 -0
- package/.claude/cfn-extras/workflows/marketing-crm-contacts.json +86 -0
- package/.claude/cfn-extras/workflows/marketing-email-campaigns.json +86 -0
- package/.claude/cfn-extras/workflows/marketing-landing-pages.json +137 -0
- package/.claude/cfn-extras/workflows/marketing-media-outreach.json +211 -0
- package/.claude/cfn-extras/workflows/marketing-press-distribution.json +224 -0
- package/.claude/cfn-extras/workflows/marketing-sms-campaigns.json +81 -0
- package/.claude/cfn-extras/workflows/marketing-social-publishing.json +86 -0
- package/.claude/commands/README.md +204 -0
- package/.claude/commands/cfn-loop/CFN_LOOP_FRONTEND.md +741 -0
- package/.claude/commands/cfn-loop/cfn-loop-cli.md +273 -0
- package/.claude/commands/cfn-loop/cfn-loop-document.md +499 -0
- package/.claude/commands/cfn-loop/cfn-loop-task.md +490 -0
- package/.claude/commands/cfn-loop/cfn-loop-trigger.md +56 -0
- package/.claude/commands/cfn-loop/cfn-mode.md +20 -0
- package/.claude/commands/cfn-loop/cfn-optimize-agents.md +103 -0
- package/.claude/commands/cfn-loop/list-agents-rebuild.md +205 -0
- package/.claude/commands/cfn-ruvector/codebase-reindex.md +37 -0
- package/.claude/commands/cfn-ruvector/codebase-search.md +38 -0
- package/.claude/commands/cfn-ruvector/detect-stale-docs.md +41 -0
- package/.claude/commands/cfn-test-framework +5 -0
- package/.claude/commands/check-errors.md +34 -0
- package/.claude/commands/cost-routing/switch-api.md +109 -0
- package/.claude/commands/detect-stale-docs.md +26 -0
- package/.claude/commands/epic-creator-v2.md +10 -0
- package/.claude/commands/ruvector-search.md +46 -0
- package/.claude/commands/sparc.md +46 -0
- package/.claude/commands/update-search-index.md +31 -0
- package/.claude/commands/workflow.md +295 -0
- package/.claude/commands/write-plan.md +275 -0
- package/.claude/coordinator-feedback-pattern.md +326 -0
- package/.claude/coordinator-patterns.md +126 -0
- package/.claude/core/agent-manager.js +80 -0
- package/.claude/core/agent-manager.js.map +1 -0
- package/.claude/core/config.js +1241 -0
- package/.claude/core/config.js.map +1 -0
- package/.claude/core/event-bus.js +136 -0
- package/.claude/core/event-bus.js.map +1 -0
- package/.claude/core/index.js +6 -0
- package/.claude/core/index.js.map +1 -0
- package/.claude/core/json-persistence.js +112 -0
- package/.claude/core/json-persistence.js.map +1 -0
- package/.claude/core/logger.js +245 -0
- package/.claude/core/logger.js.map +1 -0
- package/.claude/core/orchestrator-fixed.js +236 -0
- package/.claude/core/orchestrator-fixed.js.map +1 -0
- package/.claude/core/orchestrator.js +1136 -0
- package/.claude/core/orchestrator.js.map +1 -0
- package/.claude/core/persistence.js +185 -0
- package/.claude/core/persistence.js.map +1 -0
- package/.claude/core/project-manager.js +80 -0
- package/.claude/core/project-manager.js.map +1 -0
- package/.claude/core/slash-command.js +24 -0
- package/.claude/core/version.js +35 -0
- package/.claude/core/version.js.map +1 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/github-safe.js +106 -0
- package/.claude/helpers/github-setup.sh +28 -0
- package/.claude/helpers/quick-start.sh +19 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +179 -0
- package/.claude/hooks/GIT-HOOKS-USAGE-EXAMPLES.md +116 -0
- package/.claude/hooks/README-GIT-HOOKS.md +443 -0
- package/.claude/hooks/SKILL.md +518 -0
- package/.claude/hooks/SKILL.md.backup +471 -0
- package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -0
- package/.claude/hooks/cfn-invoke-post-edit-ts.sh +100 -0
- package/.claude/hooks/cfn-invoke-post-edit.sh +135 -0
- package/.claude/hooks/cfn-invoke-pre-edit-ts.sh +116 -0
- package/.claude/hooks/cfn-invoke-pre-edit.sh +110 -0
- package/.claude/hooks/cfn-invoke-security-validation.sh +70 -0
- package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
- package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +110 -0
- package/.claude/hooks/cfn-post-edit.config.json +51 -0
- package/.claude/hooks/cfn-post-edit.sh +21 -0
- package/.claude/hooks/cfn-post-execution/memory-cleanup.sh +20 -0
- package/.claude/hooks/cfn-pre-edit-backup.sh +71 -0
- package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/.claude/hooks/cfn-pre-execution/SESSION_START_README.md +87 -0
- package/.claude/hooks/cfn-pre-execution/TEST_SESSION_START.md +128 -0
- package/.claude/hooks/cfn-pre-execution/memory-check.sh +20 -0
- package/.claude/hooks/cfn-pre-execution/session-start-context.sh +111 -0
- package/.claude/hooks/cfn-restore-from-backup.sh +37 -0
- package/.claude/hooks/detect-hardcoded-credentials.sh +212 -0
- package/.claude/hooks/install-git-hooks.sh +243 -0
- package/.claude/hooks/post-commit-codebase-index +75 -0
- package/.claude/hooks/subagent-start.sh +98 -0
- package/.claude/hooks/subagent-stop.sh +93 -0
- package/.claude/hooks/validators/credential-scanner.sh +172 -0
- package/.claude/hooks.json +33 -0
- package/.claude/logs/sprint1-hybrid-routing-v2-decision.json +18 -0
- package/.claude/prompts/cfn-loop-context.md +115 -0
- package/.claude/prompts/loop-specific/loop2.md +50 -0
- package/.claude/prompts/loop-specific/loop3.md +43 -0
- package/.claude/prompts/loop-specific/loop4.md +54 -0
- package/.claude/root-claude-distribute/CFN-CLAUDE.md +513 -0
- package/.claude/settings.json +172 -0
- package/.claude/settings.local.json +41 -0
- package/.claude/settings.playwright.json +198 -0
- package/.claude/skills/.cfn/task-configs/task-test-123.json +48 -0
- package/.claude/skills/SKILL_TEMPLATE.md +774 -0
- package/.claude/skills/bulk-add-ruvector-instructions.sh +89 -0
- package/.claude/skills/cfn-agent-lifecycle/SKILL.md +290 -0
- package/.claude/skills/cfn-agent-lifecycle/cli/lifecycle-hook.sh +5 -0
- package/.claude/skills/cfn-agent-lifecycle/cli/select-agents.sh +5 -0
- package/.claude/skills/cfn-agent-lifecycle/cli/spawn-agent.sh +5 -0
- package/.claude/skills/cfn-agent-lifecycle/execute.sh +355 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/audit/execute-lifecycle-hook.sh +544 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/audit/simple-audit.sh +58 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/output/README.md +359 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/selection/SKILL.md +29 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/selection/agent-mappings.json +142 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/selection/select-agents-with-fallback.sh +195 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/selection/select-agents.sh +94 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/selection/src/agent-selector.ts +350 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/selection/src/cli.ts +74 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/selection/task-classifier.sh +93 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/spawning/SKILL.md +38 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/spawning/check-dependencies.sh +52 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/spawning/execute-agent.sh +126 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/spawning/get-agent-provider-env.sh +149 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/spawning/parse-agent-provider.sh +81 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/spawning/spawn-agent-wrapper.sh +63 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/spawning/spawn-agent.sh +308 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/spawning/spawn-templates.sh +635 -0
- package/.claude/skills/cfn-agent-lifecycle/lib/spawning/spawn-worker.sh +198 -0
- package/.claude/skills/cfn-agent-tooling/SKILL.md +52 -0
- package/.claude/skills/cfn-agent-tooling/lib/generator/SKILL.md +440 -0
- package/.claude/skills/cfn-agent-tooling/lib/generator/generate-agent.sh +405 -0
- package/.claude/skills/cfn-agent-tooling/lib/linter/SKILL.md +589 -0
- package/.claude/skills/cfn-agent-tooling/lib/linter/lint-agents.sh +271 -0
- package/.claude/skills/cfn-cerebras-code-generator/SKILL.md +53 -0
- package/.claude/skills/cfn-cerebras-code-generator/context-analyzer.sh +96 -0
- package/.claude/skills/cfn-cerebras-code-generator/generate-code.sh +205 -0
- package/.claude/skills/cfn-cerebras-coordinator/SKILL.md +103 -0
- package/.claude/skills/cfn-cerebras-coordinator/TEST_RESULTS.md +98 -0
- package/.claude/skills/cfn-cerebras-coordinator/coordinate-generation.sh +381 -0
- package/.claude/skills/cfn-cerebras-coordinator/example-fix-scenario.md +254 -0
- package/.claude/skills/cfn-cerebras-coordinator/example-workflow.md +142 -0
- package/.claude/skills/cfn-cerebras-coordinator/feedback-logger.sh +254 -0
- package/.claude/skills/cfn-cerebras-coordinator/fix-existing-code-v2.sh +443 -0
- package/.claude/skills/cfn-cerebras-coordinator/fix-existing-code.sh +519 -0
- package/.claude/skills/cfn-cerebras-coordinator/pattern-examples.md +317 -0
- package/.claude/skills/cfn-cerebras-coordinator/query-patterns.sh +182 -0
- package/.claude/skills/cfn-cerebras-coordinator/tdd-coordinator.sh +638 -0
- package/.claude/skills/cfn-cerebras-coordinator/test-runner.sh +335 -0
- package/.claude/skills/cfn-cerebras-mcp/SKILL.md +64 -0
- package/.claude/skills/cfn-compilation-error-fixer/HANDOFF.md +29 -0
- package/.claude/skills/cfn-compilation-error-fixer/README.md +202 -0
- package/.claude/skills/cfn-compilation-error-fixer/SKILL.md +426 -0
- package/.claude/skills/cfn-compilation-error-fixer/bin/fix-errors.sh +75 -0
- package/.claude/skills/cfn-compilation-error-fixer/index.js +81 -0
- package/.claude/skills/cfn-compilation-error-fixer/install.sh +60 -0
- package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/README-TypeScript.md +164 -0
- package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/cerebras-gated-fixer-v2.ts +1475 -0
- package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/cerebras-gated-fixer-v2.ts.bak +1475 -0
- package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/cerebras-sdk.d.ts +30 -0
- package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/cerebras-wrapper.ts +93 -0
- package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/package.json +30 -0
- package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/package.json.bak +23 -0
- package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/typescript-gated-fixer-v2.ts +977 -0
- package/.claude/skills/cfn-compilation-error-fixer/lib/gates/typescript-gates.ts +704 -0
- package/.claude/skills/cfn-compilation-error-fixer/package.json +47 -0
- package/.claude/skills/cfn-compilation-error-fixer/test-fixer-logic.sh +96 -0
- package/.claude/skills/cfn-compilation-error-fixer/test-installation.sh +97 -0
- package/.claude/skills/cfn-compilation-error-fixer/test-rust-fixer-validation.sh +54 -0
- package/.claude/skills/cfn-compilation-error-fixer/test-rust-fixer.sh +380 -0
- package/.claude/skills/cfn-compilation-error-fixer/test-typescript-fixer.sh +278 -0
- package/.claude/skills/cfn-compilation-error-fixer/validate-setup.md +70 -0
- package/.claude/skills/cfn-config/SKILL.md +52 -0
- package/.claude/skills/cfn-config/lib/management/README.md +42 -0
- package/.claude/skills/cfn-config/lib/management/SKILL.md +34 -0
- package/.claude/skills/cfn-config/lib/management/check-dependencies.sh +56 -0
- package/.claude/skills/cfn-config/lib/management/config.json +32 -0
- package/.claude/skills/cfn-config/lib/management/manage-config.sh +115 -0
- package/.claude/skills/cfn-config/lib/sanitization/sanitize-environment.sh +48 -0
- package/.claude/skills/cfn-conversation-sync/README.md +133 -0
- package/.claude/skills/cfn-conversation-sync/SKILL.md +82 -0
- package/.claude/skills/cfn-conversation-sync/sync-conversations.sh +229 -0
- package/.claude/skills/cfn-dependency-management/SKILL.md +118 -0
- package/.claude/skills/cfn-dependency-management/cfn-dependency-management.sh +18 -0
- package/.claude/skills/cfn-dependency-management/execute.sh +306 -0
- package/.claude/skills/cfn-dependency-management/lib/extractor/SKILL.md +35 -0
- package/.claude/skills/cfn-dependency-management/lib/extractor/extract-dependencies.sh +66 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/README.md +101 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/SKILL.md +397 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/build.sh +23 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/ingest-dependencies.sh +295 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/ingest.sh +237 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/manifests/cli-mode-dependencies.txt +219 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/manifests/shared-dependencies.txt +57 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/manifests/trigger-dev-dependencies.txt +82 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/manifests/trigger-mode-dependencies.txt +80 -0
- package/.claude/skills/cfn-dependency-management/lib/ingestion/src/ingest-dependencies.ts +563 -0
- package/.claude/skills/cfn-deployment-lifecycle/SKILL.md +53 -0
- package/.claude/skills/cfn-deployment-lifecycle/lib/deployment/SKILL.md +293 -0
- package/.claude/skills/cfn-deployment-lifecycle/lib/deployment/execute.sh +21 -0
- package/.claude/skills/cfn-deployment-lifecycle/lib/promotion/SKILL.md +305 -0
- package/.claude/skills/cfn-docker-runtime/SKILL.md +84 -0
- package/.claude/skills/cfn-docker-runtime/execute.sh +386 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/README.md +349 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/docker-helpers.sh +433 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/package.json +38 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/src/agent-container.ts +471 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/src/docker-client.ts +483 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/src/health-checker.ts +418 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/src/index.ts +45 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/src/network-manager.ts +377 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/src/types.ts +412 -0
- package/.claude/skills/cfn-docker-runtime/lib/coordination/src/volume-manager.ts +389 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/INTEGRATION.md +268 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/SAMPLE_OUTPUTS.md +237 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/SKILL.md +442 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/capture-container-logs.sh +120 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/enable-logging.sh +430 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/init-hybrid-logging.sh +210 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/queries/analytics-summary.sh +87 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/queries/query-agent-timeline.sh +51 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/queries/query-consensus-history.sh +56 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/queries/query-coordination-timeline.sh +39 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/queries/query-failed-containers.sh +40 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/queries/query-gate-checks.sh +39 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/schema.sql +111 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/sqlite-helpers.sh +240 -0
- package/.claude/skills/cfn-docker-runtime/lib/logging/test-hybrid-logging.sh +331 -0
- package/.claude/skills/cfn-docker-runtime/lib/mcp/SKILL.md +555 -0
- package/.claude/skills/cfn-docker-runtime/lib/mcp/skill-mcp-selector.js +472 -0
- package/.claude/skills/cfn-docker-runtime/lib/orchestration/SKILL.md +449 -0
- package/.claude/skills/cfn-docker-runtime/lib/orchestration/orchestrate.sh +1722 -0
- package/.claude/skills/cfn-docker-runtime/lib/spawning/SKILL.md +418 -0
- package/.claude/skills/cfn-docker-runtime/lib/spawning/spawn-agent.sh +569 -0
- package/.claude/skills/cfn-docker-runtime/lib/waves/SKILL.md +944 -0
- package/.claude/skills/cfn-docker-runtime/lib/waves/cleanup-wave.sh +445 -0
- package/.claude/skills/cfn-docker-runtime/lib/waves/lib/docker-helpers.sh +804 -0
- package/.claude/skills/cfn-docker-runtime/lib/waves/monitor-wave.sh +485 -0
- package/.claude/skills/cfn-docker-runtime/lib/waves/spawn-wave.sh +547 -0
- package/.claude/skills/cfn-edit-safety/README.md +160 -0
- package/.claude/skills/cfn-edit-safety/SKILL.md +62 -0
- package/.claude/skills/cfn-edit-safety/cli/edit-safety-cli.sh +337 -0
- package/.claude/skills/cfn-edit-safety/edit-safety.sh +375 -0
- package/.claude/skills/cfn-edit-safety/lib/backup/SKILL.md +324 -0
- package/.claude/skills/cfn-edit-safety/lib/backup/SKILL.md.backup +277 -0
- package/.claude/skills/cfn-edit-safety/lib/backup/backup.sh +129 -0
- package/.claude/skills/cfn-edit-safety/lib/backup/backup.sh.backup +107 -0
- package/.claude/skills/cfn-edit-safety/lib/hooks/README.md +74 -0
- package/.claude/skills/cfn-edit-safety/lib/hooks/SKILL.md +148 -0
- package/.claude/skills/cfn-edit-safety/lib/hooks/auto-resolve.sh +66 -0
- package/.claude/skills/cfn-edit-safety/lib/hooks/check-dependencies.sh +40 -0
- package/.claude/skills/cfn-edit-safety/lib/hooks/feedback-resolver.sh +452 -0
- package/.claude/skills/cfn-edit-safety/lib/hooks/post-edit-handler.sh +155 -0
- package/.claude/skills/cfn-edit-safety/lib/hooks/security-scan.json +60 -0
- package/.claude/skills/cfn-edit-safety/lib/hooks/security-scanner.sh +121 -0
- package/.claude/skills/cfn-edit-safety/lib/hooks/test-root-warning-resolution.sh +148 -0
- package/.claude/skills/cfn-epic-parser/SKILL.md +220 -0
- package/.claude/skills/cfn-epic-parser/example-epic.md +49 -0
- package/.claude/skills/cfn-epic-parser/parse.sh +517 -0
- package/.claude/skills/cfn-epic-parser/test-parser.sh +299 -0
- package/.claude/skills/cfn-error-management/SKILL.md +176 -0
- package/.claude/skills/cfn-error-management/cli/batch-errors.sh +4 -0
- package/.claude/skills/cfn-error-management/cli/capture-error.sh +4 -0
- package/.claude/skills/cfn-error-management/cli/log-error.sh +4 -0
- package/.claude/skills/cfn-error-management/lib/batching/README.md +1016 -0
- package/.claude/skills/cfn-error-management/lib/batching/analyze-errors.sh +327 -0
- package/.claude/skills/cfn-error-management/lib/batching/calculate-waves.sh +256 -0
- package/.claude/skills/cfn-error-management/lib/batching/cli.sh +523 -0
- package/.claude/skills/cfn-error-management/lib/batching/cluster-files.sh +196 -0
- package/.claude/skills/cfn-error-management/lib/batching/create-batches.sh +261 -0
- package/.claude/skills/cfn-error-management/lib/capture/README.md +56 -0
- package/.claude/skills/cfn-error-management/lib/capture/capture-agent-error.sh +87 -0
- package/.claude/skills/cfn-error-management/lib/logging/README.md +339 -0
- package/.claude/skills/cfn-error-management/lib/logging/cleanup-error-logs.sh +334 -0
- package/.claude/skills/cfn-error-management/lib/logging/integrate-cli.sh +232 -0
- package/.claude/skills/cfn-error-management/lib/logging/integrate-docker.sh +294 -0
- package/.claude/skills/cfn-error-management/lib/logging/invoke-error-logging.sh +839 -0
- package/.claude/skills/cfn-error-management/lib/logging/src/error-logger.ts +1042 -0
- package/.claude/skills/cfn-error-management/lib/logging/src/index.ts +12 -0
- package/.claude/skills/cfn-error-management/lib/logging/src/types.ts +456 -0
- package/.claude/skills/cfn-error-management/lib/logging/test-error-logging.sh +475 -0
- package/.claude/skills/cfn-expert-update/SKILL.md +149 -0
- package/.claude/skills/cfn-expert-update/test-expert-update.sh +254 -0
- package/.claude/skills/cfn-expert-update/update-expert.sh +484 -0
- package/.claude/skills/cfn-intervention-system/SKILL.md +52 -0
- package/.claude/skills/cfn-intervention-system/lib/detector/SKILL.md +39 -0
- package/.claude/skills/cfn-intervention-system/lib/detector/detect-intervention.sh +106 -0
- package/.claude/skills/cfn-intervention-system/lib/orchestrator/SKILL.md +43 -0
- package/.claude/skills/cfn-intervention-system/lib/orchestrator/execute-intervention.sh +59 -0
- package/.claude/skills/cfn-knowledge-base/SKILL.md +109 -0
- package/.claude/skills/cfn-knowledge-base/cli/knowledge-base.sh +435 -0
- package/.claude/skills/cfn-knowledge-base/execute.sh +163 -0
- package/.claude/skills/cfn-knowledge-base/lib/playbook/SKILL.md +153 -0
- package/.claude/skills/cfn-knowledge-base/lib/playbook/init-playbook.sh +54 -0
- package/.claude/skills/cfn-knowledge-base/lib/playbook/lib/auto-update/auto-update-playbook.sh +86 -0
- package/.claude/skills/cfn-knowledge-base/lib/playbook/query-playbook.sh +89 -0
- package/.claude/skills/cfn-knowledge-base/lib/playbook/update-playbook.sh +67 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/APPROVAL_WORKFLOW.md +806 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/COST_TRACKING.md +637 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/DEPLOY_QUICK_REFERENCE.md +106 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/EDGE_CASE_TRACKING.md +404 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/README_PHASE4.md +457 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/SKILL.md +110 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/approval-workflow.sh +514 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/deploy-approved-skill.sh +481 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/deploy-approved-skill.sh.backup-1763392820 +512 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/generate-skill-update.sh +525 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/lib/security-utils.sh +204 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/package.json +30 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/propagate-skill-update.sh +654 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/propagate-skill-update.sh.backup-1763392820 +664 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/review-skill.sh +643 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/src/index.ts +24 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/src/pattern-analyzer.ts +537 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/src/types.ts +180 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/test-integration.sh +296 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/test-metadata-update.sh +350 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/track-cost-savings.sh +486 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/track-cost-savings.sh.backup-1763392821 +445 -0
- package/.claude/skills/cfn-knowledge-base/lib/workflow/track-edge-case.sh +290 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/Cargo.toml +40 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/README.md +563 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/SKILL.md +343 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/cfn-integration.sh +179 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/embeddings_manager.py +289 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/index-code.sh +234 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/init-local-ruvector.sh +112 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/project-structure.md +53 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/query-local.sh +169 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/requirements.txt +2 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/search_engine.py +200 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/search_engine_v2.py +238 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/sqlite_store.py +220 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/cleanup.rs +134 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/export.rs +40 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index.rs +301 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/init.rs +127 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/migration.rs +74 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/mod.rs +18 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/query.rs +222 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/reset.rs +37 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/stats.rs +133 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/embeddings.rs +121 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/main.rs +359 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/migration.rs +318 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/search_engine.rs +281 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/sqlite_store.rs +211 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/test-local-ruvector.sh +250 -0
- package/.claude/skills/cfn-loop-orchestration-v2/SKILL.md +57 -0
- package/.claude/skills/cfn-loop-orchestration-v2/cli/cfn-orchestrator.cjs +49 -0
- package/.claude/skills/cfn-loop-orchestration-v2/cli/orchestrate.sh +21 -0
- package/.claude/skills/cfn-loop-orchestration-v2/cli/resolve-provider-model.cjs +69 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/agent-completion.sh.backup +36 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-patterns.ts +194 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-signal.sh.backup +36 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-wait.sh.backup +36 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/index.ts +25 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/decision/SKILL.md +664 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/decision/TYPESCRIPT_IMPLEMENTATION.md +653 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/decision/parse-decision.sh +66 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/decision/test-backlog-integration.sh +148 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/decision/validate-deliverables.sh +82 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/CONFIGURATION_IMPROVEMENTS.md +318 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/CONTEXT_LOOKUP_QUICK_START.md +378 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/NORTH_STAR_INDEX.md +323 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/ORCHESTRATOR_IMPLEMENTATION.md +493 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/ORCHESTRATOR_QUICK_START.md +499 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/README.md +149 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/SKILL.md +418 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/SPAWN_AGENTS_IMPLEMENTATION.md +188 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/VALIDATION_SUMMARY.txt +196 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/VALIDATOR_MODULE_GUIDE.md +526 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/e2e-validation-fixed.js +240 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/e2e-validation.js +213 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/package.json +53 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/run-north-star-e2e.ts +210 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/security_utils.sh +123 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/agent-spawner/agent-spawner.ts +34 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/cli/orchestrator-cli.ts +396 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/gate-checker/gate-checker.ts +36 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/CONFIDENCE_AGGREGATOR.md +564 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/CONFIDENCE_AGGREGATOR_QUICK_REF.md +241 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/CONTEXT_INJECTOR_QUICK_REFERENCE.md +362 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/CONTEXT_INJECTOR_README.md +307 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/CONTEXT_INJECTOR_USAGE_GUIDE.md +508 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/confidence-aggregator.ts +473 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/consensus.ts +87 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/context-injector.ts +349 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/context-lookup.ts +486 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/deliverable-verifier.ts +107 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/gate-check.ts +115 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/iteration-manager.ts +45 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/parse-test-results.ts +372 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/product-owner-decision.ts +316 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/spawn-agents.ts +357 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/timeout-calculator.ts +41 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/helpers/validator.ts +276 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/index.ts +16 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/orchestrate.ts +1389 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/orchestrator/orchestrator.ts +31 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/redis/redis-coordinator.ts +72 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/types.ts +244 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/src/utils/logger.ts +32 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-cfn-orchestration.sh +281 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-cli.sh +92 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-edge-cases.sh +188 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-iteration-context-injection.sh +366 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-typescript-integration.sh +442 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/DELIVERY_SUMMARY.txt +462 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/EXAMPLES.md +609 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/INDEX.md +531 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/README.md +114 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/SKILL.md +633 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/index.ts +6 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/output-processor.ts +183 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/package.json +50 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/src/cli/process-loop2.ts +195 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/src/cli/process-loop3.ts +157 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/src/output-processor.ts +632 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/INDEX.md +531 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/README.md +256 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/README_TYPESCRIPT.md +454 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md +400 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md.backup +353 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/SKILL_TYPESCRIPT.md +782 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/VAPOR_DETECTION_EXAMPLES.md +598 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/check-dependencies.sh +53 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/check-dependencies.sh.backup +31 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/config.json +161 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/consensus-calculator.js +477 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/detect-vapor.sh +59 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/detect-vapor.sh.backup +37 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/evidence-chain.sql +163 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/index.ts +12 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/orchestrate-cfn-loop.sh +274 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/orchestrate-cfn-loop.sh.backup +252 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/package.json +93 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/src/cli/detect-vapor.ts +177 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/src/cli/validate-deliverables.ts +161 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/src/cli/validate-gate.ts +139 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/src/types.ts +215 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/src/validator.ts +503 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-deliverables.sh +59 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-deliverables.sh.backup +37 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-gate.sh +63 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-gate.sh.backup +41 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-iteration.sh +156 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-iteration.sh.backup +134 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validation-framework.ts +237 -0
- package/.claude/skills/cfn-mdap-context-injection/SKILL.md +21 -0
- package/.claude/skills/cfn-mdap-context-injection/inject.sh +348 -0
- package/.claude/skills/cfn-mdap-error-fixer/HANDOFF.md +383 -0
- package/.claude/skills/cfn-mdap-error-fixer/lib/fixer/cerebras-gated-fixer-v2.ts +1500 -0
- package/.claude/skills/cfn-mdap-error-fixer/lib/fixer/package.json +20 -0
- package/.claude/skills/cfn-mdap-error-fixer/skill.md +205 -0
- package/.claude/skills/cfn-memory-persistence/SKILL.md +59 -0
- package/.claude/skills/cfn-memory-persistence/lib/auto/SKILL.md +73 -0
- package/.claude/skills/cfn-memory-persistence/lib/auto/persist-agent-output.sh +49 -0
- package/.claude/skills/cfn-memory-persistence/lib/auto/query-agent-history.sh +35 -0
- package/.claude/skills/cfn-memory-persistence/lib/auto/test-memory-persistence.sh +230 -0
- package/.claude/skills/cfn-memory-persistence/lib/management/SKILL.md +271 -0
- package/.claude/skills/cfn-memory-persistence/lib/management/check-memory.sh +160 -0
- package/.claude/skills/cfn-memory-persistence/lib/management/cleanup-memory.sh +197 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/SKILL.md +42 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/agent-log.sh.backup +128 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/agent-recovery.sh.backup +75 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/analyze-task-complexity.sh.backup +277 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/bash-wrappers/store-context.sh.backup +23 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/cancel-swarm.sh.backup +221 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/cfn-loop-exec.sh.backup +468 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/cfn-loop-relaunch.sh.backup +29 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/collect-confidence-scores.sh.backup +209 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/collect-results.sh.backup +75 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/complete-swarm.sh.backup +75 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/get-context.sh.backup +146 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/get-success-criteria.sh.backup +54 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/invoke-waiting-mode.sh.backup +225 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/redis-cli-wrapper.sh.backup +43 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/redis-functions.sh.backup +34 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/report-completion.sh.backup +134 -0
- package/.claude/skills/cfn-memory-persistence/lib/redis/store-context.sh.backup +123 -0
- package/.claude/skills/cfn-memory-persistence/lib/sqlite/QUICK_REFERENCE.md +204 -0
- package/.claude/skills/cfn-memory-persistence/lib/sqlite/README.md +65 -0
- package/.claude/skills/cfn-memory-persistence/lib/sqlite/SKILL.md +415 -0
- package/.claude/skills/cfn-memory-persistence/lib/sqlite/acl-queries.sql +452 -0
- package/.claude/skills/cfn-memory-persistence/lib/sqlite/check-dependencies.sh +36 -0
- package/.claude/skills/cfn-memory-persistence/lib/sqlite/config.json +45 -0
- package/.claude/skills/cfn-memory-persistence/lib/sqlite/memory-cli.sh +74 -0
- package/.claude/skills/cfn-memory-persistence/lib/sqlite/test-state-persistence.js +187 -0
- package/.claude/skills/cfn-memory-persistence/lib/sqlite/ttl-cleanup.sh +266 -0
- package/.claude/skills/cfn-node-heap-sizer/SKILL.md +313 -0
- package/.claude/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +326 -0
- package/.claude/skills/cfn-operations/SKILL.md +52 -0
- package/.claude/skills/cfn-operations/execute.sh +175 -0
- package/.claude/skills/cfn-operations/lib/file/SKILL.md +290 -0
- package/.claude/skills/cfn-operations/lib/file/execute.sh +129 -0
- package/.claude/skills/cfn-operations/lib/file/lib/atomic-write.sh +294 -0
- package/.claude/skills/cfn-operations/lib/file/lib/lock.sh +361 -0
- package/.claude/skills/cfn-operations/lib/file/test.sh +373 -0
- package/.claude/skills/cfn-operations/lib/log/SKILL.md +308 -0
- package/.claude/skills/cfn-operations/lib/log/execute.sh +420 -0
- package/.claude/skills/cfn-operations/lib/log/lib/rotate.sh +406 -0
- package/.claude/skills/cfn-operations/lib/log/lib/search.sh +448 -0
- package/.claude/skills/cfn-operations/lib/log/test.sh +400 -0
- package/.claude/skills/cfn-parameterized-queries/SKILL.md +368 -0
- package/.claude/skills/cfn-parameterized-queries/parameterized-queries.sh +249 -0
- package/.claude/skills/cfn-parameterized-queries/test-implementation.sh +237 -0
- package/.claude/skills/cfn-planning/SKILL.md +55 -0
- package/.claude/skills/cfn-planning/execute.sh +159 -0
- package/.claude/skills/cfn-planning/lib/coordinator/README.md +256 -0
- package/.claude/skills/cfn-planning/lib/coordinator/SKILL.md +62 -0
- package/.claude/skills/cfn-planning/lib/coordinator/map-dependencies-conflicts.sh +376 -0
- package/.claude/skills/cfn-planning/lib/coordinator/plan-coordinator-resources.sh +258 -0
- package/.claude/skills/cfn-planning/lib/coordinator/plan-multi-coordinator-work.sh +267 -0
- package/.claude/skills/cfn-planning/lib/coordinator/plan-risk-rollout.sh +350 -0
- package/.claude/skills/cfn-planning/lib/coordinator/test-multi-coordinator-planning.sh +338 -0
- package/.claude/skills/cfn-planning/lib/coordinator/validate-task-planning.sh +189 -0
- package/.claude/skills/cfn-planning/lib/epic/SKILL.md +44 -0
- package/.claude/skills/cfn-planning/lib/epic/decompose-epic.sh +104 -0
- package/.claude/skills/cfn-planning/lib/scope/SKILL.md +37 -0
- package/.claude/skills/cfn-planning/lib/scope/simplify-scope.sh +68 -0
- package/.claude/skills/cfn-process-management/SKILL.md +52 -0
- package/.claude/skills/cfn-process-management/cfn-process +16 -0
- package/.claude/skills/cfn-process-management/cli/process-manager +186 -0
- package/.claude/skills/cfn-process-management/lib/instrumentation/instrument-process.sh +44 -0
- package/.claude/skills/cfn-process-management/lib/lifecycle/README.md +43 -0
- package/.claude/skills/cfn-process-management/lib/lifecycle/SKILL.md +39 -0
- package/.claude/skills/cfn-process-management/lib/lifecycle/check-dependencies.sh +58 -0
- package/.claude/skills/cfn-process-management/lib/lifecycle/config.json +39 -0
- package/.claude/skills/cfn-process-management/lib/lifecycle/process-manager.sh +334 -0
- package/.claude/skills/cfn-project-management/SKILL.md +60 -0
- package/.claude/skills/cfn-project-management/lib/backlog/SKILL.md +199 -0
- package/.claude/skills/cfn-project-management/lib/backlog/add-backlog-item.sh +208 -0
- package/.claude/skills/cfn-project-management/lib/changelog/SKILL.md +349 -0
- package/.claude/skills/cfn-project-management/lib/changelog/add-changelog-entry.sh +202 -0
- package/.claude/skills/cfn-project-management/lib/changelog/bulk-import.sh +268 -0
- package/.claude/skills/cfn-project-management/lib/changelog/lib/README.md +212 -0
- package/.claude/skills/cfn-project-management/lib/changelog/lib/validation.sh +72 -0
- package/.claude/skills/cfn-routing-config/SKILL.md +52 -0
- package/.claude/skills/cfn-routing-config/lib/hybrid/README.md +50 -0
- package/.claude/skills/cfn-routing-config/lib/hybrid/SKILL.md +54 -0
- package/.claude/skills/cfn-routing-config/lib/hybrid/check-dependencies.sh +52 -0
- package/.claude/skills/cfn-routing-config/lib/hybrid/config.json +26 -0
- package/.claude/skills/cfn-routing-config/lib/hybrid/spawn-worker.sh +44 -0
- package/.claude/skills/cfn-routing-config/lib/provider/README.md +129 -0
- package/.claude/skills/cfn-routing-config/lib/provider/SKILL.md +215 -0
- package/.claude/skills/cfn-routing-config/lib/provider/resolve-provider-model.ts +252 -0
- package/.claude/skills/cfn-session-handoff/SKILL.md +53 -0
- package/.claude/skills/cfn-skill-management/FIXES_APPLIED.md +80 -0
- package/.claude/skills/cfn-skill-management/SKILL.md +55 -0
- package/.claude/skills/cfn-skill-management/lib/builder/SKILL.md +910 -0
- package/.claude/skills/cfn-skill-management/lib/loader/SKILL.md +466 -0
- package/.claude/skills/cfn-skill-management/lib/loader/execute.sh +344 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/README.md +233 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/package.json +56 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/propagate-skill-update.sh +32 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/cli.ts +75 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/database-adapter.ts +239 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/file-system-adapter.ts +113 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/index.ts +72 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/logger.ts +43 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/metadata-parser.ts +154 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/skill-propagator.ts +274 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/skill-validator.ts +179 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/types.ts +143 -0
- package/.claude/skills/cfn-skill-management/lib/propagation/src/version-manager.ts +118 -0
- package/.claude/skills/cfn-skill-management/src/cli/skill-loader.ts +364 -0
- package/.claude/skills/cfn-skill-management/src/lib/database-service.ts +313 -0
- package/.claude/skills/cfn-sprint-execution/SKILL.md +55 -0
- package/.claude/skills/cfn-sprint-execution/execute.sh +257 -0
- package/.claude/skills/cfn-sprint-execution/lib/checkpoint/SKILL.md +333 -0
- package/.claude/skills/cfn-sprint-execution/lib/checkpoint/cleanup-orphans.sh +374 -0
- package/.claude/skills/cfn-sprint-execution/lib/checkpoint/resume-wave.sh +325 -0
- package/.claude/skills/cfn-sprint-execution/lib/checkpoint/save-checkpoint.sh +284 -0
- package/.claude/skills/cfn-sprint-execution/lib/execution/SKILL.md +27 -0
- package/.claude/skills/cfn-sprint-execution/lib/execution/execute-sprint-task.sh +68 -0
- package/.claude/skills/cfn-sprint-execution/lib/execution/execute-sprint.sh +65 -0
- package/.claude/skills/cfn-task-decomposition/explore-123-subtasks.json +27 -0
- package/.claude/skills/cfn-task-decomposition/prompts/explore-123-analyze-prompt.md +36 -0
- package/.claude/skills/cfn-task-decomposition/prompts/explore-123-scan-prompt.md +36 -0
- package/.claude/skills/cfn-task-decomposition/prompts/test-final-fix-prompt.md +36 -0
- package/.claude/skills/cfn-task-decomposition/prompts/test-final-pattern-prompt.md +36 -0
- package/.claude/skills/cfn-task-decomposition/prompts/test-final-recon-prompt.md +36 -0
- package/.claude/skills/cfn-task-decomposition/prompts/test-final-validate-prompt.md +36 -0
- package/.claude/skills/cfn-task-decomposition/test-456-subtasks.json +60 -0
- package/.claude/skills/cfn-task-decomposition/test-789-subtasks.json +60 -0
- package/.claude/skills/cfn-task-decomposition/test-999-subtasks.json +27 -0
- package/.claude/skills/cfn-task-decomposition/test-debug-subtasks.json +60 -0
- package/.claude/skills/cfn-task-decomposition/test-debug2-subtasks.json +60 -0
- package/.claude/skills/cfn-task-decomposition/test-final-subtasks.json +60 -0
- package/.claude/skills/cfn-task-decomposition/test-simple-subtasks.json +60 -0
- package/.claude/skills/cfn-task-intelligence/SKILL.md +18 -0
- package/.claude/skills/cfn-task-intelligence/cfn-task-intelligence.sh +158 -0
- package/.claude/skills/cfn-task-intelligence/lib/classifier/SKILL.md +81 -0
- package/.claude/skills/cfn-task-intelligence/lib/classifier/classify-task.sh +297 -0
- package/.claude/skills/cfn-task-intelligence/lib/complexity/SKILL.md +96 -0
- package/.claude/skills/cfn-task-intelligence/lib/complexity/estimate-complexity.sh +144 -0
- package/.claude/skills/cfn-task-intelligence/lib/integration/SKILL.md +339 -0
- package/.claude/skills/cfn-task-intelligence/lib/integration/learning-loop.sh +127 -0
- package/.claude/skills/cfn-task-intelligence/lib/integration/post-feedback-hook.sh +124 -0
- package/.claude/skills/cfn-task-intelligence/lib/integration/pre-execution-hook.sh +59 -0
- package/.claude/skills/cfn-task-intelligence/lib/specialist/SKILL.md +41 -0
- package/.claude/skills/cfn-task-intelligence/lib/specialist/recommend-specialist.sh +57 -0
- package/.claude/skills/cfn-task-planning/SKILL.md +15 -0
- package/.claude/skills/cfn-task-planning/cli/classify-task.sh +4 -0
- package/.claude/skills/cfn-task-planning/cli/decompose-task.sh +4 -0
- package/.claude/skills/cfn-task-planning/cli/init-config.sh +4 -0
- package/.claude/skills/cfn-task-planning/lib/audit/get-audit-data.sh +397 -0
- package/.claude/skills/cfn-task-planning/lib/audit/store-task-audit.sh +191 -0
- package/.claude/skills/cfn-task-planning/lib/classifier/README.md +81 -0
- package/.claude/skills/cfn-task-planning/lib/classifier/classify-task.sh +297 -0
- package/.claude/skills/cfn-task-planning/lib/decomposition/task-decomposer.sh +415 -0
- package/.claude/skills/cfn-test-framework/CLI.md +191 -0
- package/.claude/skills/cfn-test-framework/SKILL.md +55 -0
- package/.claude/skills/cfn-test-framework/execute.sh +386 -0
- package/.claude/skills/cfn-test-framework/lib/execution/README.md +129 -0
- package/.claude/skills/cfn-test-framework/lib/execution/SKILL.md +128 -0
- package/.claude/skills/cfn-test-framework/lib/execution/check-dependencies.sh +36 -0
- package/.claude/skills/cfn-test-framework/lib/execution/test-cache-reader.sh +134 -0
- package/.claude/skills/cfn-test-framework/lib/execution/test-concurrent-conflicts.sh +115 -0
- package/.claude/skills/cfn-test-framework/lib/execution/test-coordinator-pattern.sh +109 -0
- package/.claude/skills/cfn-test-framework/lib/runner/SKILL.md +288 -0
- package/.claude/skills/cfn-test-framework/lib/runner/detect-regressions.sh +58 -0
- package/.claude/skills/cfn-test-framework/lib/runner/detect-regressions.sh.backup-1763392821 +55 -0
- package/.claude/skills/cfn-test-framework/lib/runner/init-benchmark-db.sh +48 -0
- package/.claude/skills/cfn-test-framework/lib/runner/run-all-tests.sh +222 -0
- package/.claude/skills/cfn-test-framework/lib/runner/store-benchmarks.sh +53 -0
- package/.claude/skills/cfn-test-framework/lib/runner/validate-redis-keys.sh +143 -0
- package/.claude/skills/cfn-test-framework/lib/webapp/README.md +142 -0
- package/.claude/skills/cfn-test-framework/lib/webapp/SCREENSHOT_NAMING_CONVENTION.md +547 -0
- package/.claude/skills/cfn-test-framework/lib/webapp/SKILL.md +877 -0
- package/.claude/skills/cfn-test-framework/lib/webapp/capture-screenshot.sh +238 -0
- package/.claude/skills/cfn-test-framework/lib/webapp/cfn-loop-integration.sh +265 -0
- package/.claude/skills/cfn-test-framework/lib/webapp/compare-screenshots.sh +199 -0
- package/.claude/skills/cfn-test-framework/lib/webapp/init-storage.sh +150 -0
- package/.claude/skills/cfn-test-framework/lib/webapp/set-baseline.sh +196 -0
- package/.claude/skills/cfn-test-framework/lib/webapp/test-webapp-testing.sh +233 -0
- package/.claude/skills/cfn-transparency-middleware/CACHE_MANAGER.md +98 -0
- package/.claude/skills/cfn-transparency-middleware/Cargo.lock +2358 -0
- package/.claude/skills/cfn-transparency-middleware/Cargo.toml +20 -0
- package/.claude/skills/cfn-transparency-middleware/README.md +327 -0
- package/.claude/skills/cfn-transparency-middleware/SECURITY.md +41 -0
- package/.claude/skills/cfn-transparency-middleware/SKILL.md +327 -0
- package/.claude/skills/cfn-transparency-middleware/TEST_RESULTS.md +174 -0
- package/.claude/skills/cfn-transparency-middleware/config.json +23 -0
- package/.claude/skills/cfn-transparency-middleware/fix_redact.sh +12 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +98 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-init.sh +224 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-level.sh +333 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +345 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +140 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +235 -0
- package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +29 -0
- package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +79 -0
- package/.claude/skills/cfn-transparency-middleware/src/agent_metrics.rs +480 -0
- package/.claude/skills/cfn-transparency-middleware/src/api_handler.rs +318 -0
- package/.claude/skills/cfn-transparency-middleware/src/cache_manager.rs +219 -0
- package/.claude/skills/cfn-transparency-middleware/src/fix_regex.rs +9 -0
- package/.claude/skills/cfn-transparency-middleware/src/lib.rs +391 -0
- package/.claude/skills/cfn-transparency-middleware/src/lib.rs.backup +388 -0
- package/.claude/skills/cfn-transparency-middleware/src/main.rs +205 -0
- package/.claude/skills/cfn-transparency-middleware/src/memory_query.rs +93 -0
- package/.claude/skills/cfn-transparency-middleware/src/memory_repository.rs +169 -0
- package/.claude/skills/cfn-transparency-middleware/src/memory_schema.rs +154 -0
- package/.claude/skills/cfn-transparency-middleware/src/test_fix.txt +2 -0
- package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +421 -0
- package/.claude/skills/cfn-transparency-middleware/test-integration.sh +162 -0
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +368 -0
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +126 -0
- package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +132 -0
- package/.claude/skills/cfn-utilities/SKILL.md +239 -0
- package/.claude/skills/cfn-utilities/execute.sh +32 -0
- package/.claude/skills/cfn-utilities/lib/errors.sh +56 -0
- package/.claude/skills/cfn-utilities/lib/file-ops.sh +164 -0
- package/.claude/skills/cfn-utilities/lib/logging.sh +77 -0
- package/.claude/skills/cfn-utilities/lib/retry.sh +127 -0
- package/.claude/skills/cfn-utilities/test.sh +317 -0
- package/.claude/skills/cfn-validation-framework/SKILL.md +60 -0
- package/.claude/skills/cfn-validation-framework/execute.sh +223 -0
- package/.claude/skills/cfn-validation-framework/lib/deliverables/confidence-calculator.sh +262 -0
- package/.claude/skills/cfn-validation-framework/lib/instrumentation/wrapped-executor.sh +291 -0
- package/.claude/skills/cfn-validation-framework/lib/json/SKILL.md +431 -0
- package/.claude/skills/cfn-validation-framework/lib/json/test-validate-success-criteria.sh +421 -0
- package/.claude/skills/cfn-validation-framework/lib/json/validate-success-criteria.sh +197 -0
- package/.claude/skills/cfn-validation-framework/lib/layers/SKILL.md +133 -0
- package/.claude/skills/cfn-vision-analysis/SKILL.md +20 -0
- package/.claude/skills/deprecated/analyze-patterns.sh +899 -0
- package/.claude/skills/equation-solver/README.md +327 -0
- package/.claude/skills/equation-solver/SECURITY.md +306 -0
- package/.claude/skills/equation-solver/SKILL.md +335 -0
- package/.claude/skills/equation-solver/package.json +32 -0
- package/.claude/skills/equation-solver/solve.sh +352 -0
- package/.claude/skills/equation-solver/test-equation-solver-minimal.sh +103 -0
- package/.claude/skills/equation-solver/test-equation-solver.sh +510 -0
- package/.claude/skills/equation-solver/test.cjs +25 -0
- package/.claude/skills/shared/bootstrap/sqlite-params.sh +156 -0
- package/.claude/skills/shared/lib/path-utils.sh +139 -0
- package/.claude/skills-database/APPROVAL_CRITERIA.md +925 -0
- package/.claude/skills-database/APPROVAL_WORKFLOW.md +1482 -0
- package/.claude/skills-database/ARCHITECTURE_DECISIONS.md +456 -0
- package/.claude/skills-database/IMPLEMENTATION_GUIDE.md +763 -0
- package/.claude/skills-database/README.md +564 -0
- package/.claude/skills-database/TDD_SKILLS_DB_INTEGRATION.md +2286 -0
- package/.claude/skills-database/schema-v2.sql +587 -0
- package/.claude/slash-commands.json +92 -0
- package/.claude/spawn-pattern-examples.md +500 -0
- package/.claude/sprint-configs/cfn-naming-standardization.json +729 -0
- package/.claude/state/cfn-expert-last-commit +2 -0
- package/.claude/tooling/jq +0 -0
- package/fix-node_modules.md +68 -0
- package/package.json +2 -2
|
@@ -0,0 +1,1482 @@
|
|
|
1
|
+
# Skills Database Approval Workflow
|
|
2
|
+
## Three-Tier Approval Process Implementation & Execution
|
|
3
|
+
|
|
4
|
+
**Version:** 2.0.0
|
|
5
|
+
**Date:** 2025-11-16
|
|
6
|
+
**Status:** Production Ready
|
|
7
|
+
**Audience:** System administrators, DevOps engineers, approval workflow coordinators
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Table of Contents
|
|
12
|
+
|
|
13
|
+
1. [Workflow Overview](#workflow-overview)
|
|
14
|
+
2. [Auto-Approval Workflow](#auto-approval-workflow)
|
|
15
|
+
3. [Escalated Review Workflow](#escalated-review-workflow)
|
|
16
|
+
4. [Human Approval Workflow](#human-approval-workflow)
|
|
17
|
+
5. [Phase 4 Integration](#phase-4-integration)
|
|
18
|
+
6. [Approval History & Audit Trail](#approval-history--audit-trail)
|
|
19
|
+
7. [Expert Notification Templates](#expert-notification-templates)
|
|
20
|
+
8. [Workflow Execution Guide](#workflow-execution-guide)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Workflow Overview
|
|
25
|
+
|
|
26
|
+
### Complete Approval Flow Diagram
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
30
|
+
│ NEW SKILL SUBMISSION │
|
|
31
|
+
│ (via PR or direct database) │
|
|
32
|
+
└──────────────────────────┬──────────────────────────────────────────┘
|
|
33
|
+
│
|
|
34
|
+
▼
|
|
35
|
+
┌──────────────────────────────────────┐
|
|
36
|
+
│ INITIAL VALIDATION & ANALYSIS │
|
|
37
|
+
│ - Calculate risk score │
|
|
38
|
+
│ - Measure test coverage │
|
|
39
|
+
│ - Check dependencies │
|
|
40
|
+
│ - Validate skill metadata │
|
|
41
|
+
└──────────────┬───────────────────────┘
|
|
42
|
+
│
|
|
43
|
+
┌─────────────┴──────────────┬──────────────────┐
|
|
44
|
+
│ │ │
|
|
45
|
+
▼ ▼ ▼
|
|
46
|
+
┌──────────┐ ┌────────────┐ ┌────────────┐
|
|
47
|
+
│ AUTO │ │ ESCALATED │ │ HUMAN │
|
|
48
|
+
│APPROVAL │ │ REVIEW │ │ APPROVAL │
|
|
49
|
+
│≤30 Risk │ │ 31-60 Risk │ │ >60 Risk │
|
|
50
|
+
│≥95% Cov │ │ 80-94% Cov │ │ <80% Cov │
|
|
51
|
+
└────┬─────┘ └─────┬──────┘ └─────┬──────┘
|
|
52
|
+
│ │ │
|
|
53
|
+
▼ ▼ ▼
|
|
54
|
+
[Auto-Check] [Expert Review] [Expert Review]
|
|
55
|
+
(5 seconds) (24-48 hours) (3-7 days)
|
|
56
|
+
│ │ │
|
|
57
|
+
▼ ▼ ▼
|
|
58
|
+
┌──────────┐ ┌────────────┐ ┌────────────┐
|
|
59
|
+
│ APPROVED │◄─────────────│ APPROVED │◄─────│ APPROVED │
|
|
60
|
+
│ │ │ ESCALATE │ │ REJECTED │
|
|
61
|
+
│ (system) │ │ HUMAN │ │ NEEDS_FIX │
|
|
62
|
+
└────┬─────┘ └─────┬──────┘ └─────┬──────┘
|
|
63
|
+
│ │ │
|
|
64
|
+
│ ▼ │
|
|
65
|
+
│ [Human Review] │
|
|
66
|
+
│ (3-7 days) │
|
|
67
|
+
│ │ │
|
|
68
|
+
│ ┌────────────────────┼───────────────┐ │
|
|
69
|
+
│ │ │ │ │
|
|
70
|
+
│ ▼ ▼ ▼ │
|
|
71
|
+
│ ┌──────────┐ ┌──────────┐ ┌─────┴────┐
|
|
72
|
+
│ │ APPROVED │ │ REJECTED │ │NEEDS_FIX │
|
|
73
|
+
│ │(expert) │ │(revert) │ │(revise) │
|
|
74
|
+
│ └─────┬────┘ └──────────┘ └────┬─────┘
|
|
75
|
+
│ │ │
|
|
76
|
+
└────────┼───────────────────────────────────┘
|
|
77
|
+
│
|
|
78
|
+
▼
|
|
79
|
+
┌─────────────────────────────┐
|
|
80
|
+
│ APPROVAL DECISION MADE │
|
|
81
|
+
│ - Logged in approval_history│
|
|
82
|
+
│ - Audit trail recorded │
|
|
83
|
+
│ - Expert signature │
|
|
84
|
+
└────────────┬────────────────┘
|
|
85
|
+
│
|
|
86
|
+
▼
|
|
87
|
+
┌─────────────────────────────┐
|
|
88
|
+
│ DEPLOYMENT AUTHORIZATION │
|
|
89
|
+
│ - Skills table updated │
|
|
90
|
+
│ - version marked approved │
|
|
91
|
+
│ - Ready for agent loading │
|
|
92
|
+
└─────────────────────────────┘
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Parallel vs Sequential Processing
|
|
96
|
+
|
|
97
|
+
**Auto-Approved Skills (Parallel):**
|
|
98
|
+
- Multiple auto-approvals processed simultaneously
|
|
99
|
+
- No blocking dependencies
|
|
100
|
+
- System-driven (no human intervention)
|
|
101
|
+
|
|
102
|
+
**Escalated Review Skills (Sequential with SLA):**
|
|
103
|
+
- Assigned to available experts
|
|
104
|
+
- 24-48 hour review window
|
|
105
|
+
- Expert can escalate to human if needed
|
|
106
|
+
|
|
107
|
+
**Human Approval (Sequential with SLA):**
|
|
108
|
+
- Assigned to senior experts
|
|
109
|
+
- 3-7 day review window
|
|
110
|
+
- Requires documented reasoning
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Auto-Approval Workflow
|
|
115
|
+
|
|
116
|
+
### Step 1: Skill Submission & Initial Validation
|
|
117
|
+
|
|
118
|
+
**Input:** New skill record inserted into database or submitted via pull request
|
|
119
|
+
|
|
120
|
+
```sql
|
|
121
|
+
-- Check if skill meets auto-approval criteria
|
|
122
|
+
SELECT
|
|
123
|
+
id,
|
|
124
|
+
name,
|
|
125
|
+
category,
|
|
126
|
+
approval_level,
|
|
127
|
+
test_coverage,
|
|
128
|
+
json_extract(approval_criteria, '$.risk_score') as risk_score
|
|
129
|
+
FROM skills
|
|
130
|
+
WHERE status = 'active'
|
|
131
|
+
AND approval_level = 'auto'
|
|
132
|
+
AND test_coverage >= 0.95
|
|
133
|
+
LIMIT 10;
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Validation Checks:**
|
|
137
|
+
|
|
138
|
+
| Check | Requirement | Validation Query |
|
|
139
|
+
|-------|-------------|------------------|
|
|
140
|
+
| Risk Score | ≤ 0.30 | `SELECT risk_score WHERE risk_score <= 0.30` |
|
|
141
|
+
| Test Coverage | ≥ 95% | `SELECT test_coverage WHERE test_coverage >= 0.95` |
|
|
142
|
+
| Complexity | ≤ 5 | `SELECT complexity WHERE complexity <= 5` |
|
|
143
|
+
| External Deps | 0 | `SELECT dep_count WHERE dep_count = 0` |
|
|
144
|
+
| File Access | Skill dir only | Regex check: skill path in content_path |
|
|
145
|
+
|
|
146
|
+
**Failure Path:** If any check fails, route to ESCALATED REVIEW
|
|
147
|
+
|
|
148
|
+
### Step 2: Automated Risk Assessment
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
#!/bin/bash
|
|
152
|
+
# Calculate risk score automatically
|
|
153
|
+
|
|
154
|
+
skill_id=$1
|
|
155
|
+
test_coverage=$(sqlite3 skills.db "SELECT test_coverage FROM skills WHERE id=$skill_id")
|
|
156
|
+
complexity=$(sqlite3 skills.db "SELECT json_extract(approval_criteria, '$.complexity_score') FROM skills WHERE id=$skill_id")
|
|
157
|
+
|
|
158
|
+
# Risk formula: (complexity/20 * 0.25) + ((1.0 - test_coverage) * 0.20)
|
|
159
|
+
complexity_risk=$(echo "scale=3; $complexity / 20 * 0.25" | bc)
|
|
160
|
+
coverage_risk=$(echo "scale=3; (1.0 - $test_coverage) * 0.20" | bc)
|
|
161
|
+
total_risk=$(echo "scale=3; $complexity_risk + $coverage_risk" | bc)
|
|
162
|
+
|
|
163
|
+
echo $total_risk
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Risk Score Results:**
|
|
167
|
+
- < 0.30: Continue to approval
|
|
168
|
+
- 0.30-0.60: Route to escalation
|
|
169
|
+
- > 0.60: Route to human review
|
|
170
|
+
|
|
171
|
+
### Step 3: Test Execution Verification
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
#!/bin/bash
|
|
175
|
+
# Run test suite and capture results
|
|
176
|
+
|
|
177
|
+
test_suite_path=$(sqlite3 skills.db "SELECT test_suite_path FROM skills WHERE id=$skill_id")
|
|
178
|
+
cd $(dirname "$test_suite_path")
|
|
179
|
+
|
|
180
|
+
# Execute tests
|
|
181
|
+
bash test.sh > test_output.json 2>&1
|
|
182
|
+
test_exit_code=$?
|
|
183
|
+
|
|
184
|
+
# Extract metrics
|
|
185
|
+
pass_count=$(grep '"pass_count"' test_output.json | head -1 | awk -F: '{print $2}' | tr -d ', ')
|
|
186
|
+
fail_count=$(grep '"fail_count"' test_output.json | head -1 | awk -F: '{print $2}' | tr -d ', ')
|
|
187
|
+
coverage=$(grep '"coverage"' test_output.json | head -1 | awk -F: '{print $2}' | tr -d ', ')
|
|
188
|
+
|
|
189
|
+
# Validate: pass_rate must be 100%, coverage ≥ 95%
|
|
190
|
+
if [ $fail_count -eq 0 ] && [ $(echo "$coverage >= 0.95" | bc) -eq 1 ]; then
|
|
191
|
+
echo "PASS"
|
|
192
|
+
else
|
|
193
|
+
echo "FAIL"
|
|
194
|
+
fi
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Test Verification Rules:**
|
|
198
|
+
- All tests must pass (0 failures)
|
|
199
|
+
- Coverage must be ≥ 95%
|
|
200
|
+
- Timeout: 5 minutes per test suite
|
|
201
|
+
- Failure escalates to ESCALATED REVIEW
|
|
202
|
+
|
|
203
|
+
### Step 4: Automatic Approval Decision
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
#!/bin/bash
|
|
207
|
+
# Execute auto-approval if all checks pass
|
|
208
|
+
|
|
209
|
+
skill_id=$1
|
|
210
|
+
approval_timestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
|
|
211
|
+
|
|
212
|
+
# Update skills table
|
|
213
|
+
sqlite3 skills.db << EOF
|
|
214
|
+
UPDATE skills
|
|
215
|
+
SET
|
|
216
|
+
approval_level = 'auto',
|
|
217
|
+
last_approved_by = 'system',
|
|
218
|
+
last_approval_date = '$approval_timestamp'
|
|
219
|
+
WHERE id = $skill_id;
|
|
220
|
+
|
|
221
|
+
-- Insert approval history
|
|
222
|
+
INSERT INTO approval_history (
|
|
223
|
+
skill_id,
|
|
224
|
+
version,
|
|
225
|
+
approval_level,
|
|
226
|
+
approver,
|
|
227
|
+
decision,
|
|
228
|
+
reasoning,
|
|
229
|
+
timestamp
|
|
230
|
+
) VALUES (
|
|
231
|
+
$skill_id,
|
|
232
|
+
(SELECT version FROM skills WHERE id = $skill_id),
|
|
233
|
+
'auto',
|
|
234
|
+
'system',
|
|
235
|
+
'approved',
|
|
236
|
+
'Automatic approval: Risk ≤ 0.30, Coverage ≥ 95%, All tests passed',
|
|
237
|
+
'$approval_timestamp'
|
|
238
|
+
);
|
|
239
|
+
EOF
|
|
240
|
+
|
|
241
|
+
echo "SKILL $skill_id: APPROVED (auto)"
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Database State After Auto-Approval:**
|
|
245
|
+
|
|
246
|
+
```sql
|
|
247
|
+
-- Skills table updated
|
|
248
|
+
UPDATE skills
|
|
249
|
+
SET
|
|
250
|
+
approval_level = 'auto',
|
|
251
|
+
last_approved_by = 'system',
|
|
252
|
+
last_approval_date = '2025-11-16T14:30:00Z'
|
|
253
|
+
WHERE id = 42;
|
|
254
|
+
|
|
255
|
+
-- Approval history appended
|
|
256
|
+
INSERT INTO approval_history (
|
|
257
|
+
skill_id,
|
|
258
|
+
version,
|
|
259
|
+
approval_level,
|
|
260
|
+
approver,
|
|
261
|
+
decision,
|
|
262
|
+
reasoning,
|
|
263
|
+
test_results,
|
|
264
|
+
timestamp
|
|
265
|
+
) VALUES (
|
|
266
|
+
42,
|
|
267
|
+
'1.0.0',
|
|
268
|
+
'auto',
|
|
269
|
+
'system',
|
|
270
|
+
'approved',
|
|
271
|
+
'Automatic approval: Risk=0.25, Coverage=98%, Tests=45/45 passed',
|
|
272
|
+
'{"pass_count": 45, "fail_count": 0, "pass_rate": 1.0, "coverage": 0.98}',
|
|
273
|
+
'2025-11-16T14:30:00Z'
|
|
274
|
+
);
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### Step 5: Deployment Authorization
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
#!/bin/bash
|
|
281
|
+
# Auto-approved skill ready for agent loading
|
|
282
|
+
|
|
283
|
+
skill_id=$1
|
|
284
|
+
skill_name=$(sqlite3 skills.db "SELECT name FROM skills WHERE id=$skill_id")
|
|
285
|
+
|
|
286
|
+
# Verify approval status
|
|
287
|
+
approval_status=$(sqlite3 skills.db "SELECT decision FROM approval_history WHERE skill_id=$skill_id ORDER BY timestamp DESC LIMIT 1")
|
|
288
|
+
|
|
289
|
+
if [ "$approval_status" == "approved" ]; then
|
|
290
|
+
echo "✓ SKILL '$skill_name' ready for deployment"
|
|
291
|
+
# Skill can now be loaded by agents without additional review
|
|
292
|
+
else
|
|
293
|
+
echo "✗ SKILL '$skill_name' not approved for deployment"
|
|
294
|
+
fi
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### Auto-Approval Performance Metrics
|
|
298
|
+
|
|
299
|
+
**Timing:**
|
|
300
|
+
- Validation checks: 100-200ms
|
|
301
|
+
- Risk calculation: 50-100ms
|
|
302
|
+
- Test execution: 5-30 seconds (varies by test suite)
|
|
303
|
+
- Approval decision: 50-100ms
|
|
304
|
+
- **Total: 5-35 seconds per skill**
|
|
305
|
+
|
|
306
|
+
**Cost Savings:**
|
|
307
|
+
- Human review: ~15 minutes per skill × $0.50/min = $7.50/skill
|
|
308
|
+
- Auto-approval overhead: $0.02/skill
|
|
309
|
+
- **Savings per auto-approved skill: ~$7.48**
|
|
310
|
+
- At 80% auto-approval rate with 500 skills: ~$3,000/month savings
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## Escalated Review Workflow
|
|
315
|
+
|
|
316
|
+
### Step 1: Escalation Trigger Detection
|
|
317
|
+
|
|
318
|
+
**Triggers that route to escalation:**
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
#!/bin/bash
|
|
322
|
+
# Check if skill meets escalation criteria
|
|
323
|
+
|
|
324
|
+
skill_id=$1
|
|
325
|
+
|
|
326
|
+
sqlite3 skills.db << EOF | grep -q "escalate" && {
|
|
327
|
+
SELECT 'escalate' FROM skills
|
|
328
|
+
WHERE id = $skill_id
|
|
329
|
+
AND (
|
|
330
|
+
json_extract(approval_criteria, '$.risk_score') > 0.30
|
|
331
|
+
OR test_coverage < 0.95
|
|
332
|
+
OR json_extract(approval_criteria, '$.external_dependencies') = true
|
|
333
|
+
)
|
|
334
|
+
LIMIT 1;
|
|
335
|
+
}
|
|
336
|
+
EOF
|
|
337
|
+
|
|
338
|
+
if [ $? -eq 0 ]; then
|
|
339
|
+
echo "ROUTE: ESCALATED_REVIEW"
|
|
340
|
+
else
|
|
341
|
+
echo "ROUTE: AUTO_APPROVAL"
|
|
342
|
+
fi
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
**Escalation Criteria:**
|
|
346
|
+
|
|
347
|
+
| Trigger | Description | Example |
|
|
348
|
+
|---------|-------------|---------|
|
|
349
|
+
| Risk Score 0.31-0.60 | Medium risk | Redis coordination, database pool |
|
|
350
|
+
| Test Coverage 80-94% | Good but not excellent | Infrastructure changes |
|
|
351
|
+
| External Dependencies | 1-3 API/service calls | PostgreSQL, Redis, APIs |
|
|
352
|
+
| Security-Sensitive | Credential handling, auth | Secure agent spawning |
|
|
353
|
+
| Infrastructure Changes | Docker, Kubernetes, config | Container orchestration |
|
|
354
|
+
| Cross-Team Impact | Affects 2+ teams | Coordination system changes |
|
|
355
|
+
|
|
356
|
+
### Step 2: Expert Assignment
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
#!/bin/bash
|
|
360
|
+
# Assign skill to appropriate expert based on category
|
|
361
|
+
|
|
362
|
+
skill_id=$1
|
|
363
|
+
category=$(sqlite3 skills.db "SELECT category FROM skills WHERE id=$skill_id")
|
|
364
|
+
|
|
365
|
+
case "$category" in
|
|
366
|
+
"coordination")
|
|
367
|
+
expert="orchestration-specialist@example.com"
|
|
368
|
+
expertise="CFN Loop, agent coordination"
|
|
369
|
+
;;
|
|
370
|
+
"infrastructure")
|
|
371
|
+
expert="infrastructure-specialist@example.com"
|
|
372
|
+
expertise="Docker, Kubernetes, PostgreSQL"
|
|
373
|
+
;;
|
|
374
|
+
"security")
|
|
375
|
+
expert="security-architect@example.com"
|
|
376
|
+
expertise="Cryptography, access control"
|
|
377
|
+
;;
|
|
378
|
+
"testing")
|
|
379
|
+
expert="testing-lead@example.com"
|
|
380
|
+
expertise="Test frameworks, CI/CD"
|
|
381
|
+
;;
|
|
382
|
+
*)
|
|
383
|
+
expert="default-expert@example.com"
|
|
384
|
+
expertise="General review"
|
|
385
|
+
;;
|
|
386
|
+
esac
|
|
387
|
+
|
|
388
|
+
echo "ASSIGNED_TO: $expert ($expertise)"
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
**Expert Availability Matrix:**
|
|
392
|
+
|
|
393
|
+
```text
|
|
394
|
+
Category Primary Expert Backup Expert
|
|
395
|
+
─────────────────────────────────────────────────────────────
|
|
396
|
+
coordination orchestration@example.com architecture@example.com
|
|
397
|
+
infrastructure devops@example.com platform@example.com
|
|
398
|
+
security security-arch@example.com compliance@example.com
|
|
399
|
+
testing qa-lead@example.com devops@example.com
|
|
400
|
+
foundation platform@example.com architecture@example.com
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
### Step 3: Escalation Notification
|
|
404
|
+
|
|
405
|
+
**Notification Template (email):**
|
|
406
|
+
|
|
407
|
+
```text
|
|
408
|
+
Subject: [Skills DB] Escalation Review Required - {SKILL_NAME}
|
|
409
|
+
|
|
410
|
+
To: {EXPERT_EMAIL}
|
|
411
|
+
CC: skills-database-admins@example.com
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
415
|
+
Expert Review Request
|
|
416
|
+
Skill: {SKILL_NAME}
|
|
417
|
+
Version: {VERSION}
|
|
418
|
+
Category: {CATEGORY}
|
|
419
|
+
Requested At: {TIMESTAMP}
|
|
420
|
+
Review SLA: 24-48 hours
|
|
421
|
+
|
|
422
|
+
Skill Summary:
|
|
423
|
+
- Risk Score: {RISK_SCORE}/1.0
|
|
424
|
+
- Test Coverage: {COVERAGE}%
|
|
425
|
+
- Complexity: {COMPLEXITY_LEVEL}
|
|
426
|
+
- External Dependencies: {DEP_COUNT}
|
|
427
|
+
|
|
428
|
+
Why This Escalation:
|
|
429
|
+
{ESCALATION_REASON}
|
|
430
|
+
|
|
431
|
+
Trigger Criteria Met:
|
|
432
|
+
{CRITERIA_LIST}
|
|
433
|
+
|
|
434
|
+
Next Steps:
|
|
435
|
+
1. Access database: sqlite3 skills.db
|
|
436
|
+
2. Review skill: SELECT * FROM skills WHERE id={SKILL_ID}
|
|
437
|
+
3. Check tests: {TEST_SUITE_PATH}
|
|
438
|
+
4. Approve or escalate: Use approval_update.sh script
|
|
439
|
+
5. Document reasoning in approval_history
|
|
440
|
+
|
|
441
|
+
Review Deadline: {DEADLINE_DATE}
|
|
442
|
+
|
|
443
|
+
Best regards,
|
|
444
|
+
Skills Database Workflow
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
### Step 4: Expert Review & Decision
|
|
448
|
+
|
|
449
|
+
**Expert Review Checklist:**
|
|
450
|
+
|
|
451
|
+
```markdown
|
|
452
|
+
## Review Checklist for Escalated Skills
|
|
453
|
+
|
|
454
|
+
### Code Review
|
|
455
|
+
- [ ] Logic is clear and maintainable
|
|
456
|
+
- [ ] Error handling is comprehensive
|
|
457
|
+
- [ ] Security implications are minimal
|
|
458
|
+
- [ ] No hardcoded secrets or API keys
|
|
459
|
+
- [ ] Dependencies are stable and well-documented
|
|
460
|
+
|
|
461
|
+
### Test Coverage Review
|
|
462
|
+
- [ ] Test suite covers main functionality
|
|
463
|
+
- [ ] Edge cases are tested
|
|
464
|
+
- [ ] Error cases are tested
|
|
465
|
+
- [ ] Integration points are verified
|
|
466
|
+
- [ ] Coverage is ≥ 80%
|
|
467
|
+
|
|
468
|
+
### External Dependency Review
|
|
469
|
+
- [ ] Dependencies are stable
|
|
470
|
+
- [ ] Version pinning is used
|
|
471
|
+
- [ ] Fallback strategies exist
|
|
472
|
+
- [ ] Performance implications understood
|
|
473
|
+
- [ ] Scaling characteristics known
|
|
474
|
+
|
|
475
|
+
### Impact Analysis
|
|
476
|
+
- [ ] No breaking changes to existing APIs
|
|
477
|
+
- [ ] Documentation is clear
|
|
478
|
+
- [ ] Migration path exists (if applicable)
|
|
479
|
+
- [ ] Monitoring/observability is built-in
|
|
480
|
+
- [ ] Rollback procedure documented
|
|
481
|
+
|
|
482
|
+
### Decision
|
|
483
|
+
- [ ] APPROVE
|
|
484
|
+
- [ ] ESCALATE_TO_HUMAN
|
|
485
|
+
- [ ] REQUEST_CHANGES (feedback loop)
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
**Approval Decision Recording:**
|
|
489
|
+
|
|
490
|
+
```bash
|
|
491
|
+
#!/bin/bash
|
|
492
|
+
# Expert records decision
|
|
493
|
+
|
|
494
|
+
skill_id=$1
|
|
495
|
+
expert_email="$2"
|
|
496
|
+
decision="$3" # approved | escalated | rejected
|
|
497
|
+
reasoning="$4"
|
|
498
|
+
|
|
499
|
+
sqlite3 skills.db << EOF
|
|
500
|
+
INSERT INTO approval_history (
|
|
501
|
+
skill_id,
|
|
502
|
+
version,
|
|
503
|
+
approval_level,
|
|
504
|
+
approver,
|
|
505
|
+
decision,
|
|
506
|
+
reasoning,
|
|
507
|
+
risk_assessment,
|
|
508
|
+
timestamp,
|
|
509
|
+
review_duration_minutes
|
|
510
|
+
) VALUES (
|
|
511
|
+
$skill_id,
|
|
512
|
+
(SELECT version FROM skills WHERE id = $skill_id),
|
|
513
|
+
'escalate',
|
|
514
|
+
'$expert_email',
|
|
515
|
+
'$decision',
|
|
516
|
+
'$reasoning',
|
|
517
|
+
json_object(
|
|
518
|
+
'security', 'low',
|
|
519
|
+
'complexity', 'medium',
|
|
520
|
+
'maintainability', 'high'
|
|
521
|
+
),
|
|
522
|
+
datetime('now'),
|
|
523
|
+
(SELECT (julianday('now') - julianday(created_at)) * 1440
|
|
524
|
+
FROM (SELECT MAX(timestamp) as created_at FROM approval_history WHERE skill_id=$skill_id))
|
|
525
|
+
);
|
|
526
|
+
EOF
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
### Step 5: Feedback Loop (If Changes Needed)
|
|
530
|
+
|
|
531
|
+
**When Expert Requests Changes:**
|
|
532
|
+
|
|
533
|
+
```bash
|
|
534
|
+
#!/bin/bash
|
|
535
|
+
# Create feedback task for skill owner
|
|
536
|
+
|
|
537
|
+
skill_id=$1
|
|
538
|
+
feedback="$2"
|
|
539
|
+
|
|
540
|
+
# Record feedback in approval_history
|
|
541
|
+
sqlite3 skills.db << EOF
|
|
542
|
+
INSERT INTO approval_history (
|
|
543
|
+
skill_id,
|
|
544
|
+
version,
|
|
545
|
+
approval_level,
|
|
546
|
+
approver,
|
|
547
|
+
decision,
|
|
548
|
+
reasoning,
|
|
549
|
+
timestamp
|
|
550
|
+
) VALUES (
|
|
551
|
+
$skill_id,
|
|
552
|
+
(SELECT version FROM skills WHERE id = $skill_id),
|
|
553
|
+
'escalate',
|
|
554
|
+
'expert@example.com',
|
|
555
|
+
'needs_correction',
|
|
556
|
+
'Expert feedback: $feedback',
|
|
557
|
+
datetime('now')
|
|
558
|
+
);
|
|
559
|
+
EOF
|
|
560
|
+
|
|
561
|
+
# Notify skill owner
|
|
562
|
+
cat << FEEDBACK | mail -s "Skills DB: Feedback Required - Skill $skill_id" owner@example.com
|
|
563
|
+
Expert Review Feedback:
|
|
564
|
+
|
|
565
|
+
$feedback
|
|
566
|
+
|
|
567
|
+
Please address feedback and resubmit for review.
|
|
568
|
+
Response SLA: 5 business days
|
|
569
|
+
FEEDBACK
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
### Expert Review Performance SLA
|
|
573
|
+
|
|
574
|
+
**Target Response Time:** 24-48 hours
|
|
575
|
+
|
|
576
|
+
```sql
|
|
577
|
+
-- Query to monitor expert response time
|
|
578
|
+
SELECT
|
|
579
|
+
s.name,
|
|
580
|
+
s.category,
|
|
581
|
+
MIN(ah.timestamp) as review_started,
|
|
582
|
+
MAX(ah.timestamp) as review_completed,
|
|
583
|
+
(julianday(MAX(ah.timestamp)) - julianday(MIN(ah.timestamp))) * 24 as hours_to_review
|
|
584
|
+
FROM skills s
|
|
585
|
+
JOIN approval_history ah ON s.id = ah.skill_id
|
|
586
|
+
WHERE ah.approval_level = 'escalate'
|
|
587
|
+
AND ah.decision IN ('approved', 'escalated')
|
|
588
|
+
GROUP BY s.id
|
|
589
|
+
ORDER BY hours_to_review DESC;
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
---
|
|
593
|
+
|
|
594
|
+
## Human Approval Workflow
|
|
595
|
+
|
|
596
|
+
### Step 1: Human Review Escalation Trigger
|
|
597
|
+
|
|
598
|
+
**Conditions requiring human approval:**
|
|
599
|
+
|
|
600
|
+
```sql
|
|
601
|
+
-- Query to identify skills needing human approval
|
|
602
|
+
SELECT
|
|
603
|
+
s.id,
|
|
604
|
+
s.name,
|
|
605
|
+
s.category,
|
|
606
|
+
json_extract(s.approval_criteria, '$.risk_score') as risk_score,
|
|
607
|
+
s.test_coverage,
|
|
608
|
+
json_extract(s.approval_criteria, '$.complexity_score') as complexity,
|
|
609
|
+
CASE
|
|
610
|
+
WHEN json_extract(s.approval_criteria, '$.risk_score') > 0.60 THEN 'High Risk'
|
|
611
|
+
WHEN s.test_coverage < 0.80 THEN 'Low Coverage'
|
|
612
|
+
WHEN json_extract(s.approval_criteria, '$.complexity_score') > 15 THEN 'High Complexity'
|
|
613
|
+
ELSE 'Escalated from Expert Review'
|
|
614
|
+
END as escalation_reason
|
|
615
|
+
FROM skills s
|
|
616
|
+
WHERE s.status = 'active'
|
|
617
|
+
AND (
|
|
618
|
+
json_extract(s.approval_criteria, '$.risk_score') > 0.60
|
|
619
|
+
OR s.test_coverage < 0.80
|
|
620
|
+
OR json_extract(s.approval_criteria, '$.complexity_score') > 15
|
|
621
|
+
);
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
### Step 2: Senior Expert Assignment
|
|
625
|
+
|
|
626
|
+
**Human Review Assignment (High Priority):**
|
|
627
|
+
|
|
628
|
+
```bash
|
|
629
|
+
#!/bin/bash
|
|
630
|
+
# Assign to senior experts based on criticality
|
|
631
|
+
|
|
632
|
+
skill_id=$1
|
|
633
|
+
risk_score=$(sqlite3 skills.db "SELECT json_extract(approval_criteria, '$.risk_score') FROM skills WHERE id=$skill_id")
|
|
634
|
+
category=$(sqlite3 skills.db "SELECT category FROM skills WHERE id=$skill_id")
|
|
635
|
+
|
|
636
|
+
# High-risk skills assigned to CTO
|
|
637
|
+
if [ $(echo "$risk_score > 0.70" | bc) -eq 1 ]; then
|
|
638
|
+
primary_reviewer="cto@example.com"
|
|
639
|
+
secondary_reviewer="architecture-lead@example.com"
|
|
640
|
+
board_review="YES"
|
|
641
|
+
elif [ $(echo "$risk_score > 0.60" | bc) -eq 1 ]; then
|
|
642
|
+
primary_reviewer="principal-architect@example.com"
|
|
643
|
+
secondary_reviewer="team-lead@example.com"
|
|
644
|
+
board_review="NO"
|
|
645
|
+
else
|
|
646
|
+
primary_reviewer="tech-lead@example.com"
|
|
647
|
+
secondary_reviewer="expert@example.com"
|
|
648
|
+
board_review="NO"
|
|
649
|
+
fi
|
|
650
|
+
|
|
651
|
+
echo "Primary: $primary_reviewer"
|
|
652
|
+
echo "Secondary: $secondary_reviewer"
|
|
653
|
+
echo "Board Review: $board_review"
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
**Senior Reviewer List:**
|
|
657
|
+
|
|
658
|
+
| Role | Email | Expertise | Max Reviews/Week |
|
|
659
|
+
|------|-------|-----------|------------------|
|
|
660
|
+
| CTO | cto@example.com | Overall system architecture | 3 |
|
|
661
|
+
| Principal Architect | principal-arch@example.com | Advanced system design | 5 |
|
|
662
|
+
| Security Architect | security-arch@example.com | Security & compliance | 5 |
|
|
663
|
+
| DevOps Lead | devops-lead@example.com | Infrastructure & deployment | 4 |
|
|
664
|
+
| Platform Lead | platform-lead@example.com | Foundation & core systems | 4 |
|
|
665
|
+
|
|
666
|
+
### Step 3: Comprehensive Review & Risk Assessment
|
|
667
|
+
|
|
668
|
+
**Review Process (7-14 day SLA):**
|
|
669
|
+
|
|
670
|
+
```bash
|
|
671
|
+
#!/bin/bash
|
|
672
|
+
# Senior expert conducts comprehensive review
|
|
673
|
+
|
|
674
|
+
skill_id=$1
|
|
675
|
+
reviewer="$2"
|
|
676
|
+
|
|
677
|
+
echo "=== HUMAN REVIEW PROCESS ==="
|
|
678
|
+
echo "Skill ID: $skill_id"
|
|
679
|
+
echo "Reviewer: $reviewer"
|
|
680
|
+
echo "SLA: 7 days"
|
|
681
|
+
echo ""
|
|
682
|
+
echo "Step 1: Deep Code Review"
|
|
683
|
+
echo "- Architectural alignment"
|
|
684
|
+
echo "- Design patterns validation"
|
|
685
|
+
echo "- Security implications analysis"
|
|
686
|
+
echo ""
|
|
687
|
+
echo "Step 2: Test Adequacy Assessment"
|
|
688
|
+
echo "- Critical path coverage"
|
|
689
|
+
echo "- Edge case identification"
|
|
690
|
+
echo "- Test maintainability"
|
|
691
|
+
echo ""
|
|
692
|
+
echo "Step 3: Business Impact Analysis"
|
|
693
|
+
echo "- Revenue implications"
|
|
694
|
+
echo "- Team impact"
|
|
695
|
+
echo "- Rollout risk"
|
|
696
|
+
echo ""
|
|
697
|
+
echo "Step 4: Integration Risk Assessment"
|
|
698
|
+
echo "- System interactions"
|
|
699
|
+
echo "- Deployment complexity"
|
|
700
|
+
echo "- Failure mode analysis"
|
|
701
|
+
echo ""
|
|
702
|
+
echo "Step 5: Strategic Decision"
|
|
703
|
+
echo "- Align with roadmap"
|
|
704
|
+
echo "- Resource requirements"
|
|
705
|
+
echo "- Timeline feasibility"
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
**Comprehensive Review Checklist:**
|
|
709
|
+
|
|
710
|
+
```markdown
|
|
711
|
+
## Human Approval Review Checklist
|
|
712
|
+
|
|
713
|
+
### Architectural Alignment
|
|
714
|
+
- [ ] Consistent with CFN Loop design principles
|
|
715
|
+
- [ ] Integrates cleanly with existing systems
|
|
716
|
+
- [ ] Doesn't create technical debt
|
|
717
|
+
- [ ] Future-proofs the system
|
|
718
|
+
|
|
719
|
+
### Code Quality & Maintainability
|
|
720
|
+
- [ ] Code review: architecture, patterns, conventions
|
|
721
|
+
- [ ] Documentation: clear, accurate, complete
|
|
722
|
+
- [ ] Testability: easy to modify and extend
|
|
723
|
+
- [ ] Performance: meets requirements
|
|
724
|
+
|
|
725
|
+
### Security & Compliance
|
|
726
|
+
- [ ] Security review completed
|
|
727
|
+
- [ ] No hardcoded secrets/credentials
|
|
728
|
+
- [ ] Audit trail properly maintained
|
|
729
|
+
- [ ] Compliance requirements met
|
|
730
|
+
|
|
731
|
+
### Testing & Quality Assurance
|
|
732
|
+
- [ ] Test strategy documented
|
|
733
|
+
- [ ] Critical paths have tests
|
|
734
|
+
- [ ] Edge cases identified
|
|
735
|
+
- [ ] Test coverage analysis
|
|
736
|
+
|
|
737
|
+
### Business Impact
|
|
738
|
+
- [ ] Revenue implications analyzed
|
|
739
|
+
- [ ] User impact assessment
|
|
740
|
+
- [ ] Rollout strategy defined
|
|
741
|
+
- [ ] Success metrics identified
|
|
742
|
+
|
|
743
|
+
### Operational Readiness
|
|
744
|
+
- [ ] Monitoring/alerting configured
|
|
745
|
+
- [ ] Rollback procedure documented
|
|
746
|
+
- [ ] Training plan completed
|
|
747
|
+
- [ ] Support documentation ready
|
|
748
|
+
|
|
749
|
+
### Strategic Alignment
|
|
750
|
+
- [ ] Aligns with product roadmap
|
|
751
|
+
- [ ] Resources allocated
|
|
752
|
+
- [ ] Timeline feasible
|
|
753
|
+
- [ ] Dependencies resolved
|
|
754
|
+
|
|
755
|
+
### Final Decision
|
|
756
|
+
- [ ] APPROVED (with conditions if applicable)
|
|
757
|
+
- [ ] NEEDS_CHANGES (specific feedback required)
|
|
758
|
+
- [ ] ESCALATE_TO_BOARD (strategic significance)
|
|
759
|
+
- [ ] REJECTED (with alternative recommendations)
|
|
760
|
+
```
|
|
761
|
+
|
|
762
|
+
### Step 4: Board Review (if applicable)
|
|
763
|
+
|
|
764
|
+
**Board Review Process for Strategic Changes:**
|
|
765
|
+
|
|
766
|
+
```bash
|
|
767
|
+
#!/bin/bash
|
|
768
|
+
# Escalate high-impact skills to board review
|
|
769
|
+
|
|
770
|
+
skill_id=$1
|
|
771
|
+
|
|
772
|
+
# Check if board review is required
|
|
773
|
+
board_review=$(sqlite3 skills.db "
|
|
774
|
+
SELECT json_extract(approval_criteria, '$.requires_board_review')
|
|
775
|
+
FROM skills WHERE id=$skill_id
|
|
776
|
+
")
|
|
777
|
+
|
|
778
|
+
if [ "$board_review" == "true" ]; then
|
|
779
|
+
# Schedule board review
|
|
780
|
+
echo "Board Review Required"
|
|
781
|
+
echo "Skill: $(sqlite3 skills.db "SELECT name FROM skills WHERE id=$skill_id")"
|
|
782
|
+
echo "Meeting: Next Architecture Review Board"
|
|
783
|
+
echo "Attendees: CTO, Principal Architect, Tech Leads"
|
|
784
|
+
echo "Duration: 60 minutes"
|
|
785
|
+
|
|
786
|
+
# Record board review request
|
|
787
|
+
sqlite3 skills.db << EOF
|
|
788
|
+
UPDATE skills SET
|
|
789
|
+
approval_criteria = json_set(
|
|
790
|
+
approval_criteria,
|
|
791
|
+
'$.board_review_status',
|
|
792
|
+
'scheduled'
|
|
793
|
+
)
|
|
794
|
+
WHERE id=$skill_id;
|
|
795
|
+
EOF
|
|
796
|
+
fi
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
### Step 5: Final Approval Decision
|
|
800
|
+
|
|
801
|
+
**Recording Human Approval Decision:**
|
|
802
|
+
|
|
803
|
+
```bash
|
|
804
|
+
#!/bin/bash
|
|
805
|
+
# Record final approval decision
|
|
806
|
+
|
|
807
|
+
skill_id=$1
|
|
808
|
+
reviewer="$2"
|
|
809
|
+
decision="$3" # approved | needs_changes | rejected
|
|
810
|
+
reasoning="$4"
|
|
811
|
+
|
|
812
|
+
sqlite3 skills.db << EOF
|
|
813
|
+
-- Update skills table
|
|
814
|
+
UPDATE skills
|
|
815
|
+
SET
|
|
816
|
+
approval_level = 'human',
|
|
817
|
+
last_approved_by = '$reviewer',
|
|
818
|
+
last_approval_date = datetime('now')
|
|
819
|
+
WHERE id=$skill_id;
|
|
820
|
+
|
|
821
|
+
-- Record in approval_history
|
|
822
|
+
INSERT INTO approval_history (
|
|
823
|
+
skill_id,
|
|
824
|
+
version,
|
|
825
|
+
approval_level,
|
|
826
|
+
approver,
|
|
827
|
+
decision,
|
|
828
|
+
reasoning,
|
|
829
|
+
risk_assessment,
|
|
830
|
+
approval_criteria_check,
|
|
831
|
+
timestamp,
|
|
832
|
+
review_duration_minutes
|
|
833
|
+
) VALUES (
|
|
834
|
+
$skill_id,
|
|
835
|
+
(SELECT version FROM skills WHERE id=$skill_id),
|
|
836
|
+
'human',
|
|
837
|
+
'$reviewer',
|
|
838
|
+
'$decision',
|
|
839
|
+
'$reasoning',
|
|
840
|
+
json_object(
|
|
841
|
+
'security', 'medium',
|
|
842
|
+
'complexity', 'high',
|
|
843
|
+
'maintainability', 'good',
|
|
844
|
+
'business_impact', 'moderate'
|
|
845
|
+
),
|
|
846
|
+
json_object(
|
|
847
|
+
'risk_score_check', 'passed',
|
|
848
|
+
'coverage_check', 'needs_improvement',
|
|
849
|
+
'complexity_check', 'passed',
|
|
850
|
+
'integration_check', 'passed'
|
|
851
|
+
),
|
|
852
|
+
datetime('now'),
|
|
853
|
+
(SELECT (julianday('now') - julianday(MIN(timestamp))) * 1440
|
|
854
|
+
FROM approval_history WHERE skill_id=$skill_id)
|
|
855
|
+
);
|
|
856
|
+
EOF
|
|
857
|
+
|
|
858
|
+
echo "Decision recorded: $decision"
|
|
859
|
+
echo "Reviewer: $reviewer"
|
|
860
|
+
echo "Timestamp: $(date -u +'%Y-%m-%dT%H:%M:%SZ')"
|
|
861
|
+
```
|
|
862
|
+
|
|
863
|
+
### Human Approval Performance SLA
|
|
864
|
+
|
|
865
|
+
**Target Response Time:** 3-7 days (strategic reviews may take longer)
|
|
866
|
+
|
|
867
|
+
```sql
|
|
868
|
+
-- Monitor human review response times
|
|
869
|
+
SELECT
|
|
870
|
+
s.name,
|
|
871
|
+
s.category,
|
|
872
|
+
json_extract(s.approval_criteria, '$.risk_score') as risk,
|
|
873
|
+
COUNT(ah.id) as review_attempts,
|
|
874
|
+
(julianday(MAX(ah.timestamp)) - julianday(MIN(ah.timestamp))) as days_in_review
|
|
875
|
+
FROM skills s
|
|
876
|
+
JOIN approval_history ah ON s.id = ah.skill_id
|
|
877
|
+
WHERE ah.approval_level = 'human'
|
|
878
|
+
GROUP BY s.id
|
|
879
|
+
ORDER BY days_in_review DESC;
|
|
880
|
+
```
|
|
881
|
+
|
|
882
|
+
---
|
|
883
|
+
|
|
884
|
+
## Phase 4 Integration
|
|
885
|
+
|
|
886
|
+
### Automatic Skill Generation from Patterns
|
|
887
|
+
|
|
888
|
+
**Phase 4 Workflow Codification → Dynamic Skills Database:**
|
|
889
|
+
|
|
890
|
+
```bash
|
|
891
|
+
#!/bin/bash
|
|
892
|
+
# Phase 4 generates new skills → Auto-inserted with approval routing
|
|
893
|
+
|
|
894
|
+
phase4_pattern_id=$1
|
|
895
|
+
pattern_name=$(sqlite3 skills.db "SELECT name FROM phase4_patterns WHERE id=$phase4_pattern_id")
|
|
896
|
+
|
|
897
|
+
# Generate skill from Phase 4 pattern
|
|
898
|
+
generated_skill_name="generated-${pattern_name}-$(date +%s)"
|
|
899
|
+
generated_skill_path=".claude/skills/generated/${generated_skill_name}/SKILL.md"
|
|
900
|
+
|
|
901
|
+
# Create skill content
|
|
902
|
+
echo "Skill generated from Phase 4 pattern: $pattern_name" > "$generated_skill_path"
|
|
903
|
+
|
|
904
|
+
# Insert into skills table with approval metadata
|
|
905
|
+
sqlite3 skills.db << EOF
|
|
906
|
+
INSERT INTO skills (
|
|
907
|
+
name,
|
|
908
|
+
category,
|
|
909
|
+
content_path,
|
|
910
|
+
content_hash,
|
|
911
|
+
version,
|
|
912
|
+
approval_level,
|
|
913
|
+
test_coverage,
|
|
914
|
+
phase4_pattern_id,
|
|
915
|
+
generated_by,
|
|
916
|
+
is_auto_generated
|
|
917
|
+
) VALUES (
|
|
918
|
+
'$generated_skill_name',
|
|
919
|
+
'generated',
|
|
920
|
+
'$generated_skill_path',
|
|
921
|
+
'$(sha256sum "$generated_skill_path" | awk '{print $1}')',
|
|
922
|
+
'1.0.0-generated',
|
|
923
|
+
'escalate',
|
|
924
|
+
0.0,
|
|
925
|
+
$phase4_pattern_id,
|
|
926
|
+
'phase4',
|
|
927
|
+
1
|
|
928
|
+
);
|
|
929
|
+
EOF
|
|
930
|
+
|
|
931
|
+
echo "Skill generated: $generated_skill_name"
|
|
932
|
+
```
|
|
933
|
+
|
|
934
|
+
### Edge Case Tracking & Feedback Loop
|
|
935
|
+
|
|
936
|
+
**Capturing Edge Cases During Execution:**
|
|
937
|
+
|
|
938
|
+
```bash
|
|
939
|
+
#!/bin/bash
|
|
940
|
+
# Phase 4-generated skill encounters edge case
|
|
941
|
+
|
|
942
|
+
skill_id=$1
|
|
943
|
+
edge_case_description="$2"
|
|
944
|
+
failure_reason="$3"
|
|
945
|
+
|
|
946
|
+
# Record edge case
|
|
947
|
+
sqlite3 skills.db << EOF
|
|
948
|
+
INSERT INTO edge_case_tracking (
|
|
949
|
+
skill_id,
|
|
950
|
+
edge_case_description,
|
|
951
|
+
failure_reason,
|
|
952
|
+
severity,
|
|
953
|
+
detected_at,
|
|
954
|
+
resolved
|
|
955
|
+
) VALUES (
|
|
956
|
+
$skill_id,
|
|
957
|
+
'$edge_case_description',
|
|
958
|
+
'$failure_reason',
|
|
959
|
+
'medium',
|
|
960
|
+
datetime('now'),
|
|
961
|
+
0
|
|
962
|
+
);
|
|
963
|
+
|
|
964
|
+
-- Check if edge case requires approval update
|
|
965
|
+
UPDATE skills
|
|
966
|
+
SET approval_level = 'escalate'
|
|
967
|
+
WHERE id=$skill_id
|
|
968
|
+
AND is_auto_generated = 1
|
|
969
|
+
AND (SELECT COUNT(*) FROM edge_case_tracking WHERE skill_id=$skill_id AND resolved=0) > 0;
|
|
970
|
+
EOF
|
|
971
|
+
```
|
|
972
|
+
|
|
973
|
+
### Continuous Skill Evolution
|
|
974
|
+
|
|
975
|
+
**Skill Version Updates with Edge Case Fixes:**
|
|
976
|
+
|
|
977
|
+
```sql
|
|
978
|
+
-- Query: Track skill evolution through edge case fixes
|
|
979
|
+
SELECT
|
|
980
|
+
s.name,
|
|
981
|
+
s.version,
|
|
982
|
+
COUNT(DISTINCT ect.id) as unresolved_edge_cases,
|
|
983
|
+
MAX(ect.detected_at) as last_edge_case,
|
|
984
|
+
s.test_coverage,
|
|
985
|
+
ah.decision as last_approval
|
|
986
|
+
FROM skills s
|
|
987
|
+
LEFT JOIN edge_case_tracking ect ON s.id = ect.skill_id AND ect.resolved = 0
|
|
988
|
+
LEFT JOIN approval_history ah ON s.id = ah.skill_id
|
|
989
|
+
WHERE s.is_auto_generated = 1
|
|
990
|
+
GROUP BY s.id
|
|
991
|
+
HAVING unresolved_edge_cases > 0
|
|
992
|
+
ORDER BY last_edge_case DESC;
|
|
993
|
+
```
|
|
994
|
+
|
|
995
|
+
**Skill Update Workflow:**
|
|
996
|
+
|
|
997
|
+
1. Edge case detected in Phase 4-generated skill
|
|
998
|
+
2. Edge case recorded in `edge_case_tracking` table
|
|
999
|
+
3. Skill owner reviews and develops fix
|
|
1000
|
+
4. Version incremented (e.g., 1.0.0 → 1.0.1)
|
|
1001
|
+
5. Resubmit for approval (follows standard workflow)
|
|
1002
|
+
6. Once approved, edge case marked as resolved
|
|
1003
|
+
7. Skill continues to evolve based on real usage
|
|
1004
|
+
|
|
1005
|
+
---
|
|
1006
|
+
|
|
1007
|
+
## Approval History & Audit Trail
|
|
1008
|
+
|
|
1009
|
+
### Audit Trail Structure
|
|
1010
|
+
|
|
1011
|
+
**All approval decisions are immutable and append-only:**
|
|
1012
|
+
|
|
1013
|
+
```sql
|
|
1014
|
+
-- Approval history is insert-only (never UPDATE/DELETE)
|
|
1015
|
+
SELECT
|
|
1016
|
+
id,
|
|
1017
|
+
skill_id,
|
|
1018
|
+
version,
|
|
1019
|
+
approval_level,
|
|
1020
|
+
approver,
|
|
1021
|
+
decision,
|
|
1022
|
+
reasoning,
|
|
1023
|
+
risk_assessment,
|
|
1024
|
+
test_results,
|
|
1025
|
+
timestamp
|
|
1026
|
+
FROM approval_history
|
|
1027
|
+
WHERE skill_id = 42
|
|
1028
|
+
ORDER BY timestamp ASC;
|
|
1029
|
+
```
|
|
1030
|
+
|
|
1031
|
+
### Querying Approval History
|
|
1032
|
+
|
|
1033
|
+
**Find Latest Approval Decision:**
|
|
1034
|
+
|
|
1035
|
+
```sql
|
|
1036
|
+
-- Get most recent approval decision for a skill
|
|
1037
|
+
SELECT
|
|
1038
|
+
ah.id,
|
|
1039
|
+
ah.approver,
|
|
1040
|
+
ah.decision,
|
|
1041
|
+
ah.reasoning,
|
|
1042
|
+
ah.timestamp,
|
|
1043
|
+
(julianday('now') - julianday(ah.timestamp)) as days_since_approval
|
|
1044
|
+
FROM approval_history ah
|
|
1045
|
+
WHERE ah.skill_id = 42
|
|
1046
|
+
ORDER BY ah.timestamp DESC
|
|
1047
|
+
LIMIT 1;
|
|
1048
|
+
```
|
|
1049
|
+
|
|
1050
|
+
**Approval Timeline for a Skill:**
|
|
1051
|
+
|
|
1052
|
+
```sql
|
|
1053
|
+
-- Track complete approval history
|
|
1054
|
+
SELECT
|
|
1055
|
+
ah.timestamp,
|
|
1056
|
+
ah.approval_level,
|
|
1057
|
+
ah.approver,
|
|
1058
|
+
ah.decision,
|
|
1059
|
+
ah.reasoning,
|
|
1060
|
+
(julianday(LAG(ah.timestamp) OVER (ORDER BY ah.timestamp)) -
|
|
1061
|
+
julianday(ah.timestamp)) * 24 as hours_from_previous_decision
|
|
1062
|
+
FROM approval_history ah
|
|
1063
|
+
WHERE ah.skill_id = 42
|
|
1064
|
+
ORDER BY ah.timestamp ASC;
|
|
1065
|
+
```
|
|
1066
|
+
|
|
1067
|
+
### Compliance & Retention
|
|
1068
|
+
|
|
1069
|
+
**Approval History Retention Policy:**
|
|
1070
|
+
|
|
1071
|
+
```sql
|
|
1072
|
+
-- Retain approval history for minimum 3 years (SOC2 requirement)
|
|
1073
|
+
-- Archive records older than 7 years (cost optimization)
|
|
1074
|
+
|
|
1075
|
+
-- Active records: 0-7 years
|
|
1076
|
+
SELECT COUNT(*) as active_records
|
|
1077
|
+
FROM approval_history
|
|
1078
|
+
WHERE julianday('now') - julianday(timestamp) < (365 * 7);
|
|
1079
|
+
|
|
1080
|
+
-- Archive records: 7+ years
|
|
1081
|
+
SELECT COUNT(*) as archived_records
|
|
1082
|
+
FROM approval_history
|
|
1083
|
+
WHERE julianday('now') - julianday(timestamp) >= (365 * 7);
|
|
1084
|
+
```
|
|
1085
|
+
|
|
1086
|
+
**Export Approval Audit Trail:**
|
|
1087
|
+
|
|
1088
|
+
```bash
|
|
1089
|
+
#!/bin/bash
|
|
1090
|
+
# Export approval history for compliance audit
|
|
1091
|
+
|
|
1092
|
+
start_date="$1" # YYYY-MM-DD
|
|
1093
|
+
end_date="$2" # YYYY-MM-DD
|
|
1094
|
+
|
|
1095
|
+
sqlite3 skills.db << EOF | csv2json > approval_audit_export.json
|
|
1096
|
+
SELECT
|
|
1097
|
+
ah.id,
|
|
1098
|
+
s.name as skill_name,
|
|
1099
|
+
ah.version,
|
|
1100
|
+
ah.approval_level,
|
|
1101
|
+
ah.approver,
|
|
1102
|
+
ah.decision,
|
|
1103
|
+
ah.reasoning,
|
|
1104
|
+
ah.timestamp
|
|
1105
|
+
FROM approval_history ah
|
|
1106
|
+
JOIN skills s ON ah.skill_id = s.id
|
|
1107
|
+
WHERE DATE(ah.timestamp) BETWEEN '$start_date' AND '$end_date'
|
|
1108
|
+
ORDER BY ah.timestamp DESC;
|
|
1109
|
+
EOF
|
|
1110
|
+
|
|
1111
|
+
echo "Exported: approval_audit_export.json"
|
|
1112
|
+
```
|
|
1113
|
+
|
|
1114
|
+
---
|
|
1115
|
+
|
|
1116
|
+
## Expert Notification Templates
|
|
1117
|
+
|
|
1118
|
+
### Template 1: Escalation Request (Email)
|
|
1119
|
+
|
|
1120
|
+
```text
|
|
1121
|
+
Subject: [Skills DB] Escalation Review Required - {SKILL_NAME} v{VERSION}
|
|
1122
|
+
|
|
1123
|
+
To: {EXPERT_EMAIL}
|
|
1124
|
+
CC: skills-admins@example.com
|
|
1125
|
+
Priority: High
|
|
1126
|
+
|
|
1127
|
+
---
|
|
1128
|
+
|
|
1129
|
+
Escalation Review Request
|
|
1130
|
+
|
|
1131
|
+
Skill: {SKILL_NAME}
|
|
1132
|
+
Category: {CATEGORY}
|
|
1133
|
+
Version: {VERSION}
|
|
1134
|
+
Submitted: {SUBMISSION_DATE}
|
|
1135
|
+
Review SLA: 24-48 hours
|
|
1136
|
+
Deadline: {DEADLINE_DATE}
|
|
1137
|
+
|
|
1138
|
+
Escalation Reason:
|
|
1139
|
+
{PRIMARY_TRIGGER}
|
|
1140
|
+
|
|
1141
|
+
Risk Assessment:
|
|
1142
|
+
- Risk Score: {RISK_SCORE}/1.0
|
|
1143
|
+
- Test Coverage: {COVERAGE}%
|
|
1144
|
+
- Complexity: {COMPLEXITY_LEVEL} (Score: {COMPLEXITY_SCORE})
|
|
1145
|
+
- External Dependencies: {DEP_COUNT}
|
|
1146
|
+
|
|
1147
|
+
Triggering Criteria:
|
|
1148
|
+
{CRITERIA_MET}
|
|
1149
|
+
|
|
1150
|
+
Skill Overview:
|
|
1151
|
+
{BRIEF_DESCRIPTION}
|
|
1152
|
+
|
|
1153
|
+
Database Records:
|
|
1154
|
+
Skill ID: {SKILL_ID}
|
|
1155
|
+
Content Path: {CONTENT_PATH}
|
|
1156
|
+
Test Suite: {TEST_SUITE_PATH}
|
|
1157
|
+
|
|
1158
|
+
How to Review:
|
|
1159
|
+
1. Access database: sqlite3 skills.db
|
|
1160
|
+
2. Review skill metadata: SELECT * FROM skills WHERE id={SKILL_ID}
|
|
1161
|
+
3. Review approval criteria: SELECT approval_criteria FROM skills WHERE id={SKILL_ID}
|
|
1162
|
+
4. Review test results: {TEST_SUITE_PATH}
|
|
1163
|
+
|
|
1164
|
+
Decision Instructions:
|
|
1165
|
+
Use the approval_update.sh script to record your decision:
|
|
1166
|
+
./approval_update.sh {SKILL_ID} {EXPERT_EMAIL} [approved|escalated|rejected] "Your reasoning"
|
|
1167
|
+
|
|
1168
|
+
Examples:
|
|
1169
|
+
./approval_update.sh {SKILL_ID} {EXPERT_EMAIL} approved "All criteria met, excellent test coverage"
|
|
1170
|
+
./approval_update.sh {SKILL_ID} {EXPERT_EMAIL} escalated "Escalate to human review due to security implications"
|
|
1171
|
+
./approval_update.sh {SKILL_ID} {EXPERT_EMAIL} rejected "Lacks proper error handling"
|
|
1172
|
+
|
|
1173
|
+
Questions?
|
|
1174
|
+
Reply to this email or contact skills-admins@example.com
|
|
1175
|
+
|
|
1176
|
+
---
|
|
1177
|
+
Skills Database Workflow System
|
|
1178
|
+
```
|
|
1179
|
+
|
|
1180
|
+
### Template 2: Human Approval Request (Email)
|
|
1181
|
+
|
|
1182
|
+
```text
|
|
1183
|
+
Subject: [Skills DB] URGENT: Human Approval Required - {SKILL_NAME}
|
|
1184
|
+
|
|
1185
|
+
To: {CTO_EMAIL}, {PRINCIPAL_ARCHITECT_EMAIL}
|
|
1186
|
+
CC: architecture-board@example.com
|
|
1187
|
+
Priority: Urgent
|
|
1188
|
+
|
|
1189
|
+
---
|
|
1190
|
+
|
|
1191
|
+
Human Approval Request - High Risk Skill
|
|
1192
|
+
|
|
1193
|
+
Skill: {SKILL_NAME}
|
|
1194
|
+
Category: {CATEGORY}
|
|
1195
|
+
Version: {VERSION}
|
|
1196
|
+
Risk Score: {RISK_SCORE}/1.0 (>0.60 = HIGH RISK)
|
|
1197
|
+
SLA: {SLA_DAYS} days (Deadline: {DEADLINE_DATE})
|
|
1198
|
+
|
|
1199
|
+
Escalation Reason:
|
|
1200
|
+
{ESCALATION_REASON}
|
|
1201
|
+
|
|
1202
|
+
Why This Requires Human Decision:
|
|
1203
|
+
{HUMAN_APPROVAL_RATIONALE}
|
|
1204
|
+
|
|
1205
|
+
Risk Assessment Summary:
|
|
1206
|
+
- Security Impact: {SECURITY_IMPACT}
|
|
1207
|
+
- Complexity: {COMPLEXITY_LEVEL} (Score: {COMPLEXITY_SCORE})
|
|
1208
|
+
- Test Coverage: {COVERAGE}%
|
|
1209
|
+
- Business Criticality: {BUSINESS_IMPACT}
|
|
1210
|
+
- Integration Risk: {INTEGRATION_RISK}
|
|
1211
|
+
|
|
1212
|
+
Strategic Implications:
|
|
1213
|
+
{STRATEGIC_ANALYSIS}
|
|
1214
|
+
|
|
1215
|
+
Approval History:
|
|
1216
|
+
{PREVIOUS_DECISIONS}
|
|
1217
|
+
|
|
1218
|
+
Board Review Required: {BOARD_REVIEW_NEEDED}
|
|
1219
|
+
If yes, schedule with Architecture Review Board
|
|
1220
|
+
|
|
1221
|
+
Database Access:
|
|
1222
|
+
Skill ID: {SKILL_ID}
|
|
1223
|
+
SELECT * FROM skills WHERE id={SKILL_ID};
|
|
1224
|
+
SELECT * FROM approval_history WHERE skill_id={SKILL_ID};
|
|
1225
|
+
|
|
1226
|
+
Review Checklist:
|
|
1227
|
+
- [ ] Code review completed
|
|
1228
|
+
- [ ] Security implications analyzed
|
|
1229
|
+
- [ ] Business impact understood
|
|
1230
|
+
- [ ] Resource requirements assessed
|
|
1231
|
+
- [ ] Risk mitigation strategies identified
|
|
1232
|
+
- [ ] Integration plan validated
|
|
1233
|
+
|
|
1234
|
+
Decision Submission:
|
|
1235
|
+
./human_approval.sh {SKILL_ID} "{YOUR_DECISION}" "Your detailed reasoning"
|
|
1236
|
+
|
|
1237
|
+
Contact:
|
|
1238
|
+
skills-admins@example.com (any questions)
|
|
1239
|
+
|
|
1240
|
+
---
|
|
1241
|
+
Skills Database Workflow System
|
|
1242
|
+
```
|
|
1243
|
+
|
|
1244
|
+
### Template 3: Approval Decision Notification (Email)
|
|
1245
|
+
|
|
1246
|
+
```text
|
|
1247
|
+
Subject: [Skills DB] Approval Decision - {SKILL_NAME} [{DECISION}]
|
|
1248
|
+
|
|
1249
|
+
To: {SKILL_OWNER_EMAIL}
|
|
1250
|
+
CC: {TEAM_LEAD_EMAIL}, skills-admins@example.com
|
|
1251
|
+
|
|
1252
|
+
---
|
|
1253
|
+
|
|
1254
|
+
Approval Decision Notification
|
|
1255
|
+
|
|
1256
|
+
Skill: {SKILL_NAME}
|
|
1257
|
+
Version: {VERSION}
|
|
1258
|
+
Decision: {DECISION}
|
|
1259
|
+
Approved By: {APPROVER_NAME}
|
|
1260
|
+
Approval Level: {LEVEL}
|
|
1261
|
+
Timestamp: {DECISION_TIMESTAMP}
|
|
1262
|
+
|
|
1263
|
+
{DECISION_OUTCOME}
|
|
1264
|
+
|
|
1265
|
+
Approval Reasoning:
|
|
1266
|
+
{APPROVER_REASONING}
|
|
1267
|
+
|
|
1268
|
+
{IF_APPROVED}
|
|
1269
|
+
✓ Your skill is now APPROVED and ready for deployment.
|
|
1270
|
+
Status: Ready for agent loading
|
|
1271
|
+
Next Steps:
|
|
1272
|
+
1. Deploy to production (if needed)
|
|
1273
|
+
2. Update team documentation
|
|
1274
|
+
3. Monitor initial execution for any issues
|
|
1275
|
+
|
|
1276
|
+
{IF_REJECTED}
|
|
1277
|
+
✗ Your skill was REJECTED.
|
|
1278
|
+
Feedback:
|
|
1279
|
+
{FEEDBACK}
|
|
1280
|
+
|
|
1281
|
+
Next Steps:
|
|
1282
|
+
1. Review feedback carefully
|
|
1283
|
+
2. Address concerns
|
|
1284
|
+
3. Update skill and resubmit
|
|
1285
|
+
4. Contact {APPROVER_NAME} if you have questions
|
|
1286
|
+
|
|
1287
|
+
{IF_NEEDS_CHANGES}
|
|
1288
|
+
⚠ Your skill needs corrections before approval.
|
|
1289
|
+
Required Changes:
|
|
1290
|
+
{REQUIRED_CHANGES}
|
|
1291
|
+
|
|
1292
|
+
Next Steps:
|
|
1293
|
+
1. Address each feedback item
|
|
1294
|
+
2. Update tests if coverage is < 95%
|
|
1295
|
+
3. Resubmit for review (expected SLA: 5 business days)
|
|
1296
|
+
4. Reference this email in your resubmission
|
|
1297
|
+
|
|
1298
|
+
Approval History:
|
|
1299
|
+
Created: {CREATION_TIMESTAMP}
|
|
1300
|
+
Last Review: {LAST_REVIEW_TIMESTAMP}
|
|
1301
|
+
Total Review Time: {TOTAL_REVIEW_TIME}
|
|
1302
|
+
|
|
1303
|
+
Questions?
|
|
1304
|
+
Contact {APPROVER_NAME} or skills-admins@example.com
|
|
1305
|
+
|
|
1306
|
+
---
|
|
1307
|
+
Skills Database Workflow System
|
|
1308
|
+
```
|
|
1309
|
+
|
|
1310
|
+
### Template 4: Slack Notification (Auto-Approval)
|
|
1311
|
+
|
|
1312
|
+
```text
|
|
1313
|
+
:white_check_mark: **Skill Auto-Approved**
|
|
1314
|
+
|
|
1315
|
+
Skill: {SKILL_NAME}
|
|
1316
|
+
Version: {VERSION}
|
|
1317
|
+
Category: {CATEGORY}
|
|
1318
|
+
Risk Score: {RISK_SCORE}
|
|
1319
|
+
Coverage: {COVERAGE}%
|
|
1320
|
+
|
|
1321
|
+
Status: Ready for deployment
|
|
1322
|
+
Time to Approval: {APPROVAL_TIME}
|
|
1323
|
+
|
|
1324
|
+
Approver: system
|
|
1325
|
+
Database ID: {SKILL_ID}
|
|
1326
|
+
```
|
|
1327
|
+
|
|
1328
|
+
### Template 5: Slack Notification (Escalation)
|
|
1329
|
+
|
|
1330
|
+
```text
|
|
1331
|
+
:warning: **Escalation Review in Progress**
|
|
1332
|
+
|
|
1333
|
+
Skill: {SKILL_NAME}
|
|
1334
|
+
Version: {VERSION}
|
|
1335
|
+
Escalated To: {EXPERT_NAME}
|
|
1336
|
+
Category: {CATEGORY}
|
|
1337
|
+
|
|
1338
|
+
Escalation Reason: {PRIMARY_TRIGGER}
|
|
1339
|
+
Review SLA: {SLA_HOURS} hours
|
|
1340
|
+
Expected Deadline: {DEADLINE_TIME}
|
|
1341
|
+
|
|
1342
|
+
Database ID: {SKILL_ID}
|
|
1343
|
+
Status Dashboard: {DASHBOARD_URL}
|
|
1344
|
+
```
|
|
1345
|
+
|
|
1346
|
+
---
|
|
1347
|
+
|
|
1348
|
+
## Workflow Execution Guide
|
|
1349
|
+
|
|
1350
|
+
### Quick Start: Processing New Skill Submission
|
|
1351
|
+
|
|
1352
|
+
**Step 1: Submit Skill (PR or Direct Database)**
|
|
1353
|
+
|
|
1354
|
+
```bash
|
|
1355
|
+
# Via pull request
|
|
1356
|
+
git checkout -b feature/new-coordination-skill
|
|
1357
|
+
# ... create skill files ...
|
|
1358
|
+
git commit -m "feat: Add new coordination skill"
|
|
1359
|
+
git push origin feature/new-coordination-skill
|
|
1360
|
+
# Create PR with approval metadata in description
|
|
1361
|
+
|
|
1362
|
+
# Via direct database insertion
|
|
1363
|
+
sqlite3 skills.db << EOF
|
|
1364
|
+
INSERT INTO skills (
|
|
1365
|
+
name, category, content_path, content_hash,
|
|
1366
|
+
version, approval_level, test_coverage,
|
|
1367
|
+
owner, tags
|
|
1368
|
+
) VALUES (
|
|
1369
|
+
'new-skill-name',
|
|
1370
|
+
'coordination',
|
|
1371
|
+
'.claude/skills/new-skill/SKILL.md',
|
|
1372
|
+
'$(sha256sum new-skill-path | awk '{print $1}')',
|
|
1373
|
+
'1.0.0',
|
|
1374
|
+
'escalate',
|
|
1375
|
+
0.88,
|
|
1376
|
+
'owner@example.com',
|
|
1377
|
+
'["redis", "async"]'
|
|
1378
|
+
);
|
|
1379
|
+
EOF
|
|
1380
|
+
```
|
|
1381
|
+
|
|
1382
|
+
**Step 2: Automatic Risk Assessment**
|
|
1383
|
+
|
|
1384
|
+
```bash
|
|
1385
|
+
# Risk assessment runs automatically
|
|
1386
|
+
./scripts/assess-skill-risk.sh {skill_id}
|
|
1387
|
+
|
|
1388
|
+
# Output:
|
|
1389
|
+
# Risk Score: 0.42
|
|
1390
|
+
# Coverage: 88%
|
|
1391
|
+
# Complexity: 7
|
|
1392
|
+
# Recommendation: ESCALATE
|
|
1393
|
+
```
|
|
1394
|
+
|
|
1395
|
+
**Step 3: Route to Approval Level**
|
|
1396
|
+
|
|
1397
|
+
```bash
|
|
1398
|
+
# Automatic routing
|
|
1399
|
+
case "$recommendation" in
|
|
1400
|
+
"AUTO")
|
|
1401
|
+
./workflows/auto-approval.sh {skill_id}
|
|
1402
|
+
;;
|
|
1403
|
+
"ESCALATE")
|
|
1404
|
+
./workflows/escalation-review.sh {skill_id}
|
|
1405
|
+
;;
|
|
1406
|
+
"HUMAN")
|
|
1407
|
+
./workflows/human-approval.sh {skill_id}
|
|
1408
|
+
;;
|
|
1409
|
+
esac
|
|
1410
|
+
```
|
|
1411
|
+
|
|
1412
|
+
**Step 4: Monitor Progress**
|
|
1413
|
+
|
|
1414
|
+
```bash
|
|
1415
|
+
# Check approval status
|
|
1416
|
+
sqlite3 skills.db << EOF
|
|
1417
|
+
SELECT
|
|
1418
|
+
s.name,
|
|
1419
|
+
s.approval_level,
|
|
1420
|
+
ah.decision,
|
|
1421
|
+
ah.approver,
|
|
1422
|
+
ah.timestamp
|
|
1423
|
+
FROM skills s
|
|
1424
|
+
LEFT JOIN approval_history ah ON s.id = ah.skill_id
|
|
1425
|
+
WHERE s.id = {skill_id}
|
|
1426
|
+
ORDER BY ah.timestamp DESC;
|
|
1427
|
+
EOF
|
|
1428
|
+
```
|
|
1429
|
+
|
|
1430
|
+
### Performance Monitoring Dashboard
|
|
1431
|
+
|
|
1432
|
+
```sql
|
|
1433
|
+
-- Overall approval metrics
|
|
1434
|
+
SELECT
|
|
1435
|
+
approval_level,
|
|
1436
|
+
COUNT(*) as total_skills,
|
|
1437
|
+
AVG(test_coverage) as avg_coverage,
|
|
1438
|
+
COUNT(DISTINCT approver) as reviewer_count,
|
|
1439
|
+
AVG(julianday('now') - julianday(last_approval_date)) as avg_days_since_approval
|
|
1440
|
+
FROM skills
|
|
1441
|
+
WHERE status = 'active'
|
|
1442
|
+
GROUP BY approval_level;
|
|
1443
|
+
|
|
1444
|
+
-- Expert workload
|
|
1445
|
+
SELECT
|
|
1446
|
+
approver,
|
|
1447
|
+
COUNT(*) as skills_reviewed,
|
|
1448
|
+
AVG(review_duration_minutes) as avg_review_time,
|
|
1449
|
+
COUNT(CASE WHEN decision='approved' THEN 1 END) as approved,
|
|
1450
|
+
COUNT(CASE WHEN decision='rejected' THEN 1 END) as rejected
|
|
1451
|
+
FROM approval_history
|
|
1452
|
+
WHERE timestamp > datetime('now', '-30 days')
|
|
1453
|
+
GROUP BY approver
|
|
1454
|
+
ORDER BY skills_reviewed DESC;
|
|
1455
|
+
|
|
1456
|
+
-- SLA compliance
|
|
1457
|
+
SELECT
|
|
1458
|
+
approval_level,
|
|
1459
|
+
COUNT(CASE WHEN (julianday('now') - julianday(timestamp)) <= sla_days THEN 1 END) as on_time,
|
|
1460
|
+
COUNT(CASE WHEN (julianday('now') - julianday(timestamp)) > sla_days THEN 1 END) as overdue,
|
|
1461
|
+
ROUND(100.0 * COUNT(CASE WHEN (julianday('now') - julianday(timestamp)) <= sla_days THEN 1 END) / COUNT(*), 2) as sla_pct
|
|
1462
|
+
FROM approval_history
|
|
1463
|
+
WHERE timestamp > datetime('now', '-90 days')
|
|
1464
|
+
GROUP BY approval_level;
|
|
1465
|
+
```
|
|
1466
|
+
|
|
1467
|
+
---
|
|
1468
|
+
|
|
1469
|
+
## Summary
|
|
1470
|
+
|
|
1471
|
+
The three-tier approval workflow provides:
|
|
1472
|
+
|
|
1473
|
+
1. **Efficiency:** 80%+ auto-approval in < 35 seconds per skill
|
|
1474
|
+
2. **Quality:** Expert review for medium/high-risk skills
|
|
1475
|
+
3. **Scalability:** Process hundreds of skills monthly
|
|
1476
|
+
4. **Compliance:** Complete immutable audit trail
|
|
1477
|
+
5. **Flexibility:** Category-specific routing and expert assignment
|
|
1478
|
+
6. **Continuous Improvement:** Edge case feedback loop from Phase 4
|
|
1479
|
+
7. **Clear SLAs:** Defined review timelines and escalation paths
|
|
1480
|
+
8. **Transparency:** Real-time status tracking and notifications
|
|
1481
|
+
|
|
1482
|
+
Use these workflows to ensure consistent, high-quality skill approvals that balance innovation with governance.
|