@diottodev/runic 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai-research/.claude-plugin/plugin.json +16 -0
- package/ai-research/CLAUDE.md +17 -0
- package/ai-research/benchmark-analyzer/SKILL.md +106 -0
- package/ai-research/model-eval/SKILL.md +146 -0
- package/ai-security/.claude-plugin/plugin.json +15 -0
- package/ai-security/CLAUDE.md +16 -0
- package/ai-security/prompt-injection/SKILL.md +169 -0
- package/business/business-growth-skills/SKILL.md +56 -0
- package/business/business-operations-skills/SKILL.md +144 -0
- package/business/capacity-planner/SKILL.md +252 -0
- package/business/contract-and-proposal-writer/SKILL.md +423 -0
- package/business/customer-success-manager/SKILL.md +215 -0
- package/business/internal-comms/SKILL.md +125 -0
- package/business/knowledge-ops/SKILL.md +120 -0
- package/business/process-mapper/SKILL.md +102 -0
- package/business/procurement-optimizer/SKILL.md +167 -0
- package/business/revenue-operations/SKILL.md +273 -0
- package/business/sales-engineer/SKILL.md +225 -0
- package/business/vendor-management/SKILL.md +170 -0
- package/c-level/agent-protocol/SKILL.md +418 -0
- package/c-level/board-deck-builder/SKILL.md +183 -0
- package/c-level/board-meeting/SKILL.md +146 -0
- package/c-level/board-prep/SKILL.md +156 -0
- package/c-level/boardroom/SKILL.md +134 -0
- package/c-level/brief/SKILL.md +113 -0
- package/c-level/c-level-agents/SKILL.md +115 -0
- package/c-level/c-level-skills/SKILL.md +153 -0
- package/c-level/caio-review/SKILL.md +140 -0
- package/c-level/cco-review/SKILL.md +130 -0
- package/c-level/cdo-review/SKILL.md +126 -0
- package/c-level/ceo-advisor/SKILL.md +169 -0
- package/c-level/cfo-advisor/SKILL.md +140 -0
- package/c-level/cfo-review/SKILL.md +105 -0
- package/c-level/challenge/SKILL.md +181 -0
- package/c-level/change-management/SKILL.md +253 -0
- package/c-level/chief-ai-officer-advisor/SKILL.md +236 -0
- package/c-level/chief-customer-officer-advisor/SKILL.md +210 -0
- package/c-level/chief-data-officer-advisor/SKILL.md +205 -0
- package/c-level/chief-of-staff/SKILL.md +179 -0
- package/c-level/chro-advisor/SKILL.md +144 -0
- package/c-level/ciso-advisor/SKILL.md +135 -0
- package/c-level/ciso-review/SKILL.md +113 -0
- package/c-level/cmo-advisor/SKILL.md +169 -0
- package/c-level/cmo-review/SKILL.md +101 -0
- package/c-level/company-os/SKILL.md +236 -0
- package/c-level/competitive-intel/SKILL.md +203 -0
- package/c-level/context-engine/SKILL.md +134 -0
- package/c-level/coo-advisor/SKILL.md +137 -0
- package/c-level/cpo-advisor/SKILL.md +200 -0
- package/c-level/cpo-review/SKILL.md +110 -0
- package/c-level/cro-advisor/SKILL.md +183 -0
- package/c-level/cro-review/SKILL.md +110 -0
- package/c-level/cross-eval/SKILL.md +115 -0
- package/c-level/cs-onboard/SKILL.md +108 -0
- package/c-level/cto-advisor/SKILL.md +257 -0
- package/c-level/cto-review/SKILL.md +117 -0
- package/c-level/culture-architect/SKILL.md +167 -0
- package/c-level/decide/SKILL.md +104 -0
- package/c-level/decision-logger/SKILL.md +149 -0
- package/c-level/execute/SKILL.md +99 -0
- package/c-level/executive-mentor/SKILL.md +142 -0
- package/c-level/founder-coach/SKILL.md +300 -0
- package/c-level/founder-mode/SKILL.md +101 -0
- package/c-level/freeze/SKILL.md +101 -0
- package/c-level/gc-review/SKILL.md +132 -0
- package/c-level/general-counsel-advisor/SKILL.md +161 -0
- package/c-level/hard-call/SKILL.md +157 -0
- package/c-level/internal-narrative/SKILL.md +197 -0
- package/c-level/intl-expansion/SKILL.md +105 -0
- package/c-level/ma-playbook/SKILL.md +98 -0
- package/c-level/office-hours/SKILL.md +114 -0
- package/c-level/onboard/SKILL.md +124 -0
- package/c-level/org-health-diagnostic/SKILL.md +185 -0
- package/c-level/post-mortem/SKILL.md +115 -0
- package/c-level/postmortem/SKILL.md +193 -0
- package/c-level/scenario-war-room/SKILL.md +224 -0
- package/c-level/strategic-alignment/SKILL.md +194 -0
- package/c-level/stress-test/SKILL.md +204 -0
- package/c-level/vpe-advisor/SKILL.md +230 -0
- package/c-level/vpe-review/SKILL.md +129 -0
- package/commercial/channel-economics/SKILL.md +149 -0
- package/commercial/commercial-forecaster/SKILL.md +151 -0
- package/commercial/commercial-policy/SKILL.md +150 -0
- package/commercial/commercial-skills/SKILL.md +145 -0
- package/commercial/deal-desk/SKILL.md +138 -0
- package/commercial/partnerships-architect/SKILL.md +202 -0
- package/commercial/pricing-strategist/SKILL.md +130 -0
- package/commercial/rfp-responder/SKILL.md +154 -0
- package/compliance/ai-act-readiness/SKILL.md +149 -0
- package/compliance/aims-audit/SKILL.md +132 -0
- package/compliance/capa-officer/SKILL.md +434 -0
- package/compliance/compliance-os/SKILL.md +211 -0
- package/compliance/compliance-readiness/SKILL.md +136 -0
- package/compliance/eu-ai-act-specialist/SKILL.md +204 -0
- package/compliance/fda-consultant-specialist/SKILL.md +307 -0
- package/compliance/fda-qsr-audit-prep/SKILL.md +156 -0
- package/compliance/gdpr-audit-prep/SKILL.md +165 -0
- package/compliance/gdpr-dsgvo-expert/SKILL.md +266 -0
- package/compliance/information-security-manager-iso27001/SKILL.md +419 -0
- package/compliance/isms-audit-expert/SKILL.md +234 -0
- package/compliance/iso13485-audit-prep/SKILL.md +157 -0
- package/compliance/iso27001-audit-prep/SKILL.md +138 -0
- package/compliance/iso42001-specialist/SKILL.md +195 -0
- package/compliance/mdr-745-specialist/SKILL.md +335 -0
- package/compliance/qms-audit-expert/SKILL.md +323 -0
- package/compliance/quality-documentation-manager/SKILL.md +437 -0
- package/compliance/quality-manager-qmr/SKILL.md +488 -0
- package/compliance/quality-manager-qms-iso13485/SKILL.md +435 -0
- package/compliance/ra-qm-skills/SKILL.md +66 -0
- package/compliance/regulatory-affairs-head/SKILL.md +481 -0
- package/compliance/risk-management-specialist/SKILL.md +451 -0
- package/compliance/soc2-audit-prep/SKILL.md +152 -0
- package/compliance/soc2-compliance/SKILL.md +417 -0
- package/content/design-system/SKILL.md +156 -0
- package/content/markdown-html-orchestrator/SKILL.md +152 -0
- package/content/md-document/SKILL.md +105 -0
- package/content/md-review/SKILL.md +97 -0
- package/content/md-slides/SKILL.md +102 -0
- package/dist/index.js +62 -2
- package/engineering/.claude-plugin/plugin.json +24 -0
- package/engineering/CLAUDE.md +28 -0
- package/engineering/agent-designer/SKILL.md +159 -0
- package/engineering/agenthub/.claude-plugin/plugin.json +15 -0
- package/engineering/agenthub/CLAUDE.md +59 -0
- package/engineering/agenthub/README.md +268 -0
- package/engineering/agenthub/agents/hub-coordinator.md +99 -0
- package/engineering/agenthub/settings.json +24 -0
- package/engineering/agenthub/skills/agenthub/SKILL.md +257 -0
- package/engineering/agenthub/skills/agenthub/references/agent-templates.md +187 -0
- package/engineering/agenthub/skills/agenthub/references/coordination-strategies.md +186 -0
- package/engineering/agenthub/skills/agenthub/references/dag-patterns.md +149 -0
- package/engineering/agenthub/skills/agenthub/scripts/board_manager.py +266 -0
- package/engineering/agenthub/skills/agenthub/scripts/dag_analyzer.py +275 -0
- package/engineering/agenthub/skills/agenthub/scripts/dry_run.py +318 -0
- package/engineering/agenthub/skills/agenthub/scripts/hub_init.py +253 -0
- package/engineering/agenthub/skills/agenthub/scripts/result_ranker.py +315 -0
- package/engineering/agenthub/skills/agenthub/scripts/session_manager.py +302 -0
- package/engineering/agenthub/skills/board/SKILL.md +106 -0
- package/engineering/agenthub/skills/eval/SKILL.md +80 -0
- package/engineering/agenthub/skills/init/SKILL.md +89 -0
- package/engineering/agenthub/skills/merge/SKILL.md +94 -0
- package/engineering/agenthub/skills/run/SKILL.md +110 -0
- package/engineering/agenthub/skills/spawn/SKILL.md +83 -0
- package/engineering/agenthub/skills/status/SKILL.md +78 -0
- package/engineering/autoresearch-agent/.claude-plugin/plugin.json +15 -0
- package/engineering/autoresearch-agent/CLAUDE.md +66 -0
- package/engineering/autoresearch-agent/agents/experiment-runner.md +87 -0
- package/engineering/autoresearch-agent/evaluators/benchmark_size.py +60 -0
- package/engineering/autoresearch-agent/evaluators/benchmark_speed.py +40 -0
- package/engineering/autoresearch-agent/evaluators/build_speed.py +39 -0
- package/engineering/autoresearch-agent/evaluators/llm_judge_content.py +77 -0
- package/engineering/autoresearch-agent/evaluators/llm_judge_copy.py +113 -0
- package/engineering/autoresearch-agent/evaluators/llm_judge_prompt.py +108 -0
- package/engineering/autoresearch-agent/evaluators/memory_usage.py +53 -0
- package/engineering/autoresearch-agent/evaluators/test_pass_rate.py +55 -0
- package/engineering/autoresearch-agent/settings.json +22 -0
- package/engineering/autoresearch-agent/skills/autoresearch-agent/SKILL.md +308 -0
- package/engineering/autoresearch-agent/skills/autoresearch-agent/references/experiment-domains.md +255 -0
- package/engineering/autoresearch-agent/skills/autoresearch-agent/references/program-template.md +170 -0
- package/engineering/autoresearch-agent/skills/autoresearch-agent/scripts/log_results.py +393 -0
- package/engineering/autoresearch-agent/skills/autoresearch-agent/scripts/run_experiment.py +280 -0
- package/engineering/autoresearch-agent/skills/autoresearch-agent/scripts/setup_experiment.py +383 -0
- package/engineering/autoresearch-agent/skills/loop/SKILL.md +122 -0
- package/engineering/autoresearch-agent/skills/resume/SKILL.md +77 -0
- package/engineering/autoresearch-agent/skills/run/SKILL.md +84 -0
- package/engineering/autoresearch-agent/skills/setup/SKILL.md +77 -0
- package/engineering/autoresearch-agent/skills/status/SKILL.md +71 -0
- package/engineering/behuman/.claude-plugin/plugin.json +15 -0
- package/engineering/behuman/evals.json +42 -0
- package/engineering/behuman/skills/behuman/SKILL.md +193 -0
- package/engineering/behuman/skills/behuman/references/api-integration.md +100 -0
- package/engineering/caveman/.claude-plugin/plugin.json +21 -0
- package/engineering/caveman/README.md +35 -0
- package/engineering/caveman/agents/cs-caveman-mode.md +121 -0
- package/engineering/caveman/commands/cs-caveman.md +68 -0
- package/engineering/caveman/skills/caveman/SKILL.md +69 -0
- package/engineering/caveman/skills/caveman/references/companion_tooling.md +66 -0
- package/engineering/caveman/skills/caveman/references/compression_principles.md +112 -0
- package/engineering/caveman/skills/caveman/references/when_caveman_backfires.md +155 -0
- package/engineering/caveman/skills/caveman/scripts/caveman_compressor.py +248 -0
- package/engineering/caveman/skills/caveman/scripts/caveman_lint.py +191 -0
- package/engineering/caveman/skills/caveman/scripts/token_savings_estimator.py +137 -0
- package/engineering/chaos-engineering/.claude-plugin/plugin.json +15 -0
- package/engineering/chaos-engineering/README.md +107 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/SKILL.md +231 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/assets/experiment_template.md +76 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/assets/postmortem_template.md +67 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/references/attack_taxonomy.md +180 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/references/chaos_principles.md +136 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/references/experiment_design.md +158 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/references/tooling_landscape.md +197 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/scripts/blast_radius_calculator.py +101 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/scripts/experiment_designer.py +139 -0
- package/engineering/chaos-engineering/skills/chaos-engineering/scripts/experiment_postmortem.py +144 -0
- package/engineering/claude-coach/.claude-plugin/plugin.json +15 -0
- package/engineering/claude-coach/README.md +39 -0
- package/engineering/claude-coach/agents/cs-claude-coach.md +50 -0
- package/engineering/claude-coach/commands/cs-claude-coach.md +32 -0
- package/engineering/claude-coach/skills/claude-coach/README.md +14 -0
- package/engineering/claude-coach/skills/claude-coach/SKILL.md +205 -0
- package/engineering/claude-coach/skills/claude-coach/references/cheat-codes.md +105 -0
- package/engineering/claude-coach/skills/claude-coach/references/coaching-rules.md +44 -0
- package/engineering/claude-coach/skills/claude-coach/scripts/cheat_code_filter.py +163 -0
- package/engineering/claude-coach/skills/claude-coach/scripts/coach_tip_classifier.py +205 -0
- package/engineering/claude-coach/skills/claude-coach/scripts/prompt_rater.py +176 -0
- package/engineering/code-review/SKILL.md +116 -0
- package/engineering/code-tour/.claude-plugin/plugin.json +15 -0
- package/engineering/code-tour/evals.json +32 -0
- package/engineering/code-tour/skills/code-tour/SKILL.md +140 -0
- package/engineering/data-quality-auditor/.claude-plugin/plugin.json +15 -0
- package/engineering/data-quality-auditor/skills/data-quality-auditor/SKILL.md +219 -0
- package/engineering/data-quality-auditor/skills/data-quality-auditor/references/data-quality-concepts.md +106 -0
- package/engineering/data-quality-auditor/skills/data-quality-auditor/scripts/data_profiler.py +258 -0
- package/engineering/data-quality-auditor/skills/data-quality-auditor/scripts/missing_value_analyzer.py +242 -0
- package/engineering/data-quality-auditor/skills/data-quality-auditor/scripts/outlier_detector.py +263 -0
- package/engineering/debug-error/SKILL.md +118 -0
- package/engineering/demo-video/.claude-plugin/plugin.json +15 -0
- package/engineering/demo-video/evals.json +26 -0
- package/engineering/demo-video/skills/demo-video/SKILL.md +110 -0
- package/engineering/demo-video/skills/demo-video/references/scene-design-system.md +61 -0
- package/engineering/docker-development/.claude-plugin/plugin.json +15 -0
- package/engineering/docker-development/skills/docker-development/SKILL.md +366 -0
- package/engineering/docker-development/skills/docker-development/references/compose-patterns.md +282 -0
- package/engineering/docker-development/skills/docker-development/references/dockerfile-best-practices.md +235 -0
- package/engineering/docker-development/skills/docker-development/scripts/compose_validator.py +390 -0
- package/engineering/docker-development/skills/docker-development/scripts/dockerfile_analyzer.py +410 -0
- package/engineering/explain-code/SKILL.md +100 -0
- package/engineering/feature-flags-architect/.claude-plugin/plugin.json +15 -0
- package/engineering/feature-flags-architect/README.md +94 -0
- package/engineering/feature-flags-architect/skills/feature-flags-architect/SKILL.md +219 -0
- package/engineering/feature-flags-architect/skills/feature-flags-architect/assets/flag_request_template.md +65 -0
- package/engineering/feature-flags-architect/skills/feature-flags-architect/references/flag_lifecycle.md +171 -0
- package/engineering/feature-flags-architect/skills/feature-flags-architect/references/flag_taxonomy.md +125 -0
- package/engineering/feature-flags-architect/skills/feature-flags-architect/references/provider_comparison.md +159 -0
- package/engineering/feature-flags-architect/skills/feature-flags-architect/references/rollout_strategies.md +140 -0
- package/engineering/feature-flags-architect/skills/feature-flags-architect/scripts/flag_debt_scanner.py +140 -0
- package/engineering/feature-flags-architect/skills/feature-flags-architect/scripts/kill_switch_audit.py +146 -0
- package/engineering/feature-flags-architect/skills/feature-flags-architect/scripts/rollout_planner.py +123 -0
- package/engineering/generate-tests/SKILL.md +142 -0
- package/engineering/git-commit/SKILL.md +130 -0
- package/engineering/grill-me/.claude-plugin/plugin.json +21 -0
- package/engineering/grill-me/README.md +37 -0
- package/engineering/grill-me/agents/cs-grill-master.md +170 -0
- package/engineering/grill-me/commands/cs-grill-me.md +84 -0
- package/engineering/grill-me/skills/grill-me/SKILL.md +58 -0
- package/engineering/grill-me/skills/grill-me/references/companion_tooling.md +65 -0
- package/engineering/grill-me/skills/grill-me/references/forcing_question_patterns.md +152 -0
- package/engineering/grill-me/skills/grill-me/references/when_to_stop_grilling.md +142 -0
- package/engineering/grill-me/skills/grill-me/scripts/decision_tree_extractor.py +149 -0
- package/engineering/grill-me/skills/grill-me/scripts/grill_session_tracker.py +264 -0
- package/engineering/grill-me/skills/grill-me/scripts/question_generator.py +142 -0
- package/engineering/grill-with-docs/.claude-plugin/plugin.json +21 -0
- package/engineering/grill-with-docs/README.md +53 -0
- package/engineering/grill-with-docs/agents/cs-grill-with-docs.md +200 -0
- package/engineering/grill-with-docs/commands/cs-grill-with-docs.md +100 -0
- package/engineering/grill-with-docs/skills/grill-with-docs/ADR-FORMAT.md +53 -0
- package/engineering/grill-with-docs/skills/grill-with-docs/CONTEXT-FORMAT.md +83 -0
- package/engineering/grill-with-docs/skills/grill-with-docs/SKILL.md +143 -0
- package/engineering/grill-with-docs/skills/grill-with-docs/references/adr_practice.md +111 -0
- package/engineering/grill-with-docs/skills/grill-with-docs/references/context_md_as_artifact.md +105 -0
- package/engineering/grill-with-docs/skills/grill-with-docs/references/ubiquitous_language.md +66 -0
- package/engineering/grill-with-docs/skills/grill-with-docs/scripts/adr_scanner.py +241 -0
- package/engineering/grill-with-docs/skills/grill-with-docs/scripts/context_md_linter.py +272 -0
- package/engineering/grill-with-docs/skills/grill-with-docs/scripts/glossary_code_consistency.py +301 -0
- package/engineering/handoff/.claude-plugin/plugin.json +21 -0
- package/engineering/handoff/README.md +37 -0
- package/engineering/handoff/agents/cs-handoff-author.md +177 -0
- package/engineering/handoff/commands/cs-handoff.md +80 -0
- package/engineering/handoff/skills/handoff/SKILL.md +41 -0
- package/engineering/handoff/skills/handoff/references/companion_tooling.md +56 -0
- package/engineering/handoff/skills/handoff/references/deduplication_discipline.md +196 -0
- package/engineering/handoff/skills/handoff/references/handoff_structure.md +163 -0
- package/engineering/handoff/skills/handoff/references/next_session_skill_matching.md +121 -0
- package/engineering/handoff/skills/handoff/scripts/artifact_deduplicator.py +244 -0
- package/engineering/handoff/skills/handoff/scripts/handoff_template_generator.py +217 -0
- package/engineering/handoff/skills/handoff/scripts/skill_recommender.py +185 -0
- package/engineering/helm-chart-builder/.claude-plugin/plugin.json +15 -0
- package/engineering/helm-chart-builder/skills/helm-chart-builder/SKILL.md +449 -0
- package/engineering/helm-chart-builder/skills/helm-chart-builder/references/chart-patterns.md +435 -0
- package/engineering/helm-chart-builder/skills/helm-chart-builder/references/values-design.md +462 -0
- package/engineering/helm-chart-builder/skills/helm-chart-builder/scripts/chart_analyzer.py +542 -0
- package/engineering/helm-chart-builder/skills/helm-chart-builder/scripts/values_validator.py +442 -0
- package/engineering/karpathy-coder/.claude-plugin/plugin.json +15 -0
- package/engineering/karpathy-coder/README.md +104 -0
- package/engineering/karpathy-coder/agents/karpathy-reviewer.md +84 -0
- package/engineering/karpathy-coder/commands/karpathy-check.md +46 -0
- package/engineering/karpathy-coder/hooks/karpathy-gate.sh +48 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/SKILL.md +131 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/expected_outputs/assumption_linter.json +34 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/expected_outputs/complexity_checker.json +28 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/expected_outputs/diff_surgeon.json +9 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/expected_outputs/goal_verifier.json +20 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/references/anti-patterns.md +168 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/references/enforcement-patterns.md +128 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/references/karpathy-principles.md +67 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/scripts/assumption_linter.py +170 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/scripts/complexity_checker.py +317 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/scripts/diff_surgeon.py +217 -0
- package/engineering/karpathy-coder/skills/karpathy-coder/scripts/goal_verifier.py +207 -0
- package/engineering/kubernetes-operator/.claude-plugin/plugin.json +15 -0
- package/engineering/kubernetes-operator/README.md +83 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/SKILL.md +242 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/assets/crd_template.yaml +71 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/assets/reconcile_skeleton.go +122 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/references/crd_design.md +196 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/references/operator_pattern.md +152 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/references/reconcile_loop.md +210 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/references/tooling_landscape.md +217 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/scripts/crd_validator.py +134 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/scripts/operator_capability_audit.py +150 -0
- package/engineering/kubernetes-operator/skills/kubernetes-operator/scripts/reconcile_lint.py +177 -0
- package/engineering/llm-cost-optimizer/SKILL.md +131 -0
- package/engineering/llm-wiki/.claude-plugin/plugin.json +15 -0
- package/engineering/llm-wiki/README.md +114 -0
- package/engineering/llm-wiki/agents/wiki-ingestor.md +89 -0
- package/engineering/llm-wiki/agents/wiki-librarian.md +83 -0
- package/engineering/llm-wiki/agents/wiki-linter.md +104 -0
- package/engineering/llm-wiki/commands/wiki-ingest.md +52 -0
- package/engineering/llm-wiki/commands/wiki-init.md +60 -0
- package/engineering/llm-wiki/commands/wiki-lint.md +83 -0
- package/engineering/llm-wiki/commands/wiki-log.md +64 -0
- package/engineering/llm-wiki/commands/wiki-query.md +58 -0
- package/engineering/llm-wiki/skills/llm-wiki/SKILL.md +178 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/AGENTS.md.template +140 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/CLAUDE.md.template +133 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/cursorrules.template +30 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/example-vault/README.md +35 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/example-vault/wiki/concepts/sparse-autoencoder.md +33 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/example-vault/wiki/entities/anthropic.md +31 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/example-vault/wiki/index.md +18 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/example-vault/wiki/log.md +11 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/example-vault/wiki/sources/monosemanticity.md +41 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/example-vault/wiki/synthesis/interpretability-overview.md +32 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/index.md.template +32 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/log.md.template +12 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/page-templates/comparison.md +39 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/page-templates/concept.md +31 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/page-templates/entity.md +31 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/page-templates/source-summary.md +41 -0
- package/engineering/llm-wiki/skills/llm-wiki/assets/page-templates/synthesis.md +38 -0
- package/engineering/llm-wiki/skills/llm-wiki/expected_outputs/README.md +19 -0
- package/engineering/llm-wiki/skills/llm-wiki/expected_outputs/append_log.json +9 -0
- package/engineering/llm-wiki/skills/llm-wiki/expected_outputs/export_marp.json +9 -0
- package/engineering/llm-wiki/skills/llm-wiki/expected_outputs/graph_analyzer.json +18 -0
- package/engineering/llm-wiki/skills/llm-wiki/expected_outputs/ingest_source.json +12 -0
- package/engineering/llm-wiki/skills/llm-wiki/expected_outputs/init_vault.json +26 -0
- package/engineering/llm-wiki/skills/llm-wiki/expected_outputs/lint_wiki.json +10 -0
- package/engineering/llm-wiki/skills/llm-wiki/expected_outputs/update_index.json +11 -0
- package/engineering/llm-wiki/skills/llm-wiki/expected_outputs/wiki_search.json +10 -0
- package/engineering/llm-wiki/skills/llm-wiki/references/cross-tool-setup.md +108 -0
- package/engineering/llm-wiki/skills/llm-wiki/references/ingest-workflow.md +97 -0
- package/engineering/llm-wiki/skills/llm-wiki/references/lint-workflow.md +91 -0
- package/engineering/llm-wiki/skills/llm-wiki/references/memex-principles.md +78 -0
- package/engineering/llm-wiki/skills/llm-wiki/references/obsidian-setup.md +85 -0
- package/engineering/llm-wiki/skills/llm-wiki/references/page-formats.md +194 -0
- package/engineering/llm-wiki/skills/llm-wiki/references/query-workflow.md +76 -0
- package/engineering/llm-wiki/skills/llm-wiki/references/wiki-schema.md +98 -0
- package/engineering/llm-wiki/skills/llm-wiki/scripts/append_log.py +134 -0
- package/engineering/llm-wiki/skills/llm-wiki/scripts/export_marp.py +146 -0
- package/engineering/llm-wiki/skills/llm-wiki/scripts/graph_analyzer.py +142 -0
- package/engineering/llm-wiki/skills/llm-wiki/scripts/ingest_source.py +177 -0
- package/engineering/llm-wiki/skills/llm-wiki/scripts/init_vault.py +219 -0
- package/engineering/llm-wiki/skills/llm-wiki/scripts/lint_wiki.py +202 -0
- package/engineering/llm-wiki/skills/llm-wiki/scripts/update_index.py +204 -0
- package/engineering/llm-wiki/skills/llm-wiki/scripts/wiki_search.py +145 -0
- package/engineering/prompt-engineering/SKILL.md +128 -0
- package/engineering/prompt-governance/.claude-plugin/plugin.json +15 -0
- package/engineering/prompt-governance/skills/prompt-governance/SKILL.md +224 -0
- package/engineering/refactor/SKILL.md +129 -0
- package/engineering/security-guidance/.claude-plugin/plugin.json +19 -0
- package/engineering/security-guidance/hooks/hooks.json +16 -0
- package/engineering/security-guidance/hooks/security_reminder_hook.py +291 -0
- package/engineering/security-guidance/skills/security-guidance/SKILL.md +160 -0
- package/engineering/security-guidance/skills/security-guidance/references/pretooluse_hook_canon.md +141 -0
- package/engineering/skills/agent-designer/README.md +430 -0
- package/engineering/skills/agent-designer/SKILL.md +279 -0
- package/engineering/skills/agent-designer/agent_evaluator.py +1223 -0
- package/engineering/skills/agent-designer/agent_planner.py +911 -0
- package/engineering/skills/agent-designer/assets/sample_execution_logs.json +543 -0
- package/engineering/skills/agent-designer/assets/sample_system_requirements.json +57 -0
- package/engineering/skills/agent-designer/assets/sample_tool_descriptions.json +545 -0
- package/engineering/skills/agent-designer/expected_outputs/sample_agent_architecture.json +488 -0
- package/engineering/skills/agent-designer/expected_outputs/sample_evaluation_report.json +570 -0
- package/engineering/skills/agent-designer/expected_outputs/sample_tool_schemas.json +416 -0
- package/engineering/skills/agent-designer/references/agent_architecture_patterns.md +445 -0
- package/engineering/skills/agent-designer/references/evaluation_methodology.md +749 -0
- package/engineering/skills/agent-designer/references/tool_design_best_practices.md +470 -0
- package/engineering/skills/agent-designer/tool_schema_generator.py +978 -0
- package/engineering/skills/agent-workflow-designer/SKILL.md +83 -0
- package/engineering/skills/agent-workflow-designer/references/workflow-patterns.md +82 -0
- package/engineering/skills/agent-workflow-designer/scripts/workflow_scaffolder.py +113 -0
- package/engineering/skills/api-design-reviewer/SKILL.md +421 -0
- package/engineering/skills/api-design-reviewer/references/api_antipatterns.md +680 -0
- package/engineering/skills/api-design-reviewer/references/rest_design_rules.md +487 -0
- package/engineering/skills/api-design-reviewer/scripts/api_linter.py +914 -0
- package/engineering/skills/api-design-reviewer/scripts/api_scorecard.py +1661 -0
- package/engineering/skills/api-design-reviewer/scripts/breaking_change_detector.py +1102 -0
- package/engineering/skills/api-test-suite-builder/SKILL.md +177 -0
- package/engineering/skills/api-test-suite-builder/references/example-test-files.md +508 -0
- package/engineering/skills/browser-automation/SKILL.md +266 -0
- package/engineering/skills/browser-automation/references/anti_detection_patterns.md +453 -0
- package/engineering/skills/browser-automation/references/data_extraction_recipes.md +580 -0
- package/engineering/skills/browser-automation/references/playwright_browser_api.md +492 -0
- package/engineering/skills/browser-automation/scripts/anti_detection_checker.py +520 -0
- package/engineering/skills/browser-automation/scripts/form_automation_builder.py +324 -0
- package/engineering/skills/browser-automation/scripts/scraping_toolkit.py +248 -0
- package/engineering/skills/changelog-generator/README.md +48 -0
- package/engineering/skills/changelog-generator/SKILL.md +165 -0
- package/engineering/skills/changelog-generator/references/changelog-formatting-guide.md +17 -0
- package/engineering/skills/changelog-generator/references/ci-integration.md +26 -0
- package/engineering/skills/changelog-generator/references/monorepo-strategy.md +39 -0
- package/engineering/skills/changelog-generator/scripts/commit_linter.py +138 -0
- package/engineering/skills/changelog-generator/scripts/generate_changelog.py +247 -0
- package/engineering/skills/chaos-engineering/SKILL.md +231 -0
- package/engineering/skills/chaos-engineering/assets/experiment_template.md +76 -0
- package/engineering/skills/chaos-engineering/assets/postmortem_template.md +67 -0
- package/engineering/skills/chaos-engineering/references/attack_taxonomy.md +180 -0
- package/engineering/skills/chaos-engineering/references/chaos_principles.md +136 -0
- package/engineering/skills/chaos-engineering/references/experiment_design.md +158 -0
- package/engineering/skills/chaos-engineering/references/tooling_landscape.md +197 -0
- package/engineering/skills/chaos-engineering/scripts/blast_radius_calculator.py +101 -0
- package/engineering/skills/chaos-engineering/scripts/experiment_designer.py +139 -0
- package/engineering/skills/chaos-engineering/scripts/experiment_postmortem.py +144 -0
- package/engineering/skills/ci-cd-pipeline-builder/README.md +48 -0
- package/engineering/skills/ci-cd-pipeline-builder/SKILL.md +147 -0
- package/engineering/skills/ci-cd-pipeline-builder/references/deployment-gates.md +17 -0
- package/engineering/skills/ci-cd-pipeline-builder/references/github-actions-templates.md +41 -0
- package/engineering/skills/ci-cd-pipeline-builder/references/gitlab-ci-templates.md +39 -0
- package/engineering/skills/ci-cd-pipeline-builder/scripts/pipeline_generator.py +310 -0
- package/engineering/skills/ci-cd-pipeline-builder/scripts/stack_detector.py +184 -0
- package/engineering/skills/codebase-onboarding/SKILL.md +84 -0
- package/engineering/skills/codebase-onboarding/references/onboarding-template.md +186 -0
- package/engineering/skills/codebase-onboarding/references/output-format-templates.md +41 -0
- package/engineering/skills/codebase-onboarding/scripts/codebase_analyzer.py +205 -0
- package/engineering/skills/command-guide/SKILL.md +314 -0
- package/engineering/skills/database-designer/README.md +388 -0
- package/engineering/skills/database-designer/SKILL.md +289 -0
- package/engineering/skills/database-designer/assets/sample_query_patterns.json +375 -0
- package/engineering/skills/database-designer/assets/sample_schema.json +372 -0
- package/engineering/skills/database-designer/assets/sample_schema.sql +207 -0
- package/engineering/skills/database-designer/expected_outputs/index_optimization_sample.txt +60 -0
- package/engineering/skills/database-designer/expected_outputs/migration_sample.txt +124 -0
- package/engineering/skills/database-designer/expected_outputs/schema_analysis_sample.txt +222 -0
- package/engineering/skills/database-designer/index_optimizer.py +926 -0
- package/engineering/skills/database-designer/migration_generator.py +1199 -0
- package/engineering/skills/database-designer/references/database-design-reference.md +476 -0
- package/engineering/skills/database-designer/references/database_selection_decision_tree.md +373 -0
- package/engineering/skills/database-designer/references/index_strategy_patterns.md +424 -0
- package/engineering/skills/database-designer/references/normalization_guide.md +354 -0
- package/engineering/skills/database-designer/schema_analyzer.py +982 -0
- package/engineering/skills/database-schema-designer/SKILL.md +248 -0
- package/engineering/skills/database-schema-designer/references/full-schema-examples.md +283 -0
- package/engineering/skills/dependency-auditor/README.md +524 -0
- package/engineering/skills/dependency-auditor/SKILL.md +338 -0
- package/engineering/skills/dependency-auditor/assets/sample_go.mod +53 -0
- package/engineering/skills/dependency-auditor/assets/sample_package.json +72 -0
- package/engineering/skills/dependency-auditor/assets/sample_requirements.txt +71 -0
- package/engineering/skills/dependency-auditor/expected_outputs/sample_license_report.txt +37 -0
- package/engineering/skills/dependency-auditor/expected_outputs/sample_upgrade_plan.txt +59 -0
- package/engineering/skills/dependency-auditor/expected_outputs/sample_vulnerability_report.json +71 -0
- package/engineering/skills/dependency-auditor/references/dependency_management_best_practices.md +643 -0
- package/engineering/skills/dependency-auditor/references/license_compatibility_matrix.md +238 -0
- package/engineering/skills/dependency-auditor/references/vulnerability_assessment_guide.md +461 -0
- package/engineering/skills/dependency-auditor/scripts/dep_scanner.py +794 -0
- package/engineering/skills/dependency-auditor/scripts/license_checker.py +996 -0
- package/engineering/skills/dependency-auditor/scripts/upgrade_planner.py +1029 -0
- package/engineering/skills/dependency-auditor/test-inventory.json +421 -0
- package/engineering/skills/dependency-auditor/test-project/package.json +72 -0
- package/engineering/skills/engineering-advanced-skills/SKILL.md +70 -0
- package/engineering/skills/env-secrets-manager/SKILL.md +260 -0
- package/engineering/skills/env-secrets-manager/references/secret-patterns.md +41 -0
- package/engineering/skills/env-secrets-manager/references/validation-detection-rotation.md +358 -0
- package/engineering/skills/env-secrets-manager/scripts/env_auditor.py +145 -0
- package/engineering/skills/feature-flags-architect/SKILL.md +219 -0
- package/engineering/skills/feature-flags-architect/assets/flag_request_template.md +65 -0
- package/engineering/skills/feature-flags-architect/references/flag_lifecycle.md +171 -0
- package/engineering/skills/feature-flags-architect/references/flag_taxonomy.md +125 -0
- package/engineering/skills/feature-flags-architect/references/provider_comparison.md +159 -0
- package/engineering/skills/feature-flags-architect/references/rollout_strategies.md +140 -0
- package/engineering/skills/feature-flags-architect/scripts/flag_debt_scanner.py +140 -0
- package/engineering/skills/feature-flags-architect/scripts/kill_switch_audit.py +146 -0
- package/engineering/skills/feature-flags-architect/scripts/rollout_planner.py +123 -0
- package/engineering/skills/focused-fix/SKILL.md +318 -0
- package/engineering/skills/full-page-screenshot/SKILL.md +123 -0
- package/engineering/skills/full-page-screenshot/scripts/full-page-screenshot.mjs +951 -0
- package/engineering/skills/git-worktree-manager/README.md +51 -0
- package/engineering/skills/git-worktree-manager/SKILL.md +193 -0
- package/engineering/skills/git-worktree-manager/references/docker-compose-patterns.md +62 -0
- package/engineering/skills/git-worktree-manager/references/port-allocation-strategy.md +46 -0
- package/engineering/skills/git-worktree-manager/scripts/worktree_cleanup.py +196 -0
- package/engineering/skills/git-worktree-manager/scripts/worktree_manager.py +240 -0
- package/engineering/skills/interview-system-designer/README.md +309 -0
- package/engineering/skills/interview-system-designer/SKILL.md +59 -0
- package/engineering/skills/interview-system-designer/assets/sample_interview_results.json +382 -0
- package/engineering/skills/interview-system-designer/assets/sample_role_definitions.json +170 -0
- package/engineering/skills/interview-system-designer/expected_outputs/product_manager_senior_questions.json +622 -0
- package/engineering/skills/interview-system-designer/expected_outputs/product_manager_senior_questions.txt +177 -0
- package/engineering/skills/interview-system-designer/expected_outputs/senior_software_engineer_senior_interview_loop.json +435 -0
- package/engineering/skills/interview-system-designer/expected_outputs/senior_software_engineer_senior_interview_loop.txt +151 -0
- package/engineering/skills/interview-system-designer/hiring_calibrator.py +1306 -0
- package/engineering/skills/interview-system-designer/loop_designer.py +908 -0
- package/engineering/skills/interview-system-designer/question_bank_generator.py +1060 -0
- package/engineering/skills/interview-system-designer/references/bias_mitigation_checklist.md +308 -0
- package/engineering/skills/interview-system-designer/references/competency_matrix_templates.md +171 -0
- package/engineering/skills/interview-system-designer/references/debrief_facilitation_guide.md +319 -0
- package/engineering/skills/interview-system-designer/references/interview-frameworks.md +46 -0
- package/engineering/skills/interview-system-designer/scripts/interview_planner.py +133 -0
- package/engineering/skills/kubernetes-operator/SKILL.md +242 -0
- package/engineering/skills/kubernetes-operator/assets/crd_template.yaml +71 -0
- package/engineering/skills/kubernetes-operator/assets/reconcile_skeleton.go +122 -0
- package/engineering/skills/kubernetes-operator/references/crd_design.md +196 -0
- package/engineering/skills/kubernetes-operator/references/operator_pattern.md +152 -0
- package/engineering/skills/kubernetes-operator/references/reconcile_loop.md +210 -0
- package/engineering/skills/kubernetes-operator/references/tooling_landscape.md +217 -0
- package/engineering/skills/kubernetes-operator/scripts/crd_validator.py +134 -0
- package/engineering/skills/kubernetes-operator/scripts/operator_capability_audit.py +150 -0
- package/engineering/skills/kubernetes-operator/scripts/reconcile_lint.py +177 -0
- package/engineering/skills/mcp-server-builder/README.md +50 -0
- package/engineering/skills/mcp-server-builder/SKILL.md +164 -0
- package/engineering/skills/mcp-server-builder/references/openapi-extraction-guide.md +34 -0
- package/engineering/skills/mcp-server-builder/references/python-server-template.md +22 -0
- package/engineering/skills/mcp-server-builder/references/typescript-server-template.md +19 -0
- package/engineering/skills/mcp-server-builder/references/validation-checklist.md +30 -0
- package/engineering/skills/mcp-server-builder/scripts/mcp_validator.py +186 -0
- package/engineering/skills/mcp-server-builder/scripts/openapi_to_mcp.py +284 -0
- package/engineering/skills/migration-architect/README.md +382 -0
- package/engineering/skills/migration-architect/SKILL.md +478 -0
- package/engineering/skills/migration-architect/assets/database_schema_after.json +367 -0
- package/engineering/skills/migration-architect/assets/database_schema_before.json +243 -0
- package/engineering/skills/migration-architect/assets/sample_database_migration.json +106 -0
- package/engineering/skills/migration-architect/assets/sample_service_migration.json +175 -0
- package/engineering/skills/migration-architect/expected_outputs/rollback_runbook.json +577 -0
- package/engineering/skills/migration-architect/expected_outputs/rollback_runbook.txt +282 -0
- package/engineering/skills/migration-architect/expected_outputs/sample_database_migration_plan.json +317 -0
- package/engineering/skills/migration-architect/expected_outputs/sample_database_migration_plan.txt +161 -0
- package/engineering/skills/migration-architect/expected_outputs/sample_service_migration_plan.json +310 -0
- package/engineering/skills/migration-architect/expected_outputs/sample_service_migration_plan.txt +154 -0
- package/engineering/skills/migration-architect/expected_outputs/schema_compatibility_report.json +192 -0
- package/engineering/skills/migration-architect/expected_outputs/schema_compatibility_report.txt +129 -0
- package/engineering/skills/migration-architect/references/data_reconciliation_strategies.md +1329 -0
- package/engineering/skills/migration-architect/references/migration_patterns_catalog.md +705 -0
- package/engineering/skills/migration-architect/references/zero_downtime_techniques.md +1104 -0
- package/engineering/skills/migration-architect/scripts/compatibility_checker.py +883 -0
- package/engineering/skills/migration-architect/scripts/migration_planner.py +661 -0
- package/engineering/skills/migration-architect/scripts/rollback_generator.py +1109 -0
- package/engineering/skills/monorepo-navigator/SKILL.md +97 -0
- package/engineering/skills/monorepo-navigator/references/monorepo-patterns.md +37 -0
- package/engineering/skills/monorepo-navigator/references/monorepo-tooling-reference.md +516 -0
- package/engineering/skills/monorepo-navigator/scripts/monorepo_analyzer.py +168 -0
- package/engineering/skills/observability-designer/README.md +384 -0
- package/engineering/skills/observability-designer/SKILL.md +269 -0
- package/engineering/skills/observability-designer/assets/sample_alerts.json +276 -0
- package/engineering/skills/observability-designer/assets/sample_service_api.json +83 -0
- package/engineering/skills/observability-designer/assets/sample_service_web.json +113 -0
- package/engineering/skills/observability-designer/expected_outputs/sample_dashboard.json +811 -0
- package/engineering/skills/observability-designer/expected_outputs/sample_slo_framework.json +545 -0
- package/engineering/skills/observability-designer/references/alert_design_patterns.md +469 -0
- package/engineering/skills/observability-designer/references/dashboard_best_practices.md +571 -0
- package/engineering/skills/observability-designer/references/slo_cookbook.md +329 -0
- package/engineering/skills/observability-designer/scripts/alert_optimizer.py +1059 -0
- package/engineering/skills/observability-designer/scripts/dashboard_generator.py +1219 -0
- package/engineering/skills/observability-designer/scripts/slo_designer.py +670 -0
- package/engineering/skills/performance-profiler/SKILL.md +170 -0
- package/engineering/skills/performance-profiler/references/profiling-recipes.md +475 -0
- package/engineering/skills/performance-profiler/scripts/performance_profiler.py +192 -0
- package/engineering/skills/pr-review-expert/SKILL.md +384 -0
- package/engineering/skills/rag-architect/SKILL.md +318 -0
- package/engineering/skills/rag-architect/chunking_optimizer.py +787 -0
- package/engineering/skills/rag-architect/rag_pipeline_designer.py +680 -0
- package/engineering/skills/rag-architect/references/chunking_strategies_comparison.md +287 -0
- package/engineering/skills/rag-architect/references/embedding_model_benchmark.md +338 -0
- package/engineering/skills/rag-architect/references/rag_evaluation_framework.md +431 -0
- package/engineering/skills/rag-architect/retrieval_evaluator.py +578 -0
- package/engineering/skills/release-manager/README.md +445 -0
- package/engineering/skills/release-manager/SKILL.md +490 -0
- package/engineering/skills/release-manager/assets/sample_commits.json +80 -0
- package/engineering/skills/release-manager/assets/sample_git_log.txt +30 -0
- package/engineering/skills/release-manager/assets/sample_git_log_full.txt +163 -0
- package/engineering/skills/release-manager/assets/sample_release_plan.json +273 -0
- package/engineering/skills/release-manager/changelog_generator.py +504 -0
- package/engineering/skills/release-manager/expected_outputs/changelog_example.md +37 -0
- package/engineering/skills/release-manager/expected_outputs/release_readiness_example.txt +30 -0
- package/engineering/skills/release-manager/expected_outputs/version_bump_example.txt +31 -0
- package/engineering/skills/release-manager/references/conventional-commits-guide.md +341 -0
- package/engineering/skills/release-manager/references/hotfix-procedures.md +592 -0
- package/engineering/skills/release-manager/references/release-workflow-comparison.md +410 -0
- package/engineering/skills/release-manager/release_planner.py +1003 -0
- package/engineering/skills/release-manager/version_bumper.py +645 -0
- package/engineering/skills/runbook-generator/SKILL.md +76 -0
- package/engineering/skills/runbook-generator/references/runbook-templates.md +40 -0
- package/engineering/skills/runbook-generator/scripts/runbook_generator.py +128 -0
- package/engineering/skills/secrets-vault-manager/SKILL.md +403 -0
- package/engineering/skills/secrets-vault-manager/references/cloud_secret_stores.md +354 -0
- package/engineering/skills/secrets-vault-manager/references/emergency_procedures.md +280 -0
- package/engineering/skills/secrets-vault-manager/references/vault_patterns.md +342 -0
- package/engineering/skills/secrets-vault-manager/scripts/audit_log_analyzer.py +330 -0
- package/engineering/skills/secrets-vault-manager/scripts/rotation_planner.py +280 -0
- package/engineering/skills/secrets-vault-manager/scripts/vault_config_generator.py +302 -0
- package/engineering/skills/self-eval/SKILL.md +181 -0
- package/engineering/skills/ship-gate/SKILL.md +190 -0
- package/engineering/skills/ship-gate/references/checks.md +483 -0
- package/engineering/skills/ship-gate/references/patterns.md +687 -0
- package/engineering/skills/ship-gate/scripts/ship_gate_scanner.py +1231 -0
- package/engineering/skills/skill-security-auditor/SKILL.md +171 -0
- package/engineering/skills/skill-security-auditor/references/threat-model.md +271 -0
- package/engineering/skills/skill-security-auditor/scripts/skill_security_auditor.py +1066 -0
- package/engineering/skills/skill-tester/README.md +229 -0
- package/engineering/skills/skill-tester/SKILL.md +390 -0
- package/engineering/skills/skill-tester/assets/sample-skill/README.md +40 -0
- package/engineering/skills/skill-tester/assets/sample-skill/SKILL.md +163 -0
- package/engineering/skills/skill-tester/assets/sample-skill/assets/sample_text.txt +23 -0
- package/engineering/skills/skill-tester/assets/sample-skill/assets/test_data.csv +16 -0
- package/engineering/skills/skill-tester/assets/sample-skill/expected_outputs/sample_text_analysis.json +13 -0
- package/engineering/skills/skill-tester/assets/sample-skill/references/api-reference.md +115 -0
- package/engineering/skills/skill-tester/assets/sample-skill/scripts/text_processor.py +382 -0
- package/engineering/skills/skill-tester/expected_outputs/sample_validation_report.json +68 -0
- package/engineering/skills/skill-tester/references/quality-scoring-rubric.md +559 -0
- package/engineering/skills/skill-tester/references/skill-structure-specification.md +355 -0
- package/engineering/skills/skill-tester/references/tier-requirements-matrix.md +418 -0
- package/engineering/skills/skill-tester/scripts/quality_scorer.py +1182 -0
- package/engineering/skills/skill-tester/scripts/script_tester.py +731 -0
- package/engineering/skills/skill-tester/scripts/security_scorer.py +606 -0
- package/engineering/skills/skill-tester/scripts/skill_validator.py +667 -0
- package/engineering/skills/skill-tester/tests/test_security_scorer.py +851 -0
- package/engineering/skills/slo-architect/SKILL.md +234 -0
- package/engineering/skills/slo-architect/assets/error_budget_policy.md +79 -0
- package/engineering/skills/slo-architect/assets/slo_template.yaml +63 -0
- package/engineering/skills/slo-architect/references/composition.md +139 -0
- package/engineering/skills/slo-architect/references/error_budget.md +128 -0
- package/engineering/skills/slo-architect/references/sli_design.md +175 -0
- package/engineering/skills/slo-architect/references/slo_principles.md +138 -0
- package/engineering/skills/slo-architect/scripts/error_budget_calculator.py +147 -0
- package/engineering/skills/slo-architect/scripts/slo_designer.py +158 -0
- package/engineering/skills/slo-architect/scripts/slo_review.py +159 -0
- package/engineering/skills/spec-driven-workflow/SKILL.md +333 -0
- package/engineering/skills/spec-driven-workflow/references/acceptance_criteria_patterns.md +497 -0
- package/engineering/skills/spec-driven-workflow/references/bounded_autonomy_rules.md +273 -0
- package/engineering/skills/spec-driven-workflow/references/spec_format_guide.md +531 -0
- package/engineering/skills/spec-driven-workflow/scripts/spec_generator.py +338 -0
- package/engineering/skills/spec-driven-workflow/scripts/spec_validator.py +461 -0
- package/engineering/skills/spec-driven-workflow/scripts/test_extractor.py +431 -0
- package/engineering/skills/sql-database-assistant/SKILL.md +457 -0
- package/engineering/skills/sql-database-assistant/references/optimization_guide.md +330 -0
- package/engineering/skills/sql-database-assistant/references/orm_patterns.md +451 -0
- package/engineering/skills/sql-database-assistant/references/query_patterns.md +406 -0
- package/engineering/skills/sql-database-assistant/scripts/migration_generator.py +442 -0
- package/engineering/skills/sql-database-assistant/scripts/query_optimizer.py +348 -0
- package/engineering/skills/sql-database-assistant/scripts/schema_explorer.py +315 -0
- package/engineering/skills/tc-tracker/README.md +72 -0
- package/engineering/skills/tc-tracker/SKILL.md +207 -0
- package/engineering/skills/tc-tracker/references/handoff-format.md +139 -0
- package/engineering/skills/tc-tracker/references/lifecycle.md +98 -0
- package/engineering/skills/tc-tracker/references/tc-schema.md +204 -0
- package/engineering/skills/tc-tracker/scripts/tc_create.py +277 -0
- package/engineering/skills/tc-tracker/scripts/tc_init.py +196 -0
- package/engineering/skills/tc-tracker/scripts/tc_status.py +200 -0
- package/engineering/skills/tc-tracker/scripts/tc_update.py +361 -0
- package/engineering/skills/tc-tracker/scripts/tc_validator.py +347 -0
- package/engineering/skills/tech-debt-tracker/README.md +308 -0
- package/engineering/skills/tech-debt-tracker/SKILL.md +93 -0
- package/engineering/skills/tech-debt-tracker/assets/historical_debt_2024-01-15.json +268 -0
- package/engineering/skills/tech-debt-tracker/assets/historical_debt_2024-02-01.json +214 -0
- package/engineering/skills/tech-debt-tracker/assets/sample_codebase/src/frontend.js +395 -0
- package/engineering/skills/tech-debt-tracker/assets/sample_codebase/src/payment_processor.py +322 -0
- package/engineering/skills/tech-debt-tracker/assets/sample_codebase/src/user_service.py +276 -0
- package/engineering/skills/tech-debt-tracker/assets/sample_debt_inventory.json +285 -0
- package/engineering/skills/tech-debt-tracker/expected_outputs/sample_dashboard_output.json +221 -0
- package/engineering/skills/tech-debt-tracker/expected_outputs/sample_prioritization_output.json +1686 -0
- package/engineering/skills/tech-debt-tracker/expected_outputs/sample_scan_output.json +2034 -0
- package/engineering/skills/tech-debt-tracker/references/debt-classification-taxonomy.md +261 -0
- package/engineering/skills/tech-debt-tracker/references/debt-frameworks.md +486 -0
- package/engineering/skills/tech-debt-tracker/references/prioritization-framework.md +335 -0
- package/engineering/skills/tech-debt-tracker/references/stakeholder-communication-templates.md +418 -0
- package/engineering/skills/tech-debt-tracker/scripts/debt_dashboard.py +970 -0
- package/engineering/skills/tech-debt-tracker/scripts/debt_prioritizer.py +857 -0
- package/engineering/skills/tech-debt-tracker/scripts/debt_scanner.py +684 -0
- package/engineering/slo-architect/.claude-plugin/plugin.json +15 -0
- package/engineering/slo-architect/README.md +100 -0
- package/engineering/slo-architect/skills/slo-architect/SKILL.md +234 -0
- package/engineering/slo-architect/skills/slo-architect/assets/error_budget_policy.md +79 -0
- package/engineering/slo-architect/skills/slo-architect/assets/slo_template.yaml +63 -0
- package/engineering/slo-architect/skills/slo-architect/references/composition.md +139 -0
- package/engineering/slo-architect/skills/slo-architect/references/error_budget.md +128 -0
- package/engineering/slo-architect/skills/slo-architect/references/sli_design.md +175 -0
- package/engineering/slo-architect/skills/slo-architect/references/slo_principles.md +138 -0
- package/engineering/slo-architect/skills/slo-architect/scripts/error_budget_calculator.py +147 -0
- package/engineering/slo-architect/skills/slo-architect/scripts/slo_designer.py +158 -0
- package/engineering/slo-architect/skills/slo-architect/scripts/slo_review.py +159 -0
- package/engineering/statistical-analyst/.claude-plugin/plugin.json +15 -0
- package/engineering/statistical-analyst/skills/statistical-analyst/SKILL.md +246 -0
- package/engineering/statistical-analyst/skills/statistical-analyst/references/statistical-testing-concepts.md +189 -0
- package/engineering/statistical-analyst/skills/statistical-analyst/scripts/confidence_interval.py +198 -0
- package/engineering/statistical-analyst/skills/statistical-analyst/scripts/hypothesis_tester.py +471 -0
- package/engineering/statistical-analyst/skills/statistical-analyst/scripts/sample_size_calculator.py +262 -0
- package/engineering/terraform-patterns/.claude-plugin/plugin.json +15 -0
- package/engineering/terraform-patterns/skills/terraform-patterns/SKILL.md +740 -0
- package/engineering/terraform-patterns/skills/terraform-patterns/references/module-patterns.md +409 -0
- package/engineering/terraform-patterns/skills/terraform-patterns/references/state-management.md +472 -0
- package/engineering/terraform-patterns/skills/terraform-patterns/scripts/tf_module_analyzer.py +461 -0
- package/engineering/terraform-patterns/skills/terraform-patterns/scripts/tf_security_scanner.py +577 -0
- package/engineering/universal-scraping-architect/.claude-plugin/plugin.json +18 -0
- package/engineering/universal-scraping-architect/SKILL.md +58 -0
- package/engineering/universal-scraping-architect/agents/cs-scraping-architect.md +6 -0
- package/engineering/universal-scraping-architect/commands/cs-scrape.md +6 -0
- package/engineering/universal-scraping-architect/references/firecrawl-technical-guide.md +44 -0
- package/engineering/universal-scraping-architect/references/local-extraction-patterns.md +46 -0
- package/engineering/universal-scraping-architect/references/scraping-ethics-security.md +48 -0
- package/engineering/universal-scraping-architect/requirements.txt +7 -0
- package/engineering/universal-scraping-architect/scripts/firecrawl_example.py +217 -0
- package/engineering/universal-scraping-architect/scripts/local_bs4_example.py +293 -0
- package/engineering/universal-scraping-architect/scripts/validate_extraction.py +44 -0
- package/engineering/workflow-builder/.claude-plugin/plugin.json +18 -0
- package/engineering/workflow-builder/README.md +55 -0
- package/engineering/workflow-builder/agents/cs-workflow-architect.md +96 -0
- package/engineering/workflow-builder/commands/cs-workflow-build.md +95 -0
- package/engineering/workflow-builder/skills/workflow-builder/README.md +33 -0
- package/engineering/workflow-builder/skills/workflow-builder/SKILL.md +78 -0
- package/engineering/workflow-builder/skills/workflow-builder/assets/examples/pr-triage.js +98 -0
- package/engineering/workflow-builder/skills/workflow-builder/assets/templates/fan-out.js +48 -0
- package/engineering/workflow-builder/skills/workflow-builder/assets/templates/loop-until-budget.js +52 -0
- package/engineering/workflow-builder/skills/workflow-builder/assets/templates/pipeline.js +46 -0
- package/engineering/workflow-builder/skills/workflow-builder/expected_outputs/intake_pr_review.json +37 -0
- package/engineering/workflow-builder/skills/workflow-builder/expected_outputs/scaffold_pipeline.js +46 -0
- package/engineering/workflow-builder/skills/workflow-builder/expected_outputs/validate_sample.txt +6 -0
- package/engineering/workflow-builder/skills/workflow-builder/references/api_reference.md +115 -0
- package/engineering/workflow-builder/skills/workflow-builder/references/decision_and_intake_guide.md +83 -0
- package/engineering/workflow-builder/skills/workflow-builder/references/orchestration_patterns.md +160 -0
- package/engineering/workflow-builder/skills/workflow-builder/scripts/scaffold_workflow.py +211 -0
- package/engineering/workflow-builder/skills/workflow-builder/scripts/validate_workflow.py +274 -0
- package/engineering/workflow-builder/skills/workflow-builder/scripts/workflow_intake.py +233 -0
- package/engineering/write-a-skill/.claude-plugin/plugin.json +21 -0
- package/engineering/write-a-skill/README.md +44 -0
- package/engineering/write-a-skill/agents/cs-skill-author.md +149 -0
- package/engineering/write-a-skill/commands/cs-write-a-skill.md +140 -0
- package/engineering/write-a-skill/skills/write-a-skill/SKILL.md +141 -0
- package/engineering/write-a-skill/skills/write-a-skill/references/companion_tooling.md +67 -0
- package/engineering/write-a-skill/skills/write-a-skill/references/description_design_patterns.md +139 -0
- package/engineering/write-a-skill/skills/write-a-skill/references/progressive_disclosure_principles.md +89 -0
- package/engineering/write-a-skill/skills/write-a-skill/references/quality_gates_for_skills.md +158 -0
- package/engineering/write-a-skill/skills/write-a-skill/scripts/skill_description_validator.py +255 -0
- package/engineering/write-a-skill/skills/write-a-skill/scripts/skill_review_checklist_runner.py +268 -0
- package/engineering/write-a-skill/skills/write-a-skill/scripts/skill_structure_validator.py +277 -0
- package/engineering/write-docs/SKILL.md +167 -0
- package/engineering-team/.claude-plugin/plugin.json +13 -0
- package/engineering-team/.codex/instructions.md +40 -0
- package/engineering-team/CLAUDE.md +322 -0
- package/engineering-team/README.md +608 -0
- package/engineering-team/START_HERE.md +354 -0
- package/engineering-team/TEAM_STRUCTURE_GUIDE.md +630 -0
- package/engineering-team/a11y-audit/.claude-plugin/plugin.json +15 -0
- package/engineering-team/a11y-audit/README.md +46 -0
- package/engineering-team/a11y-audit/settings.json +15 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/SKILL.md +211 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/assets/sample-component.tsx +51 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/expected_outputs/sample-contrast-output.txt +39 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/expected_outputs/sample-scan-output.json +34 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/expected_outputs/sample-scan-report.md +63 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/references/aria-patterns.md +223 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/references/audit-report-template.md +46 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/references/ci-cd-integration.md +127 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/references/color-contrast-guide.md +83 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/references/examples-by-framework.md +312 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/references/framework-a11y-patterns.md +661 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/references/testing-checklist.md +41 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/references/wcag-22-new-criteria.md +79 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/references/wcag-quick-ref.md +113 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/scripts/a11y_scanner.py +684 -0
- package/engineering-team/a11y-audit/skills/a11y-audit/scripts/contrast_checker.py +499 -0
- package/engineering-team/aws-solution-architect.zip +0 -0
- package/engineering-team/code-reviewer.zip +0 -0
- package/engineering-team/google-workspace-cli/.claude-plugin/plugin.json +15 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/SKILL.md +373 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/assets/persona-profiles.md +223 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/assets/workspace-config.json +61 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/references/gws-command-reference.md +313 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/references/recipes-cookbook.md +344 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/references/troubleshooting.md +323 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/auth_setup_guide.py +390 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/gws_doctor.py +245 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/gws_recipe_runner.py +399 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/output_analyzer.py +332 -0
- package/engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/workspace_audit.py +309 -0
- package/engineering-team/ms365-tenant-manager.zip +0 -0
- package/engineering-team/playwright-pro/.claude-plugin/plugin.json +15 -0
- package/engineering-team/playwright-pro/.mcp.json +27 -0
- package/engineering-team/playwright-pro/CLAUDE.md +84 -0
- package/engineering-team/playwright-pro/LICENSE +21 -0
- package/engineering-team/playwright-pro/README.md +133 -0
- package/engineering-team/playwright-pro/agents/migration-planner.md +122 -0
- package/engineering-team/playwright-pro/agents/test-architect.md +106 -0
- package/engineering-team/playwright-pro/agents/test-debugger.md +130 -0
- package/engineering-team/playwright-pro/hooks/detect-playwright.sh +23 -0
- package/engineering-team/playwright-pro/hooks/hooks.json +25 -0
- package/engineering-team/playwright-pro/hooks/validate-test.sh +58 -0
- package/engineering-team/playwright-pro/integrations/browserstack-mcp/package.json +18 -0
- package/engineering-team/playwright-pro/integrations/browserstack-mcp/src/client.ts +97 -0
- package/engineering-team/playwright-pro/integrations/browserstack-mcp/src/index.ts +183 -0
- package/engineering-team/playwright-pro/integrations/browserstack-mcp/src/types.ts +61 -0
- package/engineering-team/playwright-pro/integrations/browserstack-mcp/tsconfig.json +14 -0
- package/engineering-team/playwright-pro/integrations/testrail-mcp/package.json +18 -0
- package/engineering-team/playwright-pro/integrations/testrail-mcp/src/client.ts +147 -0
- package/engineering-team/playwright-pro/integrations/testrail-mcp/src/index.ts +270 -0
- package/engineering-team/playwright-pro/integrations/testrail-mcp/src/types.ts +105 -0
- package/engineering-team/playwright-pro/integrations/testrail-mcp/tsconfig.json +14 -0
- package/engineering-team/playwright-pro/settings.json +8 -0
- package/engineering-team/playwright-pro/skills/browserstack/SKILL.md +168 -0
- package/engineering-team/playwright-pro/skills/coverage/SKILL.md +98 -0
- package/engineering-team/playwright-pro/skills/fix/SKILL.md +113 -0
- package/engineering-team/playwright-pro/skills/fix/flaky-taxonomy.md +134 -0
- package/engineering-team/playwright-pro/skills/generate/SKILL.md +144 -0
- package/engineering-team/playwright-pro/skills/generate/patterns.md +163 -0
- package/engineering-team/playwright-pro/skills/init/SKILL.md +201 -0
- package/engineering-team/playwright-pro/skills/migrate/SKILL.md +135 -0
- package/engineering-team/playwright-pro/skills/migrate/cypress-mapping.md +79 -0
- package/engineering-team/playwright-pro/skills/migrate/selenium-mapping.md +94 -0
- package/engineering-team/playwright-pro/skills/pw/SKILL.md +124 -0
- package/engineering-team/playwright-pro/skills/pw/reference/assertions.md +89 -0
- package/engineering-team/playwright-pro/skills/pw/reference/common-pitfalls.md +137 -0
- package/engineering-team/playwright-pro/skills/pw/reference/fixtures.md +121 -0
- package/engineering-team/playwright-pro/skills/pw/reference/flaky-tests.md +56 -0
- package/engineering-team/playwright-pro/skills/pw/reference/golden-rules.md +12 -0
- package/engineering-team/playwright-pro/skills/pw/reference/locators.md +77 -0
- package/engineering-team/playwright-pro/skills/pw/templates/README.md +123 -0
- package/engineering-team/playwright-pro/skills/pw/templates/accessibility/color-contrast.md +162 -0
- package/engineering-team/playwright-pro/skills/pw/templates/accessibility/keyboard-navigation.md +149 -0
- package/engineering-team/playwright-pro/skills/pw/templates/accessibility/screen-reader.md +159 -0
- package/engineering-team/playwright-pro/skills/pw/templates/api/auth-headers.md +148 -0
- package/engineering-team/playwright-pro/skills/pw/templates/api/error-responses.md +157 -0
- package/engineering-team/playwright-pro/skills/pw/templates/api/graphql.md +174 -0
- package/engineering-team/playwright-pro/skills/pw/templates/api/rate-limiting.md +152 -0
- package/engineering-team/playwright-pro/skills/pw/templates/api/rest-crud.md +152 -0
- package/engineering-team/playwright-pro/skills/pw/templates/auth/login.md +119 -0
- package/engineering-team/playwright-pro/skills/pw/templates/auth/logout.md +112 -0
- package/engineering-team/playwright-pro/skills/pw/templates/auth/mfa.md +125 -0
- package/engineering-team/playwright-pro/skills/pw/templates/auth/password-reset.md +129 -0
- package/engineering-team/playwright-pro/skills/pw/templates/auth/rbac.md +132 -0
- package/engineering-team/playwright-pro/skills/pw/templates/auth/remember-me.md +127 -0
- package/engineering-team/playwright-pro/skills/pw/templates/auth/session-timeout.md +113 -0
- package/engineering-team/playwright-pro/skills/pw/templates/auth/sso.md +115 -0
- package/engineering-team/playwright-pro/skills/pw/templates/checkout/add-to-cart.md +112 -0
- package/engineering-team/playwright-pro/skills/pw/templates/checkout/apply-coupon.md +123 -0
- package/engineering-team/playwright-pro/skills/pw/templates/checkout/order-confirm.md +108 -0
- package/engineering-team/playwright-pro/skills/pw/templates/checkout/order-history.md +119 -0
- package/engineering-team/playwright-pro/skills/pw/templates/checkout/payment.md +148 -0
- package/engineering-team/playwright-pro/skills/pw/templates/checkout/update-quantity.md +125 -0
- package/engineering-team/playwright-pro/skills/pw/templates/crud/bulk-operations.md +129 -0
- package/engineering-team/playwright-pro/skills/pw/templates/crud/create.md +118 -0
- package/engineering-team/playwright-pro/skills/pw/templates/crud/delete.md +116 -0
- package/engineering-team/playwright-pro/skills/pw/templates/crud/read.md +117 -0
- package/engineering-team/playwright-pro/skills/pw/templates/crud/soft-delete.md +113 -0
- package/engineering-team/playwright-pro/skills/pw/templates/crud/update.md +129 -0
- package/engineering-team/playwright-pro/skills/pw/templates/dashboard/chart-rendering.md +131 -0
- package/engineering-team/playwright-pro/skills/pw/templates/dashboard/data-loading.md +128 -0
- package/engineering-team/playwright-pro/skills/pw/templates/dashboard/date-range-filter.md +136 -0
- package/engineering-team/playwright-pro/skills/pw/templates/dashboard/export.md +146 -0
- package/engineering-team/playwright-pro/skills/pw/templates/dashboard/realtime-updates.md +143 -0
- package/engineering-team/playwright-pro/skills/pw/templates/forms/autosave.md +135 -0
- package/engineering-team/playwright-pro/skills/pw/templates/forms/conditional-fields.md +120 -0
- package/engineering-team/playwright-pro/skills/pw/templates/forms/file-upload.md +136 -0
- package/engineering-team/playwright-pro/skills/pw/templates/forms/multi-step.md +137 -0
- package/engineering-team/playwright-pro/skills/pw/templates/forms/single-step.md +124 -0
- package/engineering-team/playwright-pro/skills/pw/templates/forms/validation.md +141 -0
- package/engineering-team/playwright-pro/skills/pw/templates/notifications/in-app.md +125 -0
- package/engineering-team/playwright-pro/skills/pw/templates/notifications/notification-center.md +128 -0
- package/engineering-team/playwright-pro/skills/pw/templates/notifications/toast-messages.md +139 -0
- package/engineering-team/playwright-pro/skills/pw/templates/onboarding/email-verification.md +118 -0
- package/engineering-team/playwright-pro/skills/pw/templates/onboarding/first-time-setup.md +130 -0
- package/engineering-team/playwright-pro/skills/pw/templates/onboarding/registration.md +131 -0
- package/engineering-team/playwright-pro/skills/pw/templates/onboarding/welcome-tour.md +128 -0
- package/engineering-team/playwright-pro/skills/pw/templates/search/basic-search.md +118 -0
- package/engineering-team/playwright-pro/skills/pw/templates/search/empty-state.md +109 -0
- package/engineering-team/playwright-pro/skills/pw/templates/search/filters.md +128 -0
- package/engineering-team/playwright-pro/skills/pw/templates/search/pagination.md +123 -0
- package/engineering-team/playwright-pro/skills/pw/templates/search/sorting.md +131 -0
- package/engineering-team/playwright-pro/skills/pw/templates/settings/account-delete.md +136 -0
- package/engineering-team/playwright-pro/skills/pw/templates/settings/notification-prefs.md +139 -0
- package/engineering-team/playwright-pro/skills/pw/templates/settings/password-change.md +143 -0
- package/engineering-team/playwright-pro/skills/pw/templates/settings/profile-update.md +130 -0
- package/engineering-team/playwright-pro/skills/report/SKILL.md +126 -0
- package/engineering-team/playwright-pro/skills/review/SKILL.md +102 -0
- package/engineering-team/playwright-pro/skills/review/anti-patterns.md +182 -0
- package/engineering-team/playwright-pro/skills/testrail/SKILL.md +129 -0
- package/engineering-team/self-improving-agent/.claude-plugin/plugin.json +15 -0
- package/engineering-team/self-improving-agent/CLAUDE.md +84 -0
- package/engineering-team/self-improving-agent/LICENSE +21 -0
- package/engineering-team/self-improving-agent/README.md +92 -0
- package/engineering-team/self-improving-agent/agents/memory-analyst.md +82 -0
- package/engineering-team/self-improving-agent/agents/skill-extractor.md +133 -0
- package/engineering-team/self-improving-agent/hooks/error-capture.sh +119 -0
- package/engineering-team/self-improving-agent/hooks/hooks.json +15 -0
- package/engineering-team/self-improving-agent/reference/memory-architecture.md +131 -0
- package/engineering-team/self-improving-agent/reference/promotion-rules.md +83 -0
- package/engineering-team/self-improving-agent/reference/rules-directory-patterns.md +137 -0
- package/engineering-team/self-improving-agent/settings.json +28 -0
- package/engineering-team/self-improving-agent/skills/extract/SKILL.md +193 -0
- package/engineering-team/self-improving-agent/skills/promote/SKILL.md +144 -0
- package/engineering-team/self-improving-agent/skills/remember/SKILL.md +98 -0
- package/engineering-team/self-improving-agent/skills/review/SKILL.md +126 -0
- package/engineering-team/self-improving-agent/skills/self-improving-agent/SKILL.md +162 -0
- package/engineering-team/self-improving-agent/skills/status/SKILL.md +103 -0
- package/engineering-team/self-improving-agent/templates/rule-template.md +17 -0
- package/engineering-team/self-improving-agent/templates/skill-template.md +53 -0
- package/engineering-team/senior-architect.zip +0 -0
- package/engineering-team/senior-backend.zip +0 -0
- package/engineering-team/senior-computer-vision.zip +0 -0
- package/engineering-team/senior-data-engineer.zip +0 -0
- package/engineering-team/senior-data-scientist.zip +0 -0
- package/engineering-team/senior-devops.zip +0 -0
- package/engineering-team/senior-frontend.zip +0 -0
- package/engineering-team/senior-fullstack.zip +0 -0
- package/engineering-team/senior-ml-engineer.zip +0 -0
- package/engineering-team/senior-prompt-engineer.zip +0 -0
- package/engineering-team/senior-qa.zip +0 -0
- package/engineering-team/senior-secops.zip +0 -0
- package/engineering-team/senior-security.zip +0 -0
- package/engineering-team/skills/adversarial-reviewer/SKILL.md +247 -0
- package/engineering-team/skills/ai-security/SKILL.md +364 -0
- package/engineering-team/skills/ai-security/references/atlas-coverage.md +150 -0
- package/engineering-team/skills/ai-security/scripts/ai_threat_scanner.py +564 -0
- package/engineering-team/skills/aws-solution-architect/SKILL.md +381 -0
- package/engineering-team/skills/aws-solution-architect/assets/expected_output.json +55 -0
- package/engineering-team/skills/aws-solution-architect/assets/sample_input.json +18 -0
- package/engineering-team/skills/aws-solution-architect/references/architecture_patterns.md +535 -0
- package/engineering-team/skills/aws-solution-architect/references/best_practices.md +631 -0
- package/engineering-team/skills/aws-solution-architect/references/service_selection.md +484 -0
- package/engineering-team/skills/aws-solution-architect/scripts/architecture_designer.py +808 -0
- package/engineering-team/skills/aws-solution-architect/scripts/cost_optimizer.py +346 -0
- package/engineering-team/skills/aws-solution-architect/scripts/serverless_stack.py +663 -0
- package/engineering-team/skills/azure-cloud-architect/SKILL.md +463 -0
- package/engineering-team/skills/azure-cloud-architect/references/architecture_patterns.md +413 -0
- package/engineering-team/skills/azure-cloud-architect/references/best_practices.md +337 -0
- package/engineering-team/skills/azure-cloud-architect/references/service_selection.md +250 -0
- package/engineering-team/skills/azure-cloud-architect/scripts/architecture_designer.py +592 -0
- package/engineering-team/skills/azure-cloud-architect/scripts/bicep_generator.py +775 -0
- package/engineering-team/skills/azure-cloud-architect/scripts/cost_optimizer.py +492 -0
- package/engineering-team/skills/cloud-security/SKILL.md +343 -0
- package/engineering-team/skills/cloud-security/references/cspm-checks.md +109 -0
- package/engineering-team/skills/cloud-security/scripts/cloud_posture_check.py +1180 -0
- package/engineering-team/skills/code-reviewer/README.md +92 -0
- package/engineering-team/skills/code-reviewer/SKILL.md +183 -0
- package/engineering-team/skills/code-reviewer/assets/sample_c_clean.c +71 -0
- package/engineering-team/skills/code-reviewer/assets/sample_c_smells.c +66 -0
- package/engineering-team/skills/code-reviewer/assets/sample_csharp_clean.cs +100 -0
- package/engineering-team/skills/code-reviewer/assets/sample_csharp_smells.cs +78 -0
- package/engineering-team/skills/code-reviewer/assets/sample_java_clean.java +55 -0
- package/engineering-team/skills/code-reviewer/assets/sample_java_smells.java +56 -0
- package/engineering-team/skills/code-reviewer/expected_outputs/sample_c_clean_quality.json +65 -0
- package/engineering-team/skills/code-reviewer/expected_outputs/sample_c_smells_quality.json +155 -0
- package/engineering-team/skills/code-reviewer/expected_outputs/sample_csharp_clean_quality.json +135 -0
- package/engineering-team/skills/code-reviewer/expected_outputs/sample_csharp_smells_quality.json +143 -0
- package/engineering-team/skills/code-reviewer/expected_outputs/sample_java_clean_quality.json +53 -0
- package/engineering-team/skills/code-reviewer/expected_outputs/sample_java_smells_quality.json +83 -0
- package/engineering-team/skills/code-reviewer/languages/c.md +103 -0
- package/engineering-team/skills/code-reviewer/languages/cpp.md +103 -0
- package/engineering-team/skills/code-reviewer/languages/csharp.md +97 -0
- package/engineering-team/skills/code-reviewer/languages/dart.md +108 -0
- package/engineering-team/skills/code-reviewer/languages/go.md +92 -0
- package/engineering-team/skills/code-reviewer/languages/java.md +103 -0
- package/engineering-team/skills/code-reviewer/languages/kotlin.md +88 -0
- package/engineering-team/skills/code-reviewer/languages/php.md +109 -0
- package/engineering-team/skills/code-reviewer/languages/python.md +94 -0
- package/engineering-team/skills/code-reviewer/languages/ruby.md +105 -0
- package/engineering-team/skills/code-reviewer/languages/rust.md +99 -0
- package/engineering-team/skills/code-reviewer/languages/swift.md +88 -0
- package/engineering-team/skills/code-reviewer/languages/typescript.md +97 -0
- package/engineering-team/skills/code-reviewer/rules/universal.md +49 -0
- package/engineering-team/skills/code-reviewer/scripts/code_quality_checker.py +1020 -0
- package/engineering-team/skills/code-reviewer/scripts/pr_analyzer.py +535 -0
- package/engineering-team/skills/code-reviewer/scripts/review_report_generator.py +505 -0
- package/engineering-team/skills/email-template-builder/SKILL.md +439 -0
- package/engineering-team/skills/engineering-skills/SKILL.md +91 -0
- package/engineering-team/skills/epic-design/SKILL.md +353 -0
- package/engineering-team/skills/epic-design/references/accessibility.md +378 -0
- package/engineering-team/skills/epic-design/references/asset-pipeline.md +135 -0
- package/engineering-team/skills/epic-design/references/depth-system.md +361 -0
- package/engineering-team/skills/epic-design/references/directional-reveals.md +455 -0
- package/engineering-team/skills/epic-design/references/examples.md +344 -0
- package/engineering-team/skills/epic-design/references/inter-section-effects.md +493 -0
- package/engineering-team/skills/epic-design/references/motion-system.md +531 -0
- package/engineering-team/skills/epic-design/references/performance.md +261 -0
- package/engineering-team/skills/epic-design/references/text-animations.md +709 -0
- package/engineering-team/skills/epic-design/scripts/inspect-assets.py +269 -0
- package/engineering-team/skills/epic-design/scripts/validate-layers.js +165 -0
- package/engineering-team/skills/gcp-cloud-architect/SKILL.md +444 -0
- package/engineering-team/skills/gcp-cloud-architect/references/architecture_patterns.md +512 -0
- package/engineering-team/skills/gcp-cloud-architect/references/best_practices.md +467 -0
- package/engineering-team/skills/gcp-cloud-architect/references/service_selection.md +547 -0
- package/engineering-team/skills/gcp-cloud-architect/scripts/architecture_designer.py +805 -0
- package/engineering-team/skills/gcp-cloud-architect/scripts/cost_optimizer.py +465 -0
- package/engineering-team/skills/gcp-cloud-architect/scripts/deployment_manager.py +835 -0
- package/engineering-team/skills/incident-commander/README.md +252 -0
- package/engineering-team/skills/incident-commander/SKILL.md +476 -0
- package/engineering-team/skills/incident-commander/assets/incident_report_template.md +171 -0
- package/engineering-team/skills/incident-commander/assets/runbook_template.md +289 -0
- package/engineering-team/skills/incident-commander/assets/sample_incident_classification.json +14 -0
- package/engineering-team/skills/incident-commander/assets/sample_incident_data.json +276 -0
- package/engineering-team/skills/incident-commander/assets/sample_incident_pir_data.json +74 -0
- package/engineering-team/skills/incident-commander/assets/sample_timeline_events.json +263 -0
- package/engineering-team/skills/incident-commander/assets/simple_incident.json +6 -0
- package/engineering-team/skills/incident-commander/assets/simple_timeline_events.json +30 -0
- package/engineering-team/skills/incident-commander/expected_outputs/incident_classification_text_output.txt +44 -0
- package/engineering-team/skills/incident-commander/expected_outputs/pir_markdown_output.md +88 -0
- package/engineering-team/skills/incident-commander/expected_outputs/simple_incident_classification.txt +44 -0
- package/engineering-team/skills/incident-commander/expected_outputs/timeline_reconstruction_text_output.txt +110 -0
- package/engineering-team/skills/incident-commander/references/communication_templates.md +591 -0
- package/engineering-team/skills/incident-commander/references/incident-response-framework.md +372 -0
- package/engineering-team/skills/incident-commander/references/incident_severity_matrix.md +292 -0
- package/engineering-team/skills/incident-commander/references/rca_frameworks_guide.md +562 -0
- package/engineering-team/skills/incident-commander/references/reference-information.md +201 -0
- package/engineering-team/skills/incident-commander/references/sla-management-guide.md +566 -0
- package/engineering-team/skills/incident-commander/scripts/incident_classifier.py +914 -0
- package/engineering-team/skills/incident-commander/scripts/incident_timeline_builder.py +742 -0
- package/engineering-team/skills/incident-commander/scripts/pir_generator.py +1638 -0
- package/engineering-team/skills/incident-commander/scripts/postmortem_generator.py +804 -0
- package/engineering-team/skills/incident-commander/scripts/severity_classifier.py +1228 -0
- package/engineering-team/skills/incident-commander/scripts/timeline_reconstructor.py +1007 -0
- package/engineering-team/skills/incident-response/SKILL.md +322 -0
- package/engineering-team/skills/incident-response/references/regulatory-deadlines.md +125 -0
- package/engineering-team/skills/incident-response/scripts/incident_triage.py +768 -0
- package/engineering-team/skills/ms365-tenant-manager/SKILL.md +273 -0
- package/engineering-team/skills/ms365-tenant-manager/expected_output.json +86 -0
- package/engineering-team/skills/ms365-tenant-manager/references/powershell-templates.md +704 -0
- package/engineering-team/skills/ms365-tenant-manager/references/security-policies.md +357 -0
- package/engineering-team/skills/ms365-tenant-manager/references/troubleshooting.md +411 -0
- package/engineering-team/skills/ms365-tenant-manager/sample_input.json +21 -0
- package/engineering-team/skills/ms365-tenant-manager/scripts/powershell_generator.py +430 -0
- package/engineering-team/skills/ms365-tenant-manager/scripts/tenant_setup.py +447 -0
- package/engineering-team/skills/ms365-tenant-manager/scripts/user_management.py +447 -0
- package/engineering-team/skills/red-team/SKILL.md +335 -0
- package/engineering-team/skills/red-team/references/attack-path-methodology.md +135 -0
- package/engineering-team/skills/red-team/scripts/engagement_planner.py +420 -0
- package/engineering-team/skills/security-pen-testing/SKILL.md +306 -0
- package/engineering-team/skills/security-pen-testing/references/attack_patterns.md +629 -0
- package/engineering-team/skills/security-pen-testing/references/owasp_top_10_checklist.md +440 -0
- package/engineering-team/skills/security-pen-testing/references/responsible_disclosure.md +317 -0
- package/engineering-team/skills/security-pen-testing/scripts/dependency_auditor.py +455 -0
- package/engineering-team/skills/security-pen-testing/scripts/pentest_report_generator.py +462 -0
- package/engineering-team/skills/security-pen-testing/scripts/vulnerability_scanner.py +545 -0
- package/engineering-team/skills/senior-architect/SKILL.md +343 -0
- package/engineering-team/skills/senior-architect/references/architecture_patterns.md +470 -0
- package/engineering-team/skills/senior-architect/references/system_design_workflows.md +536 -0
- package/engineering-team/skills/senior-architect/references/tech_decision_guide.md +412 -0
- package/engineering-team/skills/senior-architect/scripts/architecture_diagram_generator.py +660 -0
- package/engineering-team/skills/senior-architect/scripts/dependency_analyzer.py +615 -0
- package/engineering-team/skills/senior-architect/scripts/project_architect.py +749 -0
- package/engineering-team/skills/senior-backend/SKILL.md +467 -0
- package/engineering-team/skills/senior-backend/profiles/django-monolith.json +57 -0
- package/engineering-team/skills/senior-backend/profiles/fastapi-python.json +58 -0
- package/engineering-team/skills/senior-backend/profiles/go-or-rust-microservice.json +62 -0
- package/engineering-team/skills/senior-backend/profiles/node-express.json +57 -0
- package/engineering-team/skills/senior-backend/references/api_design_patterns.md +530 -0
- package/engineering-team/skills/senior-backend/references/backend_security_practices.md +1075 -0
- package/engineering-team/skills/senior-backend/references/composition_map.md +58 -0
- package/engineering-team/skills/senior-backend/references/database_optimization_guide.md +593 -0
- package/engineering-team/skills/senior-backend/references/forcing_questions.md +100 -0
- package/engineering-team/skills/senior-backend/scripts/api_load_tester.py +607 -0
- package/engineering-team/skills/senior-backend/scripts/api_scaffolder.py +645 -0
- package/engineering-team/skills/senior-backend/scripts/backend_decision_engine.py +397 -0
- package/engineering-team/skills/senior-backend/scripts/database_migration_tool.py +858 -0
- package/engineering-team/skills/senior-computer-vision/SKILL.md +438 -0
- package/engineering-team/skills/senior-computer-vision/references/computer_vision_architectures.md +683 -0
- package/engineering-team/skills/senior-computer-vision/references/object_detection_optimization.md +885 -0
- package/engineering-team/skills/senior-computer-vision/references/production_vision_systems.md +1226 -0
- package/engineering-team/skills/senior-computer-vision/references/reference-docs-and-commands.md +96 -0
- package/engineering-team/skills/senior-computer-vision/scripts/dataset_pipeline_builder.py +1699 -0
- package/engineering-team/skills/senior-computer-vision/scripts/inference_optimizer.py +557 -0
- package/engineering-team/skills/senior-computer-vision/scripts/vision_model_trainer.py +576 -0
- package/engineering-team/skills/senior-data-engineer/SKILL.md +191 -0
- package/engineering-team/skills/senior-data-engineer/references/data_modeling_patterns.md +1058 -0
- package/engineering-team/skills/senior-data-engineer/references/data_pipeline_architecture.md +1100 -0
- package/engineering-team/skills/senior-data-engineer/references/dataops_best_practices.md +1502 -0
- package/engineering-team/skills/senior-data-engineer/references/troubleshooting.md +183 -0
- package/engineering-team/skills/senior-data-engineer/references/workflows.md +624 -0
- package/engineering-team/skills/senior-data-engineer/scripts/data_quality_validator.py +1636 -0
- package/engineering-team/skills/senior-data-engineer/scripts/etl_performance_optimizer.py +1685 -0
- package/engineering-team/skills/senior-data-engineer/scripts/pipeline_orchestrator.py +883 -0
- package/engineering-team/skills/senior-data-scientist/SKILL.md +223 -0
- package/engineering-team/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
- package/engineering-team/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
- package/engineering-team/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
- package/engineering-team/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
- package/engineering-team/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
- package/engineering-team/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
- package/engineering-team/skills/senior-devops/SKILL.md +323 -0
- package/engineering-team/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
- package/engineering-team/skills/senior-devops/references/deployment_strategies.md +103 -0
- package/engineering-team/skills/senior-devops/references/infrastructure_as_code.md +103 -0
- package/engineering-team/skills/senior-devops/scripts/deployment_manager.py +114 -0
- package/engineering-team/skills/senior-devops/scripts/pipeline_generator.py +114 -0
- package/engineering-team/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
- package/engineering-team/skills/senior-frontend/SKILL.md +572 -0
- package/engineering-team/skills/senior-frontend/profiles/astro-or-static.json +59 -0
- package/engineering-team/skills/senior-frontend/profiles/next-app-router.json +60 -0
- package/engineering-team/skills/senior-frontend/profiles/remix-or-sveltekit.json +56 -0
- package/engineering-team/skills/senior-frontend/profiles/vite-spa.json +56 -0
- package/engineering-team/skills/senior-frontend/references/composition_map.md +50 -0
- package/engineering-team/skills/senior-frontend/references/forcing_questions.md +102 -0
- package/engineering-team/skills/senior-frontend/references/frontend_best_practices.md +806 -0
- package/engineering-team/skills/senior-frontend/references/nextjs_optimization_guide.md +724 -0
- package/engineering-team/skills/senior-frontend/references/react_patterns.md +746 -0
- package/engineering-team/skills/senior-frontend/scripts/bundle_analyzer.py +407 -0
- package/engineering-team/skills/senior-frontend/scripts/component_generator.py +329 -0
- package/engineering-team/skills/senior-frontend/scripts/frontend_decision_engine.py +327 -0
- package/engineering-team/skills/senior-frontend/scripts/frontend_scaffolder.py +1005 -0
- package/engineering-team/skills/senior-fullstack/SKILL.md +412 -0
- package/engineering-team/skills/senior-fullstack/profiles/enterprise-scale.json +75 -0
- package/engineering-team/skills/senior-fullstack/profiles/internal-tool.json +60 -0
- package/engineering-team/skills/senior-fullstack/profiles/marketing-site.json +65 -0
- package/engineering-team/skills/senior-fullstack/profiles/saas-startup.json +71 -0
- package/engineering-team/skills/senior-fullstack/references/architecture_patterns.md +547 -0
- package/engineering-team/skills/senior-fullstack/references/composition_map.md +52 -0
- package/engineering-team/skills/senior-fullstack/references/development_workflows.md +784 -0
- package/engineering-team/skills/senior-fullstack/references/forcing_questions.md +100 -0
- package/engineering-team/skills/senior-fullstack/references/tech_stack_guide.md +590 -0
- package/engineering-team/skills/senior-fullstack/scripts/code_quality_analyzer.py +691 -0
- package/engineering-team/skills/senior-fullstack/scripts/fullstack_decision_engine.py +403 -0
- package/engineering-team/skills/senior-fullstack/scripts/project_scaffolder.py +867 -0
- package/engineering-team/skills/senior-ml-engineer/SKILL.md +304 -0
- package/engineering-team/skills/senior-ml-engineer/references/llm_integration_guide.md +317 -0
- package/engineering-team/skills/senior-ml-engineer/references/mlops_production_patterns.md +265 -0
- package/engineering-team/skills/senior-ml-engineer/references/rag_system_architecture.md +371 -0
- package/engineering-team/skills/senior-ml-engineer/scripts/ml_monitoring_suite.py +100 -0
- package/engineering-team/skills/senior-ml-engineer/scripts/model_deployment_pipeline.py +100 -0
- package/engineering-team/skills/senior-ml-engineer/scripts/rag_system_builder.py +100 -0
- package/engineering-team/skills/senior-prompt-engineer/SKILL.md +355 -0
- package/engineering-team/skills/senior-prompt-engineer/references/agentic_system_design.md +646 -0
- package/engineering-team/skills/senior-prompt-engineer/references/llm_evaluation_frameworks.md +524 -0
- package/engineering-team/skills/senior-prompt-engineer/references/prompt_engineering_patterns.md +572 -0
- package/engineering-team/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +560 -0
- package/engineering-team/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +519 -0
- package/engineering-team/skills/senior-prompt-engineer/scripts/rag_evaluator.py +574 -0
- package/engineering-team/skills/senior-qa/README.md +196 -0
- package/engineering-team/skills/senior-qa/SKILL.md +331 -0
- package/engineering-team/skills/senior-qa/references/qa_best_practices.md +964 -0
- package/engineering-team/skills/senior-qa/references/test_automation_patterns.md +1009 -0
- package/engineering-team/skills/senior-qa/references/testing_strategies.md +649 -0
- package/engineering-team/skills/senior-qa/scripts/coverage_analyzer.py +836 -0
- package/engineering-team/skills/senior-qa/scripts/e2e_test_scaffolder.py +820 -0
- package/engineering-team/skills/senior-qa/scripts/test_suite_generator.py +605 -0
- package/engineering-team/skills/senior-secops/SKILL.md +505 -0
- package/engineering-team/skills/senior-secops/references/compliance_requirements.md +792 -0
- package/engineering-team/skills/senior-secops/references/security_standards.md +718 -0
- package/engineering-team/skills/senior-secops/references/vulnerability_management_guide.md +487 -0
- package/engineering-team/skills/senior-secops/scripts/compliance_checker.py +1107 -0
- package/engineering-team/skills/senior-secops/scripts/security_scanner.py +471 -0
- package/engineering-team/skills/senior-secops/scripts/vulnerability_assessor.py +563 -0
- package/engineering-team/skills/senior-security/SKILL.md +444 -0
- package/engineering-team/skills/senior-security/references/cryptography-implementation.md +775 -0
- package/engineering-team/skills/senior-security/references/security-architecture-patterns.md +615 -0
- package/engineering-team/skills/senior-security/references/threat-modeling-guide.md +518 -0
- package/engineering-team/skills/senior-security/scripts/secret_scanner.py +516 -0
- package/engineering-team/skills/senior-security/scripts/threat_modeler.py +609 -0
- package/engineering-team/skills/skill-authoring/SKILL.md +125 -0
- package/engineering-team/skills/stripe-integration-expert/SKILL.md +476 -0
- package/engineering-team/skills/tdd-guide/HOW_TO_USE.md +313 -0
- package/engineering-team/skills/tdd-guide/README.md +680 -0
- package/engineering-team/skills/tdd-guide/SKILL.md +403 -0
- package/engineering-team/skills/tdd-guide/assets/expected_output.json +77 -0
- package/engineering-team/skills/tdd-guide/assets/sample_coverage_report.lcov +56 -0
- package/engineering-team/skills/tdd-guide/assets/sample_input_python.json +39 -0
- package/engineering-team/skills/tdd-guide/assets/sample_input_typescript.json +36 -0
- package/engineering-team/skills/tdd-guide/references/ci-integration.md +195 -0
- package/engineering-team/skills/tdd-guide/references/framework-guide.md +206 -0
- package/engineering-team/skills/tdd-guide/references/tdd-best-practices.md +128 -0
- package/engineering-team/skills/tdd-guide/scripts/coverage_analyzer.py +434 -0
- package/engineering-team/skills/tdd-guide/scripts/fixture_generator.py +440 -0
- package/engineering-team/skills/tdd-guide/scripts/format_detector.py +384 -0
- package/engineering-team/skills/tdd-guide/scripts/framework_adapter.py +428 -0
- package/engineering-team/skills/tdd-guide/scripts/metrics_calculator.py +456 -0
- package/engineering-team/skills/tdd-guide/scripts/output_formatter.py +354 -0
- package/engineering-team/skills/tdd-guide/scripts/tdd_workflow.py +474 -0
- package/engineering-team/skills/tdd-guide/scripts/test_generator.py +438 -0
- package/engineering-team/skills/tech-stack-evaluator/SKILL.md +184 -0
- package/engineering-team/skills/tech-stack-evaluator/assets/expected_output_comparison.json +82 -0
- package/engineering-team/skills/tech-stack-evaluator/assets/sample_input_structured.json +39 -0
- package/engineering-team/skills/tech-stack-evaluator/assets/sample_input_tco.json +42 -0
- package/engineering-team/skills/tech-stack-evaluator/assets/sample_input_text.json +4 -0
- package/engineering-team/skills/tech-stack-evaluator/references/examples.md +383 -0
- package/engineering-team/skills/tech-stack-evaluator/references/metrics.md +242 -0
- package/engineering-team/skills/tech-stack-evaluator/references/workflows.md +362 -0
- package/engineering-team/skills/tech-stack-evaluator/scripts/ecosystem_analyzer.py +501 -0
- package/engineering-team/skills/tech-stack-evaluator/scripts/format_detector.py +430 -0
- package/engineering-team/skills/tech-stack-evaluator/scripts/migration_analyzer.py +587 -0
- package/engineering-team/skills/tech-stack-evaluator/scripts/report_generator.py +460 -0
- package/engineering-team/skills/tech-stack-evaluator/scripts/security_assessor.py +518 -0
- package/engineering-team/skills/tech-stack-evaluator/scripts/stack_comparator.py +389 -0
- package/engineering-team/skills/tech-stack-evaluator/scripts/tco_calculator.py +458 -0
- package/engineering-team/skills/threat-detection/SKILL.md +299 -0
- package/engineering-team/skills/threat-detection/references/hunt-playbooks.md +145 -0
- package/engineering-team/skills/threat-detection/scripts/threat_signal_analyzer.py +571 -0
- package/engineering-team/snowflake-development/.claude-plugin/plugin.json +15 -0
- package/engineering-team/snowflake-development/skills/snowflake-development/SKILL.md +294 -0
- package/engineering-team/snowflake-development/skills/snowflake-development/references/cortex_ai_and_agents.md +280 -0
- package/engineering-team/snowflake-development/skills/snowflake-development/references/snowflake_sql_and_pipelines.md +281 -0
- package/engineering-team/snowflake-development/skills/snowflake-development/references/troubleshooting.md +155 -0
- package/engineering-team/snowflake-development/skills/snowflake-development/scripts/snowflake_query_helper.py +233 -0
- package/engineering-team/tdd-guide.zip +0 -0
- package/engineering-team/tech-stack-evaluator.zip +0 -0
- package/finance/business-investment-advisor/SKILL.md +220 -0
- package/finance/finance-skills/SKILL.md +55 -0
- package/finance/financial-analyst/SKILL.md +148 -0
- package/finance/saas-metrics-coach/SKILL.md +158 -0
- package/marketing/ab-test-setup/SKILL.md +302 -0
- package/marketing/ad-creative/SKILL.md +267 -0
- package/marketing/aeo/SKILL.md +214 -0
- package/marketing/ai-seo/SKILL.md +331 -0
- package/marketing/analytics-tracking/SKILL.md +371 -0
- package/marketing/app-store-optimization/SKILL.md +486 -0
- package/marketing/brand-guidelines/SKILL.md +93 -0
- package/marketing/campaign-analytics/SKILL.md +228 -0
- package/marketing/churn-prevention/SKILL.md +240 -0
- package/marketing/cold-email/SKILL.md +272 -0
- package/marketing/competitor-alternatives/SKILL.md +290 -0
- package/marketing/content-creator/SKILL.md +55 -0
- package/marketing/content-humanizer/SKILL.md +261 -0
- package/marketing/content-production/SKILL.md +245 -0
- package/marketing/content-strategy/SKILL.md +127 -0
- package/marketing/copy-editing/SKILL.md +491 -0
- package/marketing/copywriting/SKILL.md +296 -0
- package/marketing/email-sequence/SKILL.md +135 -0
- package/marketing/form-cro/SKILL.md +204 -0
- package/marketing/free-tool-strategy/SKILL.md +272 -0
- package/marketing/landing/SKILL.md +346 -0
- package/marketing/launch-strategy/SKILL.md +74 -0
- package/marketing/marketing-context/SKILL.md +169 -0
- package/marketing/marketing-demand-acquisition/SKILL.md +312 -0
- package/marketing/marketing-ideas/SKILL.md +211 -0
- package/marketing/marketing-ops/SKILL.md +190 -0
- package/marketing/marketing-psychology/SKILL.md +123 -0
- package/marketing/marketing-skills/SKILL.md +105 -0
- package/marketing/marketing-strategy-pmm/SKILL.md +398 -0
- package/marketing/onboarding-cro/SKILL.md +251 -0
- package/marketing/page-cro/SKILL.md +222 -0
- package/marketing/paid-ads/SKILL.md +347 -0
- package/marketing/paywall-upgrade-cro/SKILL.md +258 -0
- package/marketing/popup-cro/SKILL.md +229 -0
- package/marketing/pricing-strategy/SKILL.md +323 -0
- package/marketing/programmatic-seo/SKILL.md +278 -0
- package/marketing/prompt-engineer-toolkit/SKILL.md +138 -0
- package/marketing/referral-program/SKILL.md +286 -0
- package/marketing/schema-markup/SKILL.md +233 -0
- package/marketing/seo-audit/SKILL.md +154 -0
- package/marketing/signup-flow-cro/SKILL.md +225 -0
- package/marketing/site-architecture/SKILL.md +289 -0
- package/marketing/social-content/SKILL.md +323 -0
- package/marketing/social-media-analyzer/SKILL.md +309 -0
- package/marketing/social-media-manager/SKILL.md +197 -0
- package/marketing/webinar-marketing/SKILL.md +202 -0
- package/marketing/x-twitter-growth/SKILL.md +226 -0
- package/marketing/youtube-full/SKILL.md +171 -0
- package/package.json +94 -73
- package/product/agile-product-owner/SKILL.md +409 -0
- package/product/apple-hig-expert/SKILL.md +90 -0
- package/product/code-to-prd/SKILL.md +507 -0
- package/product/competitive-teardown/SKILL.md +171 -0
- package/product/experiment-designer/SKILL.md +104 -0
- package/product/landing-page-generator/SKILL.md +198 -0
- package/product/product-analytics/SKILL.md +147 -0
- package/product/product-discovery/SKILL.md +114 -0
- package/product/product-manager-toolkit/SKILL.md +352 -0
- package/product/product-skills/SKILL.md +61 -0
- package/product/product-strategist/SKILL.md +227 -0
- package/product/research-summarizer/SKILL.md +274 -0
- package/product/roadmap-communicator/SKILL.md +92 -0
- package/product/saas-scaffolder/SKILL.md +293 -0
- package/product/spec-to-repo/SKILL.md +274 -0
- package/product/ui-design-system/SKILL.md +379 -0
- package/product/ux-researcher-designer/SKILL.md +419 -0
- package/productivity/andreessen/SKILL.md +178 -0
- package/productivity/capture/SKILL.md +212 -0
- package/productivity/handoff/SKILL.md +197 -0
- package/productivity/inbox-setup/SKILL.md +229 -0
- package/productivity/inbox-triage/SKILL.md +312 -0
- package/productivity/reflect/SKILL.md +182 -0
- package/project-management/atlassian-admin/SKILL.md +234 -0
- package/project-management/atlassian-templates/SKILL.md +252 -0
- package/project-management/confluence-expert/SKILL.md +375 -0
- package/project-management/jira-expert/SKILL.md +305 -0
- package/project-management/meeting-analyzer/SKILL.md +255 -0
- package/project-management/pm-skills/SKILL.md +59 -0
- package/project-management/scrum-master/SKILL.md +222 -0
- package/project-management/senior-pm/SKILL.md +408 -0
- package/project-management/team-communications/SKILL.md +67 -0
- package/research/dossier/.claude-plugin/plugin.json +20 -0
- package/research/dossier/README.md +59 -0
- package/research/dossier/agents/cs-dossier.md +81 -0
- package/research/dossier/commands/cs-dossier.md +141 -0
- package/research/dossier/skills/dossier/SKILL.md +318 -0
- package/research/dossier/skills/dossier/references/conversation_hook_quality.md +135 -0
- package/research/dossier/skills/dossier/references/hypothesis_testing_discipline.md +158 -0
- package/research/dossier/skills/dossier/references/subject_type_source_matrix.md +203 -0
- package/research/dossier/skills/dossier/scripts/citation_tracker.py +286 -0
- package/research/dossier/skills/dossier/scripts/disconfirming_evidence_balance.py +205 -0
- package/research/dossier/skills/dossier/scripts/source_tier_classifier.py +238 -0
- package/research/grants/.claude-plugin/plugin.json +20 -0
- package/research/grants/README.md +54 -0
- package/research/grants/agents/cs-grants.md +75 -0
- package/research/grants/commands/cs-grants.md +128 -0
- package/research/grants/skills/grants/SKILL.md +286 -0
- package/research/grants/skills/grants/references/docx_9_sections.md +289 -0
- package/research/grants/skills/grants/references/nih_mechanism_matching.md +163 -0
- package/research/grants/skills/grants/references/reporter_post_patterns.md +194 -0
- package/research/grants/skills/grants/scripts/citation_tracker.py +303 -0
- package/research/grants/skills/grants/scripts/fiscal_year_calculator.py +95 -0
- package/research/grants/skills/grants/scripts/mechanism_matcher.py +216 -0
- package/research/litreview/.claude-plugin/plugin.json +20 -0
- package/research/litreview/README.md +75 -0
- package/research/litreview/agents/cs-litreview.md +171 -0
- package/research/litreview/commands/cs-litreview.md +143 -0
- package/research/litreview/skills/litreview/SKILL.md +251 -0
- package/research/litreview/skills/litreview/references/docx_8_sections.md +287 -0
- package/research/litreview/skills/litreview/references/framework_selection.md +174 -0
- package/research/litreview/skills/litreview/references/search_budget_allocation.md +200 -0
- package/research/litreview/skills/litreview/scripts/citation_tracker.py +258 -0
- package/research/litreview/skills/litreview/scripts/cross_search_aggregator.py +239 -0
- package/research/litreview/skills/litreview/scripts/framework_recommender.py +204 -0
- package/research/notebooklm/.claude-plugin/plugin.json +20 -0
- package/research/notebooklm/README.md +69 -0
- package/research/notebooklm/agents/cs-notebooklm.md +83 -0
- package/research/notebooklm/commands/cs-notebooklm.md +152 -0
- package/research/notebooklm/skills/notebooklm/SKILL.md +290 -0
- package/research/notebooklm/skills/notebooklm/references/async_action_discipline.md +206 -0
- package/research/notebooklm/skills/notebooklm/references/browser_automation_canon.md +192 -0
- package/research/notebooklm/skills/notebooklm/references/studio_output_custom_prompts.md +217 -0
- package/research/notebooklm/skills/notebooklm/scripts/action_router.py +272 -0
- package/research/notebooklm/skills/notebooklm/scripts/async_action_classifier.py +237 -0
- package/research/notebooklm/skills/notebooklm/scripts/custom_prompt_template_generator.py +270 -0
- package/research/patent/.claude-plugin/plugin.json +20 -0
- package/research/patent/README.md +61 -0
- package/research/patent/agents/cs-patent.md +76 -0
- package/research/patent/commands/cs-patent.md +101 -0
- package/research/patent/skills/patent/SKILL.md +287 -0
- package/research/patent/skills/patent/references/cpc_classification_canon.md +154 -0
- package/research/patent/skills/patent/references/legal_disclaimer_discipline.md +137 -0
- package/research/patent/skills/patent/references/sub_use_case_routing.md +252 -0
- package/research/patent/skills/patent/scripts/citation_tracker.py +241 -0
- package/research/patent/skills/patent/scripts/family_resolver.py +260 -0
- package/research/patent/skills/patent/scripts/sub_use_case_router.py +255 -0
- package/research/pulse/.claude-plugin/plugin.json +19 -0
- package/research/pulse/README.md +57 -0
- package/research/pulse/agents/cs-pulse.md +201 -0
- package/research/pulse/commands/cs-pulse.md +129 -0
- package/research/pulse/skills/pulse/SKILL.md +258 -0
- package/research/pulse/skills/pulse/references/cross_platform_synthesis.md +181 -0
- package/research/pulse/skills/pulse/references/parallel_execution_discipline.md +156 -0
- package/research/pulse/skills/pulse/references/research_pack_conventions.md +108 -0
- package/research/pulse/skills/pulse/scripts/citation_tracker.py +251 -0
- package/research/pulse/skills/pulse/scripts/time_window_calculator.py +140 -0
- package/research/pulse/skills/pulse/scripts/topic_slug_generator.py +145 -0
- package/research/research/.claude-plugin/plugin.json +28 -0
- package/research/research/README.md +72 -0
- package/research/research/agents/cs-research.md +90 -0
- package/research/research/commands/cs-research.md +169 -0
- package/research/research/skills/research/SKILL.md +319 -0
- package/research/research/skills/research/references/deterministic_classification_canon.md +162 -0
- package/research/research/skills/research/references/fallback_workflow_canon.md +214 -0
- package/research/research/skills/research/references/hybrid_router_architecture.md +154 -0
- package/research/research/skills/research/scripts/classifier.py +156 -0
- package/research/research/skills/research/scripts/fallback_decomposer.py +107 -0
- package/research/research/skills/research/scripts/routing_transparency_logger.py +200 -0
- package/research/syllabus/.claude-plugin/plugin.json +20 -0
- package/research/syllabus/README.md +68 -0
- package/research/syllabus/agents/cs-syllabus.md +84 -0
- package/research/syllabus/commands/cs-syllabus.md +143 -0
- package/research/syllabus/skills/syllabus/SKILL.md +293 -0
- package/research/syllabus/skills/syllabus/references/applied_domain_weaving.md +148 -0
- package/research/syllabus/skills/syllabus/references/audience_calibration.md +167 -0
- package/research/syllabus/skills/syllabus/references/bundled_script_pattern.md +150 -0
- package/research/syllabus/skills/syllabus/scripts/citation_tracker.py +217 -0
- package/research/syllabus/skills/syllabus/scripts/discussion_question_validator.py +196 -0
- package/research/syllabus/skills/syllabus/scripts/generate_reading_list.js +395 -0
- package/research/syllabus/skills/syllabus/scripts/topic_grouper.py +198 -0
- package/research-ops/.claude-plugin/plugin.json +24 -0
- package/research-ops/CLAUDE.md +62 -0
- package/research-ops/agents/cs-research-ops-orchestrator.md +94 -0
- package/research-ops/commands/cs-clinical-research.md +40 -0
- package/research-ops/commands/cs-grill-research-ops.md +77 -0
- package/research-ops/commands/cs-market-research.md +40 -0
- package/research-ops/commands/cs-product-research.md +41 -0
- package/research-ops/commands/cs-research-finance.md +39 -0
- package/research-ops/commands/cs-research-ops.md +43 -0
- package/research-ops/skills/clinical-research/SKILL.md +146 -0
- package/research-ops/skills/clinical-research/assets/protocol_synopsis_template.md +57 -0
- package/research-ops/skills/clinical-research/references/endpoint_and_power.md +37 -0
- package/research-ops/skills/clinical-research/references/study_design_canon.md +36 -0
- package/research-ops/skills/clinical-research/references/trial_operations.md +33 -0
- package/research-ops/skills/clinical-research/scripts/ar_evaluator.py +74 -0
- package/research-ops/skills/clinical-research/scripts/config_loader.py +123 -0
- package/research-ops/skills/clinical-research/scripts/endpoint_selector.py +183 -0
- package/research-ops/skills/clinical-research/scripts/onboard.py +144 -0
- package/research-ops/skills/clinical-research/scripts/phase_gate_scorer.py +234 -0
- package/research-ops/skills/clinical-research/scripts/sample_size_estimator.py +205 -0
- package/research-ops/skills/market-research/SKILL.md +146 -0
- package/research-ops/skills/market-research/assets/market_research_brief_template.md +36 -0
- package/research-ops/skills/market-research/references/market_sizing_canon.md +36 -0
- package/research-ops/skills/market-research/references/segmentation_and_ci.md +43 -0
- package/research-ops/skills/market-research/references/survey_methodology.md +39 -0
- package/research-ops/skills/market-research/scripts/ar_evaluator.py +77 -0
- package/research-ops/skills/market-research/scripts/config_loader.py +114 -0
- package/research-ops/skills/market-research/scripts/market_sizer.py +162 -0
- package/research-ops/skills/market-research/scripts/onboard.py +117 -0
- package/research-ops/skills/market-research/scripts/sample_size_planner.py +183 -0
- package/research-ops/skills/market-research/scripts/segmentation_scorer.py +139 -0
- package/research-ops/skills/product-research/SKILL.md +145 -0
- package/research-ops/skills/product-research/assets/research_plan_template.md +50 -0
- package/research-ops/skills/product-research/references/repository_and_synthesis.md +28 -0
- package/research-ops/skills/product-research/references/research_methods_canon.md +34 -0
- package/research-ops/skills/product-research/references/sampling_and_saturation.md +29 -0
- package/research-ops/skills/product-research/scripts/ar_evaluator.py +68 -0
- package/research-ops/skills/product-research/scripts/config_loader.py +114 -0
- package/research-ops/skills/product-research/scripts/insight_synthesizer.py +113 -0
- package/research-ops/skills/product-research/scripts/onboard.py +124 -0
- package/research-ops/skills/product-research/scripts/saturation_planner.py +144 -0
- package/research-ops/skills/product-research/scripts/study_designer.py +139 -0
- package/research-ops/skills/research-finance/SKILL.md +146 -0
- package/research-ops/skills/research-finance/assets/rd_program_budget_template.md +48 -0
- package/research-ops/skills/research-finance/references/burn_and_portfolio.md +28 -0
- package/research-ops/skills/research-finance/references/indirect_rate_modeling.md +42 -0
- package/research-ops/skills/research-finance/references/rd_program_finance_canon.md +29 -0
- package/research-ops/skills/research-finance/scripts/ar_evaluator.py +74 -0
- package/research-ops/skills/research-finance/scripts/burn_runway_tracker.py +153 -0
- package/research-ops/skills/research-finance/scripts/capex_vs_opex_router.py +189 -0
- package/research-ops/skills/research-finance/scripts/config_loader.py +115 -0
- package/research-ops/skills/research-finance/scripts/onboard.py +120 -0
- package/research-ops/skills/research-finance/scripts/program_budget_planner.py +165 -0
- package/research-ops/skills/research-ops-skills/SKILL.md +156 -0
- package/superpowers/brainstorming/SKILL.md +146 -0
- package/superpowers/dispatching-parallel-agents/SKILL.md +146 -0
- package/superpowers/executing-plans/SKILL.md +140 -0
- package/superpowers/finding-duplicate-functions/SKILL.md +161 -0
- package/superpowers/finishing-a-development-branch/SKILL.md +225 -0
- package/superpowers/mcp-cli/SKILL.md +135 -0
- package/superpowers/receiving-code-review/SKILL.md +158 -0
- package/superpowers/requesting-code-review/SKILL.md +181 -0
- package/superpowers/subagent-driven-development/SKILL.md +144 -0
- package/superpowers/systematic-debugging/SKILL.md +165 -0
- package/superpowers/test-driven-development/SKILL.md +165 -0
- package/superpowers/using-git-worktrees/SKILL.md +169 -0
- package/superpowers/using-superpowers/SKILL.md +117 -0
- package/superpowers/using-tmux-for-interactive-commands/SKILL.md +187 -0
- package/superpowers/verification-before-completion/SKILL.md +168 -0
- package/superpowers/windows-vm/SKILL.md +205 -0
- package/superpowers/writing-plans/SKILL.md +155 -0
- package/superpowers/writing-skills/SKILL.md +195 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chaos-engineering
|
|
3
|
+
description: Use when planning, running, or learning from chaos engineering experiments. Triggers on "chaos experiment", "fault injection", "gameday", "resilience test", "blast radius", "steady state", "abort criteria", "Chaos Toolkit", "Chaos Mesh", "Litmus", "Gremlin", "AWS FIS", or any deliberate failure-injection question. Ships experiment designer, blast-radius calculator, and postmortem generator (all stdlib Python), 4 references on chaos principles + experiment design + attack taxonomy + tooling landscape, and a /chaos-experiment slash command. Composes with feature-flags-architect (kill switches as abort triggers) and kubernetes-operator (common chaos targets).
|
|
4
|
+
context: fork
|
|
5
|
+
version: 2.9.0
|
|
6
|
+
author: claude-code-skills
|
|
7
|
+
license: MIT
|
|
8
|
+
tags: [chaos-engineering, resilience, fault-injection, gameday, sre, reliability, chaos-toolkit, chaos-mesh, litmus, gremlin, aws-fis]
|
|
9
|
+
compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Chaos Engineering
|
|
13
|
+
|
|
14
|
+
Design experiments that surface real weaknesses in production systems — without becoming outages. Most "chaos engineering" attempts skip steady-state measurement, define no abort criteria, and have no blast-radius bound. This skill enforces the discipline that makes chaos experiments safe and useful.
|
|
15
|
+
|
|
16
|
+
## When to use
|
|
17
|
+
|
|
18
|
+
- Planning a chaos experiment (what to break, where, when, how to abort)
|
|
19
|
+
- Calculating blast radius before running the experiment
|
|
20
|
+
- Reviewing an existing experiment plan for safety
|
|
21
|
+
- Choosing a chaos tool (Chaos Toolkit / Chaos Mesh / Litmus / Gremlin / AWS FIS)
|
|
22
|
+
- Writing a chaos experiment postmortem
|
|
23
|
+
- Running a Game Day exercise
|
|
24
|
+
|
|
25
|
+
## When NOT to use
|
|
26
|
+
|
|
27
|
+
- General incident response (use `incident-response`)
|
|
28
|
+
- Threat hunting / red-team (use `red-team`, `threat-detection`)
|
|
29
|
+
- Performance load testing (different goal — chaos is about failure modes, not capacity)
|
|
30
|
+
- Production debugging (chaos discovers weaknesses preemptively, not after-the-fact)
|
|
31
|
+
|
|
32
|
+
## Core principle: chaos without abort criteria is an outage
|
|
33
|
+
|
|
34
|
+
The 4 Principles of Chaos Engineering (Netflix, 2016):
|
|
35
|
+
|
|
36
|
+
1. **Build a hypothesis around steady-state behavior.** Not "what breaks?" but "X holds; will it still hold under fault Y?"
|
|
37
|
+
2. **Vary real-world events.** Inject realistic failures: kill nodes, slow networks, lose cache, throttle dependencies.
|
|
38
|
+
3. **Run experiments in production.** Staging never has the same failure modes. Start small.
|
|
39
|
+
4. **Automate experiments to run continuously.** One-off chaos is a press release; continuous chaos is engineering.
|
|
40
|
+
|
|
41
|
+
Add a fifth: **Define abort criteria up front.** A chaos experiment with no abort criteria is an outage by another name.
|
|
42
|
+
|
|
43
|
+
## Quick start
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
SKILL=engineering/chaos-engineering/skills/chaos-engineering
|
|
47
|
+
|
|
48
|
+
# 1. Design an experiment
|
|
49
|
+
python "$SKILL/scripts/experiment_designer.py" --target "checkout-svc" --hypothesis "p99 latency stays <500ms" --attack latency --duration-min 15
|
|
50
|
+
|
|
51
|
+
# 2. Calculate blast radius
|
|
52
|
+
python "$SKILL/scripts/blast_radius_calculator.py" --traffic-share 0.05 --user-pop 1000000 --duration-min 15
|
|
53
|
+
|
|
54
|
+
# 3. Generate postmortem after the experiment
|
|
55
|
+
python "$SKILL/scripts/experiment_postmortem.py" --plan experiment.json --result-log results.txt
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## The 3 Python tools
|
|
59
|
+
|
|
60
|
+
All stdlib-only. Run with `--help`.
|
|
61
|
+
|
|
62
|
+
### `experiment_designer.py`
|
|
63
|
+
|
|
64
|
+
Generates a structured experiment plan from inputs. Enforces the required sections (hypothesis, steady-state metric, blast radius, abort criteria, rollback).
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
python scripts/experiment_designer.py \
|
|
68
|
+
--target "checkout-svc" \
|
|
69
|
+
--hypothesis "p99 latency stays <500ms when payment-svc is slow" \
|
|
70
|
+
--attack latency \
|
|
71
|
+
--magnitude "+200ms" \
|
|
72
|
+
--duration-min 15 \
|
|
73
|
+
--blast-radius "5% of US traffic" \
|
|
74
|
+
--abort-if "p99 > 1000ms OR error_rate > baseline + 1pp"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Outputs a markdown plan with: hypothesis, steady-state, attack, magnitude, duration, blast radius, abort criteria, rollback procedure, monitoring dashboards, and learning question.
|
|
78
|
+
|
|
79
|
+
### `blast_radius_calculator.py`
|
|
80
|
+
|
|
81
|
+
Computes the blast radius of a planned experiment. Given traffic share + user population + duration, calculates expected affected users, expected error budget burn, and a risk score.
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
python scripts/blast_radius_calculator.py \
|
|
85
|
+
--traffic-share 0.05 \
|
|
86
|
+
--user-pop 1000000 \
|
|
87
|
+
--duration-min 15 \
|
|
88
|
+
--baseline-availability 0.999 \
|
|
89
|
+
--expected-impact-availability 0.95
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Outputs:
|
|
93
|
+
- Expected affected users
|
|
94
|
+
- Error budget consumed (in minutes of error budget)
|
|
95
|
+
- Risk score: GREEN / YELLOW / RED
|
|
96
|
+
- Recommendation: PROCEED / REDUCE / ABORT
|
|
97
|
+
|
|
98
|
+
GREEN = <1% error budget; YELLOW = 1-10%; RED = >10%.
|
|
99
|
+
|
|
100
|
+
### `experiment_postmortem.py`
|
|
101
|
+
|
|
102
|
+
Produces a structured postmortem from an experiment plan + results. Catches the common postmortem failure modes: no learning recorded, no follow-up actions, blame-laden language.
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
python scripts/experiment_postmortem.py --plan experiment.json --result-log results.txt
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Outputs markdown with: summary, hypothesis (was it confirmed/refuted?), what we learned, what surprised us, follow-up actions with owners, and link to next experiment.
|
|
109
|
+
|
|
110
|
+
## The 7 attack types (taxonomy)
|
|
111
|
+
|
|
112
|
+
Different attacks reveal different weaknesses. See `references/attack_taxonomy.md` for full detail.
|
|
113
|
+
|
|
114
|
+
| Attack | What it tests | Tooling |
|
|
115
|
+
|---|---|---|
|
|
116
|
+
| **Latency** | Timeouts, retries, circuit breakers | tc, Chaos Mesh `NetworkChaos` |
|
|
117
|
+
| **Error** | Error handling, fallback paths | Chaos Mesh `HTTPChaos`, Toxiproxy |
|
|
118
|
+
| **Resource** (CPU, memory, disk) | Saturation handling, autoscaling | Chaos Mesh `StressChaos`, stress-ng |
|
|
119
|
+
| **Network partition** | Split-brain, consensus, failover | Chaos Mesh `NetworkChaos` partition |
|
|
120
|
+
| **Dependency failure** | Graceful degradation, fallback | Service mesh fault injection |
|
|
121
|
+
| **Time** | Clock skew, NTP issues | libfaketime, Chaos Mesh `TimeChaos` |
|
|
122
|
+
| **Infrastructure** (kill instance) | Auto-recovery, failover | AWS FIS, Chaos Monkey |
|
|
123
|
+
|
|
124
|
+
Pick the attack that matches the hypothesis. "What happens if X is slow?" → latency. "What happens if X loses network?" → partition.
|
|
125
|
+
|
|
126
|
+
## Tooling chooser
|
|
127
|
+
|
|
128
|
+
| Tool | Best for | Pricing | Stack |
|
|
129
|
+
|---|---|---|---|
|
|
130
|
+
| **Chaos Toolkit** | Lightweight, language-agnostic, JSON experiments | OSS | Any |
|
|
131
|
+
| **Chaos Mesh** | Kubernetes-native, rich CRDs, in-cluster | OSS | Kubernetes |
|
|
132
|
+
| **Litmus** | Kubernetes, Argo-integrated, large library | OSS + Enterprise | Kubernetes |
|
|
133
|
+
| **Gremlin** | Enterprise SaaS, multi-cloud, audit | Paid | Any |
|
|
134
|
+
| **AWS FIS** | AWS-native, IAM-integrated, EC2/ECS/EKS | Paid (AWS) | AWS |
|
|
135
|
+
| **Custom** | Niche needs, single-cloud, low budget | None | Any |
|
|
136
|
+
|
|
137
|
+
Decision rules:
|
|
138
|
+
- k8s-only stack + OSS → Chaos Mesh or Litmus (Litmus has bigger experiment library)
|
|
139
|
+
- Multi-cloud + OSS → Chaos Toolkit
|
|
140
|
+
- AWS-heavy + simple needs → AWS FIS
|
|
141
|
+
- Enterprise + audit/compliance → Gremlin
|
|
142
|
+
|
|
143
|
+
See `references/tooling_landscape.md` for trade-offs.
|
|
144
|
+
|
|
145
|
+
## Workflows
|
|
146
|
+
|
|
147
|
+
### Workflow 1: Design and run a single experiment
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
1. State a hypothesis: "When [fault], steady-state metric X stays within Y."
|
|
151
|
+
2. Identify the steady-state metric — must be measurable BEFORE the experiment.
|
|
152
|
+
3. Run blast_radius_calculator.py — confirm GREEN before proceeding.
|
|
153
|
+
4. Run experiment_designer.py to produce the plan.
|
|
154
|
+
5. Get a peer review of the plan; confirm abort criteria are concrete.
|
|
155
|
+
6. Notify the on-call team in #incidents (or whatever channel).
|
|
156
|
+
7. Run the experiment with monitoring open.
|
|
157
|
+
8. If abort criteria are hit, abort immediately; record what happened.
|
|
158
|
+
9. Run experiment_postmortem.py to capture learnings.
|
|
159
|
+
10. File follow-up actions; link to next experiment.
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Workflow 2: Game Day exercise
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
1. Pick a scenario (e.g., "primary database fails over").
|
|
166
|
+
2. Identify all dependent services that should keep working.
|
|
167
|
+
3. Build a multi-experiment plan covering each layer.
|
|
168
|
+
4. Schedule with stakeholders; on-call coverage required.
|
|
169
|
+
5. Run with a facilitator who manages the scenario.
|
|
170
|
+
6. Capture observations in a shared doc as they happen.
|
|
171
|
+
7. Single combined postmortem covering all observations.
|
|
172
|
+
8. Track follow-up actions in a board with owners.
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Workflow 3: Continuous chaos (game days → daily)
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
1. Start: weekly Game Day in staging.
|
|
179
|
+
2. Move to: weekly Game Day in production with limited blast radius.
|
|
180
|
+
3. Mature to: continuous chaos via scheduled experiments (Litmus chaos schedule, Gremlin scenarios).
|
|
181
|
+
4. Wire to deployment: every prod deploy triggers a baseline chaos sweep.
|
|
182
|
+
5. Track: experiments per week, weaknesses discovered, MTTR trend.
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Composition with other skills
|
|
186
|
+
|
|
187
|
+
This skill explicitly composes with two others in this library:
|
|
188
|
+
|
|
189
|
+
| Skill | Composition |
|
|
190
|
+
|---|---|
|
|
191
|
+
| `feature-flags-architect` | Kill switches defined there are the abort triggers here |
|
|
192
|
+
| `kubernetes-operator` | Operators are common chaos targets (test reconcile under fault) |
|
|
193
|
+
| `incident-response` | Chaos experiments that escalate become incidents |
|
|
194
|
+
|
|
195
|
+
## Anti-patterns
|
|
196
|
+
|
|
197
|
+
- **No hypothesis** — "let's break things" is sabotage, not engineering
|
|
198
|
+
- **No steady-state metric** — without a baseline, you can't tell if X broke
|
|
199
|
+
- **No blast radius bound** — full-prod experiment without limits = outage
|
|
200
|
+
- **No abort criteria** — see above; this is mandatory
|
|
201
|
+
- **No on-call coverage** — chaos without monitoring is unmonitored production
|
|
202
|
+
- **Chaos in staging only** — staging never has prod failure modes
|
|
203
|
+
- **Chaos in dev** — useless; dev has different failure modes from prod
|
|
204
|
+
- **One-off chaos** — single experiment is a press release; learning requires recurrence
|
|
205
|
+
- **Blame-laden postmortem** — record causes, not blame; teams stop running chaos otherwise
|
|
206
|
+
|
|
207
|
+
## References
|
|
208
|
+
|
|
209
|
+
- `references/chaos_principles.md` — the 4 principles, history, when to start
|
|
210
|
+
- `references/experiment_design.md` — hypothesis structure, steady-state metrics, abort criteria
|
|
211
|
+
- `references/attack_taxonomy.md` — 7 attack types with examples and tooling
|
|
212
|
+
- `references/tooling_landscape.md` — Chaos Toolkit / Mesh / Litmus / Gremlin / FIS / DIY
|
|
213
|
+
|
|
214
|
+
## Slash command
|
|
215
|
+
|
|
216
|
+
`/chaos-experiment` — interactive experiment design wizard that runs all 3 tools.
|
|
217
|
+
|
|
218
|
+
## Asset templates
|
|
219
|
+
|
|
220
|
+
- `assets/experiment_template.md` — fill-in plan template
|
|
221
|
+
- `assets/postmortem_template.md` — structured postmortem template
|
|
222
|
+
|
|
223
|
+
## Verifiable success
|
|
224
|
+
|
|
225
|
+
A team using this skill should achieve:
|
|
226
|
+
|
|
227
|
+
- 100% of chaos experiments have a written hypothesis, abort criteria, and blast-radius calculation
|
|
228
|
+
- Blast radius for any single experiment never exceeds 10% of error budget
|
|
229
|
+
- Mean time between chaos experiments <14 days (continuous, not one-off)
|
|
230
|
+
- Each experiment produces ≥1 follow-up action that gets shipped
|
|
231
|
+
- No chaos experiment escalates to a customer-impacting incident in trailing 90 days
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Chaos Experiment
|
|
2
|
+
|
|
3
|
+
Fill in every section before running. Refuse to run if any section is empty.
|
|
4
|
+
|
|
5
|
+
## Identity
|
|
6
|
+
|
|
7
|
+
- **Experiment ID:** `<auto-generated; format: chaos-<target>-<attack>-<unix-ts>>`
|
|
8
|
+
- **Date:** `<YYYY-MM-DD>`
|
|
9
|
+
- **Owner:** `<your-handle@team>`
|
|
10
|
+
- **On-call team:** `<team channel / pager>`
|
|
11
|
+
- **Reviewer:** `<peer who reviewed this plan>`
|
|
12
|
+
|
|
13
|
+
## 1. Hypothesis
|
|
14
|
+
|
|
15
|
+
> When `<fault>`, `<steady-state metric>` stays `<tolerance>`.
|
|
16
|
+
|
|
17
|
+
Example: *When payment-svc is +200ms slow, checkout p99 stays below 500ms.*
|
|
18
|
+
|
|
19
|
+
## 2. Steady-state metric
|
|
20
|
+
|
|
21
|
+
- **Metric:** `<e.g., p99 checkout latency>`
|
|
22
|
+
- **Baseline window:** `<e.g., 5 minutes pre-experiment>`
|
|
23
|
+
- **Tolerance:** `<e.g., within ±5% of baseline>`
|
|
24
|
+
- **Dashboard:** `<URL>`
|
|
25
|
+
|
|
26
|
+
## 3. Attack
|
|
27
|
+
|
|
28
|
+
- **Type:** `[ ] latency [ ] error [ ] cpu [ ] memory [ ] disk [ ] network-partition [ ] dependency-failure [ ] time-skew [ ] kill-instance`
|
|
29
|
+
- **Magnitude:** `<e.g., +200ms>`
|
|
30
|
+
- **Duration:** `<minutes>`
|
|
31
|
+
- **Target:** `<service / pod / instance / region>`
|
|
32
|
+
- **Tooling:** `<Chaos Toolkit / Chaos Mesh / Litmus / Gremlin / AWS FIS / Custom>`
|
|
33
|
+
|
|
34
|
+
## 4. Blast radius
|
|
35
|
+
|
|
36
|
+
- **Traffic share:** `<e.g., 5% of US>`
|
|
37
|
+
- **Expected affected users:** `<from blast_radius_calculator.py>`
|
|
38
|
+
- **Error budget consumed:** `<from blast_radius_calculator.py>`
|
|
39
|
+
- **Risk score:** `[ ] GREEN [ ] YELLOW [ ] RED`
|
|
40
|
+
|
|
41
|
+
## 5. Abort criteria
|
|
42
|
+
|
|
43
|
+
> Auto-trigger experiment termination if ANY of these hit.
|
|
44
|
+
|
|
45
|
+
- [ ] `<signal 1, e.g., p99 > 1000ms>`
|
|
46
|
+
- [ ] `<signal 2, e.g., 5xx rate > baseline + 1pp>`
|
|
47
|
+
- [ ] `<signal 3, e.g., on-call paged SEV1/SEV2>`
|
|
48
|
+
|
|
49
|
+
## 6. Rollback procedure
|
|
50
|
+
|
|
51
|
+
1. `<step to disable fault, e.g., "kubectl delete chaos networkchaos/<name>">`
|
|
52
|
+
2. Verify steady state recovers within 2 minutes
|
|
53
|
+
3. If not recovering, escalate as incident; restore from backup if needed
|
|
54
|
+
|
|
55
|
+
## 7. Learning question
|
|
56
|
+
|
|
57
|
+
> What do you expect NOT to learn? Force yourself to predict.
|
|
58
|
+
|
|
59
|
+
`<your prediction>`
|
|
60
|
+
|
|
61
|
+
## Pre-flight checklist
|
|
62
|
+
|
|
63
|
+
- [ ] Hypothesis written
|
|
64
|
+
- [ ] Steady-state metric measured for ≥5 min
|
|
65
|
+
- [ ] Blast radius calculated (GREEN or YELLOW only)
|
|
66
|
+
- [ ] Abort criteria documented with thresholds
|
|
67
|
+
- [ ] Rollback procedure tested in staging
|
|
68
|
+
- [ ] On-call team notified
|
|
69
|
+
- [ ] Monitoring dashboards open
|
|
70
|
+
- [ ] Owner identified and reachable
|
|
71
|
+
- [ ] Time-box agreed
|
|
72
|
+
- [ ] Communication plan if abort triggers
|
|
73
|
+
|
|
74
|
+
## Post-experiment
|
|
75
|
+
|
|
76
|
+
Run `experiment_postmortem.py --plan <plan.json> --result-log <results>` to generate the postmortem.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Chaos Experiment Postmortem
|
|
2
|
+
|
|
3
|
+
## Identity
|
|
4
|
+
|
|
5
|
+
- **Experiment:** `<experiment_id>`
|
|
6
|
+
- **Date:** `<YYYY-MM-DD>`
|
|
7
|
+
- **Target:** `<service>`
|
|
8
|
+
- **Owner:** `<handle@team>`
|
|
9
|
+
- **Postmortem facilitator:** `<handle@team>`
|
|
10
|
+
|
|
11
|
+
## Hypothesis
|
|
12
|
+
|
|
13
|
+
> `<hypothesis from the plan>`
|
|
14
|
+
|
|
15
|
+
## Outcome
|
|
16
|
+
|
|
17
|
+
- [ ] **Held** — hypothesis confirmed
|
|
18
|
+
- [ ] **Refuted** — hypothesis disproven
|
|
19
|
+
- [ ] **Inconclusive** — could not tell
|
|
20
|
+
|
|
21
|
+
## Timeline
|
|
22
|
+
|
|
23
|
+
| Time | Event |
|
|
24
|
+
|---|---|
|
|
25
|
+
| T-5min | Started baseline measurement |
|
|
26
|
+
| T+0 | Attack injected |
|
|
27
|
+
| T+? | `<observation>` |
|
|
28
|
+
| T+? | `<observation>` |
|
|
29
|
+
| T+N | Attack ended (or aborted) |
|
|
30
|
+
| T+N+2 | Steady state recovered |
|
|
31
|
+
|
|
32
|
+
## What we learned
|
|
33
|
+
|
|
34
|
+
`<at least one concrete learning — required>`
|
|
35
|
+
|
|
36
|
+
## What surprised us
|
|
37
|
+
|
|
38
|
+
`<unexpected observations; "nothing surprised us" is a signal that you didn't push hard enough>`
|
|
39
|
+
|
|
40
|
+
## What failed
|
|
41
|
+
|
|
42
|
+
`<things that broke during the experiment that shouldn't have>`
|
|
43
|
+
|
|
44
|
+
## What held
|
|
45
|
+
|
|
46
|
+
`<things that worked as expected — confidence-building data points>`
|
|
47
|
+
|
|
48
|
+
## Root causes (if any failures)
|
|
49
|
+
|
|
50
|
+
`<technical analysis without blame>`
|
|
51
|
+
|
|
52
|
+
## Follow-up actions
|
|
53
|
+
|
|
54
|
+
| Action | Owner | Due | Status |
|
|
55
|
+
|---|---|---|---|
|
|
56
|
+
| `<concrete action>` | `<@owner>` | `<date>` | `[ ]` |
|
|
57
|
+
| `<concrete action>` | `<@owner>` | `<date>` | `[ ]` |
|
|
58
|
+
|
|
59
|
+
> Every experiment should produce ≥1 follow-up. If none — re-examine whether you tested anything new.
|
|
60
|
+
|
|
61
|
+
## Next experiment
|
|
62
|
+
|
|
63
|
+
`<what's the next experiment that builds on this learning?>`
|
|
64
|
+
|
|
65
|
+
## Stakeholder summary (1-2 sentences)
|
|
66
|
+
|
|
67
|
+
`<for the team channel; describe outcome and biggest learning>`
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Attack taxonomy
|
|
2
|
+
|
|
3
|
+
7 categories of fault injection. Each tests a different system property. Pick the one whose failure mode matches your hypothesis.
|
|
4
|
+
|
|
5
|
+
## 1. Latency
|
|
6
|
+
|
|
7
|
+
**What it tests:** timeouts, retries, circuit breakers, fallback paths.
|
|
8
|
+
|
|
9
|
+
**Inject:** add N ms of delay to network responses to a target.
|
|
10
|
+
|
|
11
|
+
**When to use:**
|
|
12
|
+
- "What if dependency X is slow?"
|
|
13
|
+
- "Are timeouts configured correctly upstream?"
|
|
14
|
+
- "Does the retry budget kick in?"
|
|
15
|
+
|
|
16
|
+
**Tools:**
|
|
17
|
+
- Linux `tc` (traffic control) — direct kernel-level shaping
|
|
18
|
+
- Chaos Mesh `NetworkChaos` (delay)
|
|
19
|
+
- Toxiproxy — proxy-based, language-agnostic
|
|
20
|
+
- AWS FIS — `aws:network:traffic-control` action
|
|
21
|
+
|
|
22
|
+
**Example magnitude:** +200ms (90% of typical timeouts), +2000ms (test backoff), +30s (test giving-up logic).
|
|
23
|
+
|
|
24
|
+
## 2. Error injection
|
|
25
|
+
|
|
26
|
+
**What it tests:** error handling paths, fallback behavior, retry policies.
|
|
27
|
+
|
|
28
|
+
**Inject:** return errors (5xx, exceptions) for a fraction of requests.
|
|
29
|
+
|
|
30
|
+
**When to use:**
|
|
31
|
+
- "What happens when X starts failing?"
|
|
32
|
+
- "Does the fallback path actually work in prod?"
|
|
33
|
+
- "Are we logging errors correctly?"
|
|
34
|
+
|
|
35
|
+
**Tools:**
|
|
36
|
+
- Chaos Mesh `HTTPChaos`
|
|
37
|
+
- Service mesh (Istio, Linkerd) fault injection
|
|
38
|
+
- Toxiproxy with error toxic
|
|
39
|
+
- Application-level feature flag for synthetic errors
|
|
40
|
+
|
|
41
|
+
**Example magnitude:** 1% errors (test handler), 50% errors (test retry), 100% errors (test fallback path).
|
|
42
|
+
|
|
43
|
+
## 3. Resource exhaustion
|
|
44
|
+
|
|
45
|
+
**What it tests:** saturation handling, autoscaling, OOM behavior, disk-full handling.
|
|
46
|
+
|
|
47
|
+
**Inject:** consume CPU, memory, or disk on the target.
|
|
48
|
+
|
|
49
|
+
**When to use:**
|
|
50
|
+
- "What if memory leaks?"
|
|
51
|
+
- "Does the autoscaler kick in?"
|
|
52
|
+
- "What happens when disk fills?"
|
|
53
|
+
|
|
54
|
+
**Sub-types:**
|
|
55
|
+
- **CPU pressure** — peg cores at N% usage
|
|
56
|
+
- **Memory pressure** — allocate large blocks
|
|
57
|
+
- **Disk fill** — write large files until partition fills
|
|
58
|
+
- **I/O saturation** — high random read/write
|
|
59
|
+
|
|
60
|
+
**Tools:**
|
|
61
|
+
- `stress-ng` — CPU/memory/IO/disk
|
|
62
|
+
- Chaos Mesh `StressChaos` and `IOChaos`
|
|
63
|
+
- AWS FIS `aws:ssm:send-command` with stress-ng
|
|
64
|
+
|
|
65
|
+
**Example magnitude:** 80% CPU sustained, 90% memory, fill /var to 95%.
|
|
66
|
+
|
|
67
|
+
## 4. Network partition
|
|
68
|
+
|
|
69
|
+
**What it tests:** consensus protocols, leader election, split-brain prevention, region failover.
|
|
70
|
+
|
|
71
|
+
**Inject:** drop all packets between a set of hosts.
|
|
72
|
+
|
|
73
|
+
**When to use:**
|
|
74
|
+
- "What if AZ-A loses connectivity to AZ-B?"
|
|
75
|
+
- "Does the database elect a new primary?"
|
|
76
|
+
- "Does the cluster avoid split-brain?"
|
|
77
|
+
|
|
78
|
+
**Tools:**
|
|
79
|
+
- Chaos Mesh `NetworkChaos` (partition mode)
|
|
80
|
+
- `tc` with iptables drop rules
|
|
81
|
+
- AWS FIS `aws:network:disrupt-connectivity`
|
|
82
|
+
|
|
83
|
+
**Example magnitude:** drop 100% to peer X (full partition), drop 50% (degraded link).
|
|
84
|
+
|
|
85
|
+
## 5. Dependency failure
|
|
86
|
+
|
|
87
|
+
**What it tests:** graceful degradation, fallback to cache, fallback to default values.
|
|
88
|
+
|
|
89
|
+
**Inject:** make a downstream dependency unavailable (timeout, refuse connections).
|
|
90
|
+
|
|
91
|
+
**When to use:**
|
|
92
|
+
- "What if the rec engine goes down?"
|
|
93
|
+
- "Does Search degrade gracefully when ML models are unreachable?"
|
|
94
|
+
- "Is cache the fallback for the user-pref service?"
|
|
95
|
+
|
|
96
|
+
**Tools:**
|
|
97
|
+
- Service mesh fault injection (most flexible)
|
|
98
|
+
- Toxiproxy
|
|
99
|
+
- iptables rules to refuse connections
|
|
100
|
+
- Chaos Mesh `NetworkChaos` with `corrupt` or `drop`
|
|
101
|
+
|
|
102
|
+
**Example magnitude:** 100% requests to dep X timeout (full outage), 25% timeout (intermittent), 0% available for 5 min (sustained outage).
|
|
103
|
+
|
|
104
|
+
## 6. Time skew
|
|
105
|
+
|
|
106
|
+
**What it tests:** time-sensitive logic — token expiry, cron schedules, TTLs, retry backoff.
|
|
107
|
+
|
|
108
|
+
**Inject:** alter the wall clock seen by a process.
|
|
109
|
+
|
|
110
|
+
**When to use:**
|
|
111
|
+
- "What if NTP fails?"
|
|
112
|
+
- "What if a process clock drifts +5 minutes?"
|
|
113
|
+
- "Do tokens correctly fail validation when expired?"
|
|
114
|
+
- "Does cron skip or double-fire?"
|
|
115
|
+
|
|
116
|
+
**Tools:**
|
|
117
|
+
- `libfaketime` — preload library
|
|
118
|
+
- Chaos Mesh `TimeChaos`
|
|
119
|
+
- Custom: change container's `/etc/localtime`
|
|
120
|
+
|
|
121
|
+
**Example magnitude:** +1 minute (subtle), +5 minutes (TLS / token failures), +1 day (catastrophic for some logic).
|
|
122
|
+
|
|
123
|
+
**Caution:** time skew can cause cluster-wide consensus failures. Test in isolation first.
|
|
124
|
+
|
|
125
|
+
## 7. Infrastructure (kill instance / pod / container)
|
|
126
|
+
|
|
127
|
+
**What it tests:** auto-recovery, failover, replica count maintenance.
|
|
128
|
+
|
|
129
|
+
**Inject:** terminate an instance, pod, or container.
|
|
130
|
+
|
|
131
|
+
**When to use:**
|
|
132
|
+
- "Does Kubernetes restart the pod?"
|
|
133
|
+
- "Does the load balancer remove the instance from rotation?"
|
|
134
|
+
- "Is the replication factor maintained?"
|
|
135
|
+
|
|
136
|
+
**Tools:**
|
|
137
|
+
- Chaos Monkey (the original)
|
|
138
|
+
- Chaos Mesh `PodChaos` (kill, fail)
|
|
139
|
+
- AWS FIS `aws:ec2:terminate-instances`
|
|
140
|
+
- `kubectl delete pod` (manual, simplest)
|
|
141
|
+
|
|
142
|
+
**Example magnitude:** kill 1 of N pods (Chaos Monkey level), kill all pods of a deployment (test recreation), kill 1 of 3 replica DB nodes (test failover).
|
|
143
|
+
|
|
144
|
+
## Choosing an attack
|
|
145
|
+
|
|
146
|
+
| Hypothesis pattern | Attack type |
|
|
147
|
+
|---|---|
|
|
148
|
+
| "What if X is slow?" | Latency |
|
|
149
|
+
| "What if X is failing?" | Error |
|
|
150
|
+
| "What if we run hot?" | Resource |
|
|
151
|
+
| "What if regions partition?" | Network partition |
|
|
152
|
+
| "What if dep X is down?" | Dependency failure |
|
|
153
|
+
| "What if clocks drift?" | Time skew |
|
|
154
|
+
| "What if a node dies?" | Infrastructure |
|
|
155
|
+
|
|
156
|
+
## Combining attacks
|
|
157
|
+
|
|
158
|
+
Real outages often combine attacks (e.g., latency + saturation). Once basic experiments are stable, run combinations:
|
|
159
|
+
|
|
160
|
+
- Latency on dependency + CPU pressure on app → tests timeout + retry budget interaction
|
|
161
|
+
- Pod kill + network partition → tests recovery during a partition
|
|
162
|
+
- Disk fill + dependency failure → tests fallback path while disk is constrained
|
|
163
|
+
|
|
164
|
+
Combinations have higher risk; reduce blast radius accordingly.
|
|
165
|
+
|
|
166
|
+
## Severity ladder
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
S1 — Latency (small) ← start here
|
|
170
|
+
S2 — Error injection (low %)
|
|
171
|
+
S3 — Resource pressure (CPU/mem)
|
|
172
|
+
S4 — Latency (large) / errors (high %)
|
|
173
|
+
S5 — Single instance kill
|
|
174
|
+
S6 — Network partition (single peer)
|
|
175
|
+
S7 — Multiple instance kill
|
|
176
|
+
S8 — Region partition / time skew
|
|
177
|
+
S9 — Combinations of S5-S8 ← here be dragons
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Don't skip levels. Earn confidence at S1-S3 before attempting S5+.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# The principles of chaos engineering
|
|
2
|
+
|
|
3
|
+
Chaos engineering is the discipline of experimenting on a system in order to build confidence in its capability to withstand turbulent conditions in production. The phrase comes from Netflix's 2014-2016 work productizing what started as Chaos Monkey.
|
|
4
|
+
|
|
5
|
+
## The 4 founding principles (Netflix, 2016)
|
|
6
|
+
|
|
7
|
+
### 1. Build a hypothesis around steady-state behavior
|
|
8
|
+
|
|
9
|
+
Steady state = a measurable, normal-operations metric (latency, throughput, conversion rate, error rate).
|
|
10
|
+
|
|
11
|
+
Bad: *"What happens if the database goes down?"*
|
|
12
|
+
Good: *"When the primary database fails over, p99 checkout latency stays below 800ms and conversion rate stays within 2% of baseline."*
|
|
13
|
+
|
|
14
|
+
The hypothesis must be **falsifiable** — there must be a measurement that can disprove it.
|
|
15
|
+
|
|
16
|
+
### 2. Vary real-world events
|
|
17
|
+
|
|
18
|
+
Inject realistic failure modes:
|
|
19
|
+
- Servers crash
|
|
20
|
+
- Networks partition or slow
|
|
21
|
+
- Disks fill
|
|
22
|
+
- Dependencies time out or return errors
|
|
23
|
+
- Caches lose data
|
|
24
|
+
- Time skews
|
|
25
|
+
|
|
26
|
+
Don't inject implausible events (e.g., "what if all 50 zones in 5 regions go down simultaneously"). That's not chaos engineering, that's astronomy.
|
|
27
|
+
|
|
28
|
+
### 3. Run experiments in production
|
|
29
|
+
|
|
30
|
+
Staging never reproduces:
|
|
31
|
+
- Real traffic patterns
|
|
32
|
+
- Real cache hit rates
|
|
33
|
+
- Real cross-service dependencies
|
|
34
|
+
- Real data volumes
|
|
35
|
+
- Real user behavior
|
|
36
|
+
|
|
37
|
+
The only system that has prod failure modes is prod. Start with tiny blast radius (1%), grow as confidence grows.
|
|
38
|
+
|
|
39
|
+
### 4. Automate experiments to run continuously
|
|
40
|
+
|
|
41
|
+
A single chaos experiment is a press release. Continuous chaos is engineering.
|
|
42
|
+
|
|
43
|
+
Maturity progression:
|
|
44
|
+
1. Manual one-offs → 2. Weekly Game Days → 3. Scheduled experiments → 4. Continuous chaos in CI/CD
|
|
45
|
+
|
|
46
|
+
The 5th principle this skill adds:
|
|
47
|
+
|
|
48
|
+
### 5. Define abort criteria up front
|
|
49
|
+
|
|
50
|
+
A chaos experiment with no abort criteria is an outage. Every plan must include:
|
|
51
|
+
|
|
52
|
+
- A specific signal (metric, threshold)
|
|
53
|
+
- A specific action (auto-abort, manual abort, escalate)
|
|
54
|
+
- A timeline (within N seconds of breach)
|
|
55
|
+
|
|
56
|
+
If the threshold is hit, abort immediately. Investigate later.
|
|
57
|
+
|
|
58
|
+
## When to start
|
|
59
|
+
|
|
60
|
+
You're ready for chaos engineering when:
|
|
61
|
+
|
|
62
|
+
- [ ] You have basic monitoring (you can detect a steady-state breach)
|
|
63
|
+
- [ ] You have on-call rotations (someone is watching when chaos runs)
|
|
64
|
+
- [ ] You have at least one tool to inject the desired fault
|
|
65
|
+
- [ ] You have an SLO/SLI defined (so you know what "good" looks like)
|
|
66
|
+
- [ ] You have postmortem culture that's blameless
|
|
67
|
+
- [ ] You have a leadership champion who'll defend the practice
|
|
68
|
+
|
|
69
|
+
If any of these are missing, fix them first. Premature chaos = outages with no learning.
|
|
70
|
+
|
|
71
|
+
## When NOT to do chaos engineering
|
|
72
|
+
|
|
73
|
+
- During a release freeze
|
|
74
|
+
- During a known incident
|
|
75
|
+
- During peak traffic events without explicit approval
|
|
76
|
+
- On systems that don't have steady-state metrics
|
|
77
|
+
- On systems where you can't bound the blast radius
|
|
78
|
+
- On the day of a security disclosure
|
|
79
|
+
- When the team is already firefighting
|
|
80
|
+
|
|
81
|
+
## Maturity model
|
|
82
|
+
|
|
83
|
+
| Level | Description | Cadence | Tooling |
|
|
84
|
+
|---|---|---|---|
|
|
85
|
+
| L0 | None | n/a | none |
|
|
86
|
+
| L1 | Manual one-offs in staging | quarterly | tc, manual scripts |
|
|
87
|
+
| L2 | Weekly Game Days in staging | weekly | Chaos Toolkit, internal scripts |
|
|
88
|
+
| L3 | Limited prod experiments | weekly | Chaos Toolkit / Mesh / Litmus / FIS |
|
|
89
|
+
| L4 | Continuous prod chaos with bounded blast radius | daily | Chaos Mesh / Gremlin scenarios |
|
|
90
|
+
| L5 | Chaos in CI/CD pipeline; deploys auto-trigger sweeps | per-deploy | Custom + tooling stack |
|
|
91
|
+
|
|
92
|
+
Most teams should target L3 within 6-12 months of starting. L5 is rare and only justified for the largest distributed systems.
|
|
93
|
+
|
|
94
|
+
## Common objections (and counters)
|
|
95
|
+
|
|
96
|
+
| Objection | Counter |
|
|
97
|
+
|---|---|
|
|
98
|
+
| "We can't break production!" | You already do, just unintentionally. Chaos is intentional, bounded, observed breaks. |
|
|
99
|
+
| "This is a customer-facing system." | Start at 1% blast radius. The 99% are unaffected. |
|
|
100
|
+
| "We don't have time." | Chaos finds bugs that would otherwise become 4am pages. Time spent on chaos saves time on incidents. |
|
|
101
|
+
| "Our system is too critical." | Critical systems have the most to gain from learning their failure modes. |
|
|
102
|
+
| "We have HA already." | HA without chaos is HA in theory. Chaos finds gaps in actual HA. |
|
|
103
|
+
|
|
104
|
+
## What a steady-state metric looks like
|
|
105
|
+
|
|
106
|
+
Good steady-state metrics:
|
|
107
|
+
- p99 request latency (objective, measurable per second)
|
|
108
|
+
- Error rate (objective, measurable)
|
|
109
|
+
- Conversion rate (business metric, slow but real)
|
|
110
|
+
- Successful logins per minute (business + tech signal)
|
|
111
|
+
- Queue depth (system health)
|
|
112
|
+
|
|
113
|
+
Bad metrics:
|
|
114
|
+
- "Things feel slow" (not measurable)
|
|
115
|
+
- CPU usage (a means, not an end)
|
|
116
|
+
- Number of pods running (not customer-facing)
|
|
117
|
+
|
|
118
|
+
Pick metrics that customers feel. CPU can spike without customer impact; latency and errors can't.
|
|
119
|
+
|
|
120
|
+
## History
|
|
121
|
+
|
|
122
|
+
- 2010: Netflix launches Chaos Monkey (kills random EC2 instances)
|
|
123
|
+
- 2011: Simian Army expands (Latency Monkey, Conformity Monkey, etc.)
|
|
124
|
+
- 2014: Chaos engineering term coined; principles drafted
|
|
125
|
+
- 2016: principlesofchaos.org published
|
|
126
|
+
- 2018: Chaos Toolkit released as OSS
|
|
127
|
+
- 2019: Chaos Mesh and Litmus mature for Kubernetes
|
|
128
|
+
- 2020: AWS launches Fault Injection Simulator (FIS)
|
|
129
|
+
- 2023+: Chaos engineering becomes mainstream practice in SRE-heavy orgs
|
|
130
|
+
|
|
131
|
+
## Further reading
|
|
132
|
+
|
|
133
|
+
- principlesofchaos.org — the foundational document
|
|
134
|
+
- *Chaos Engineering* (Casey Rosenthal, Nora Jones) — O'Reilly, 2020
|
|
135
|
+
- *Learning Chaos Engineering* (Russ Miles) — O'Reilly, 2019
|
|
136
|
+
- Netflix Tech Blog on Chaos Engineering posts (2016-2020)
|