skilldrop-cli 0.16.3__py3-none-any.whl
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.
- skilldrop_cli/__init__.py +16 -0
- skilldrop_cli/__main__.py +3 -0
- skilldrop_cli/data/LICENSE +9 -0
- skilldrop_cli/data/LICENSE-APACHE +202 -0
- skilldrop_cli/data/LICENSE-MIT +21 -0
- skilldrop_cli/data/agents/README.md +127 -0
- skilldrop_cli/data/agents/code-quality.md +40 -0
- skilldrop_cli/data/agents/devils-advocate.md +40 -0
- skilldrop_cli/data/agents/security-reviewer.md +44 -0
- skilldrop_cli/data/bin/skilldrop.js +2110 -0
- skilldrop_cli/data/catalogue.json +187 -0
- skilldrop_cli/data/contracts/agent.schema.json +28 -0
- skilldrop_cli/data/contracts/catalogue.schema.json +33 -0
- skilldrop_cli/data/contracts/guide.schema.json +18 -0
- skilldrop_cli/data/contracts/loop.schema.json +87 -0
- skilldrop_cli/data/contracts/pack.schema.json +75 -0
- skilldrop_cli/data/contracts/skill.schema.json +110 -0
- skilldrop_cli/data/contracts/terminals.json +33 -0
- skilldrop_cli/data/model-routing.json +474 -0
- skilldrop_cli/data/package.json +46 -0
- skilldrop_cli/data/packs/ai-engineering/pack.json +57 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-adoption-stage/SKILL.md +90 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-adoption-stage/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-adoption-stage/evals/evals.json +19 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-adoption-stage/manifest.json +39 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/SKILL.md +63 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/evals/eval_queries.json +11 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/evals/evals.json +28 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/manifest.json +11 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/templates/budget-spec.md +30 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/SKILL.md +70 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/evals/eval_queries.json +11 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/evals/evals.json +28 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/manifest.json +11 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/templates/loop-spec.md +46 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/SKILL.md +89 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/evals/eval_queries.json +15 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/evals/evals.json +41 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/examples/support-triage-agent.md +117 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/manifest.json +11 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/reference.md +101 -0
- skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/templates/agent-threat-model.md +71 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-adoption-rollout/SKILL.md +61 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-adoption-rollout/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-adoption-rollout/evals/evals.json +19 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-adoption-rollout/manifest.json +33 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-readiness-assessment/SKILL.md +68 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-readiness-assessment/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-readiness-assessment/evals/evals.json +17 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-readiness-assessment/manifest.json +35 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-policy/SKILL.md +67 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-policy/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-policy/evals/evals.json +19 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-policy/manifest.json +33 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/SKILL.md +111 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/evals/evals.json +19 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/evals/files/1/northwind-ai-events.csv +4213 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/examples/weekly-engineering-team.md +133 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/manifest.json +12 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/scripts/build_report.py +436 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/templates/report-per-user.md +42 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/templates/report-team-rollup.md +49 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/templates/usage-event-schema.md +76 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-use-case-triage/SKILL.md +59 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-use-case-triage/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-use-case-triage/evals/evals.json +18 -0
- skilldrop_cli/data/packs/ai-engineering/skills/ai-use-case-triage/manifest.json +34 -0
- skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/SKILL.md +73 -0
- skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/evals/evals.json +19 -0
- skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/manifest.json +11 -0
- skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/reference.md +58 -0
- skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/templates/eval-plan.md +63 -0
- skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/templates/golden-case.jsonl +5 -0
- skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/SKILL.md +69 -0
- skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/evals/eval_queries.json +11 -0
- skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/evals/evals.json +29 -0
- skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/manifest.json +11 -0
- skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/templates/orchestration-plan.md +47 -0
- skilldrop_cli/data/packs/api-builder/pack.json +48 -0
- skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/SKILL.md +84 -0
- skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/evals/evals.json +19 -0
- skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/evals/files/1/SKILL.md +31 -0
- skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/manifest.json +11 -0
- skilldrop_cli/data/packs/api-builder/skills/prompt-caching-advisor/SKILL.md +90 -0
- skilldrop_cli/data/packs/api-builder/skills/prompt-caching-advisor/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/api-builder/skills/prompt-caching-advisor/evals/evals.json +19 -0
- skilldrop_cli/data/packs/api-builder/skills/prompt-caching-advisor/manifest.json +11 -0
- skilldrop_cli/data/packs/api-builder/skills/token-budget-estimator/SKILL.md +75 -0
- skilldrop_cli/data/packs/api-builder/skills/token-budget-estimator/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/api-builder/skills/token-budget-estimator/evals/evals.json +18 -0
- skilldrop_cli/data/packs/api-builder/skills/token-budget-estimator/manifest.json +11 -0
- skilldrop_cli/data/packs/api-builder/skills/tool-use-schema-writer/SKILL.md +111 -0
- skilldrop_cli/data/packs/api-builder/skills/tool-use-schema-writer/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/api-builder/skills/tool-use-schema-writer/evals/evals.json +18 -0
- skilldrop_cli/data/packs/api-builder/skills/tool-use-schema-writer/manifest.json +11 -0
- skilldrop_cli/data/packs/converters/pack.json +66 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/SKILL.md +103 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/evals/evals.json +27 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/evals/files/1/northwind-q3.pptx +0 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/evals/files/2/acme-contract-summary.pdf +93 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/examples/inputs/accounts.json +1 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/examples/inputs/fabrikam-status.html +14 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/examples/mixed-inputs.md +306 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/manifest.json +49 -0
- skilldrop_cli/data/packs/converters/skills/file-to-markdown/scripts/to_markdown.py +1299 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/SKILL.md +124 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/eval_queries.json +10 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/evals.json +29 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/brand/brand.json +80 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/brand/logo-white.png +0 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/brand/logo.png +0 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/brand/mark.png +0 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/docs/vendor-onboarding.md +42 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/examples/q3-support-review-input.md +54 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/examples/q3-support-review.md +80 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/examples/tickets-by-region.png +0 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/manifest.json +52 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/reference.md +89 -0
- skilldrop_cli/data/packs/converters/skills/md-to-docx/scripts/md_to_docx.py +1114 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/SKILL.md +100 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/evals/evals.json +18 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/brand/brand.json +80 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/brand/logo-white.png +0 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/brand/logo.png +0 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/brand/mark.png +0 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/docs/q3-review.md +35 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/img/dashboard.png +0 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/examples/inputs/chart.svg +8 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/examples/inputs/ops-review.md +48 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/examples/ops-review.md +83 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/manifest.json +43 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/reference.md +70 -0
- skilldrop_cli/data/packs/converters/skills/md-to-html/scripts/md_to_html.py +652 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/SKILL.md +120 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/evals/eval_queries.json +9 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/evals/evals.json +28 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/evals/files/1/exports/northwind-invoices.csv +25 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/evals/files/2/reports/q3-ops-review.md +32 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/examples/vendor-review-input.md +28 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/examples/vendor-review.md +94 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/manifest.json +33 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/reference.md +94 -0
- skilldrop_cli/data/packs/converters/skills/md-to-xlsx/scripts/md_to_xlsx.py +667 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/SKILL.md +109 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/evals/evals.json +17 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/evals/files/1/docs/contoso-orders.md +23 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/broken-diagrams.md +147 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/broken-flowchart.mmd +8 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/broken-sequence.mmd +11 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/checkout-flow.mmd +9 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/design-notes.md +35 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/fixed-flowchart.mmd +9 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/typo.mmd +2 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/manifest.json +40 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/reference.md +70 -0
- skilldrop_cli/data/packs/converters/skills/mermaid-render/scripts/render_mermaid.py +486 -0
- skilldrop_cli/data/packs/core/loops/ship-a-draft/LOOP.md +77 -0
- skilldrop_cli/data/packs/core/loops/ship-a-draft/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/core/loops/ship-a-draft/evals/evals.json +25 -0
- skilldrop_cli/data/packs/core/loops/ship-a-draft/loop.json +41 -0
- skilldrop_cli/data/packs/core/pack.json +50 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/SKILL.md +79 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/evals/evals.json +16 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/manifest.json +11 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-adr.md +41 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-decision-log.md +35 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-deck.md +43 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-design-doc.md +48 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-exec-summary.md +47 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-generic.md +45 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-runbook.md +44 -0
- skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-tech-comparison.md +38 -0
- skilldrop_cli/data/packs/core/skills/council-review/SKILL.md +106 -0
- skilldrop_cli/data/packs/core/skills/council-review/evals/eval_queries.json +38 -0
- skilldrop_cli/data/packs/core/skills/council-review/evals/evals.json +18 -0
- skilldrop_cli/data/packs/core/skills/council-review/examples/redis-cache-decision.md +75 -0
- skilldrop_cli/data/packs/core/skills/council-review/manifest.json +11 -0
- skilldrop_cli/data/packs/core/skills/council-review/reference.md +76 -0
- skilldrop_cli/data/packs/core/skills/council-review/seats/architect.md +29 -0
- skilldrop_cli/data/packs/core/skills/council-review/seats/bench.md +39 -0
- skilldrop_cli/data/packs/core/skills/council-review/seats/operator.md +27 -0
- skilldrop_cli/data/packs/core/skills/council-review/seats/pragmatist.md +29 -0
- skilldrop_cli/data/packs/core/skills/council-review/seats/security-engineer.md +29 -0
- skilldrop_cli/data/packs/core/skills/council-review/seats/user-advocate.md +27 -0
- skilldrop_cli/data/packs/core/skills/council-review/templates/council-review.md +59 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/SKILL.md +119 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/evals/eval_queries.json +38 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/evals/evals.json +17 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/examples/design-doc-critique.md +34 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/manifest.json +11 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/adr.md +36 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/decision-log.md +39 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/deck.md +45 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/design-doc.md +42 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/exec-summary.md +41 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/generic.md +40 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/runbook.md +42 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/tech-comparison.md +40 -0
- skilldrop_cli/data/packs/core/skills/doc-critique/templates/critique.md +49 -0
- skilldrop_cli/data/packs/core/skills/output-hygiene/SKILL.md +97 -0
- skilldrop_cli/data/packs/core/skills/output-hygiene/evals/eval_queries.json +11 -0
- skilldrop_cli/data/packs/core/skills/output-hygiene/evals/evals.json +30 -0
- skilldrop_cli/data/packs/core/skills/output-hygiene/manifest.json +34 -0
- skilldrop_cli/data/packs/core/skills/output-hygiene/reference.md +106 -0
- skilldrop_cli/data/packs/core/skills/output-hygiene/scripts/scrub.py +315 -0
- skilldrop_cli/data/packs/data-analytics/pack.json +57 -0
- skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/SKILL.md +83 -0
- skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/evals/evals.json +19 -0
- skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/examples/support-staffing.md +84 -0
- skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/manifest.json +40 -0
- skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/reference.md +45 -0
- skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/templates/dashboard-spec.md +55 -0
- skilldrop_cli/data/packs/data-analytics/skills/metric-definition/SKILL.md +84 -0
- skilldrop_cli/data/packs/data-analytics/skills/metric-definition/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/data-analytics/skills/metric-definition/evals/evals.json +19 -0
- skilldrop_cli/data/packs/data-analytics/skills/metric-definition/examples/refund-rate.md +104 -0
- skilldrop_cli/data/packs/data-analytics/skills/metric-definition/manifest.json +41 -0
- skilldrop_cli/data/packs/data-analytics/skills/metric-definition/reference.md +67 -0
- skilldrop_cli/data/packs/data-analytics/skills/metric-definition/templates/metric-spec.md +70 -0
- skilldrop_cli/data/packs/data-analytics/skills/sql-review/SKILL.md +83 -0
- skilldrop_cli/data/packs/data-analytics/skills/sql-review/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/data-analytics/skills/sql-review/evals/evals.json +19 -0
- skilldrop_cli/data/packs/data-analytics/skills/sql-review/examples/revenue-by-region.md +174 -0
- skilldrop_cli/data/packs/data-analytics/skills/sql-review/manifest.json +42 -0
- skilldrop_cli/data/packs/data-analytics/skills/sql-review/reference.md +84 -0
- skilldrop_cli/data/packs/data-analytics/skills/sql-review/scripts/sql_lint.py +461 -0
- skilldrop_cli/data/packs/design/pack.json +60 -0
- skilldrop_cli/data/packs/design/skills/brand-kit/SKILL.md +105 -0
- skilldrop_cli/data/packs/design/skills/brand-kit/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/design/skills/brand-kit/evals/evals.json +18 -0
- skilldrop_cli/data/packs/design/skills/brand-kit/evals/files/1/brand/northwind-logo-white.png +0 -0
- skilldrop_cli/data/packs/design/skills/brand-kit/evals/files/1/brand/northwind-logo.png +0 -0
- skilldrop_cli/data/packs/design/skills/brand-kit/examples/northwind-brand.md +48 -0
- skilldrop_cli/data/packs/design/skills/brand-kit/manifest.json +45 -0
- skilldrop_cli/data/packs/design/skills/brand-kit/scripts/check_brand.py +114 -0
- skilldrop_cli/data/packs/design/skills/brand-kit/templates/brand.json +54 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/SKILL.md +201 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/evals/eval_queries.json +14 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/evals/evals.json +40 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/examples/exec-board-update.md +108 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/examples/templated-brand-deck.md +148 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/manifest.json +18 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/reference.md +180 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/requirements.txt +3 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/scripts/build_deck.py +1134 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/templates/deck-spec.json +168 -0
- skilldrop_cli/data/packs/design/skills/deck-builder/templates/palettes.json +59 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/SKILL.md +113 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/evals.json +18 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/files/1/brand/brand.json +80 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/files/1/brand/logo-white.png +0 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/files/1/brand/logo.png +0 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/files/1/brand/mark.png +0 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/examples/community-health-fair.md +68 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/manifest.json +40 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/reference.md +54 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/scripts/build_flyer.py +323 -0
- skilldrop_cli/data/packs/design/skills/marketing-flyer/templates/flyer-spec.json +26 -0
- skilldrop_cli/data/packs/design/skills/slide-outliner/SKILL.md +58 -0
- skilldrop_cli/data/packs/design/skills/slide-outliner/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/design/skills/slide-outliner/evals/evals.json +16 -0
- skilldrop_cli/data/packs/design/skills/slide-outliner/manifest.json +11 -0
- skilldrop_cli/data/packs/design/skills/slide-outliner/templates/deck-outline.md +131 -0
- skilldrop_cli/data/packs/dev-team/loops/build/LOOP.md +80 -0
- skilldrop_cli/data/packs/dev-team/loops/build/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/dev-team/loops/build/evals/evals.json +27 -0
- skilldrop_cli/data/packs/dev-team/loops/build/loop.json +48 -0
- skilldrop_cli/data/packs/dev-team/loops/release/LOOP.md +91 -0
- skilldrop_cli/data/packs/dev-team/loops/release/loop.json +47 -0
- skilldrop_cli/data/packs/dev-team/pack.json +56 -0
- skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/SKILL.md +74 -0
- skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/evals/evals.json +19 -0
- skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/examples/login-form.md +76 -0
- skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/manifest.json +11 -0
- skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/reference.md +69 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/SKILL.md +82 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/eval_queries.json +15 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/evals.json +50 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/Makefile +5 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/alembic/versions/0001_create_bookings.py +10 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/booking/__init__.py +0 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/booking/app.py +8 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/pyproject.toml +11 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/tests/test_health.py +5 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/2/AGENTS.md +3 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/2/package.json +12 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/2/src/index.ts +1 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/manifest.json +11 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/reference.md +89 -0
- skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/templates/agents-md.md +48 -0
- skilldrop_cli/data/packs/dev-team/skills/bug-triage/SKILL.md +67 -0
- skilldrop_cli/data/packs/dev-team/skills/bug-triage/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/dev-team/skills/bug-triage/evals/evals.json +17 -0
- skilldrop_cli/data/packs/dev-team/skills/bug-triage/manifest.json +14 -0
- skilldrop_cli/data/packs/dev-team/skills/bug-triage/templates/bug-ticket.md +86 -0
- skilldrop_cli/data/packs/dev-team/skills/contribution-wizard/SKILL.md +134 -0
- skilldrop_cli/data/packs/dev-team/skills/contribution-wizard/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/dev-team/skills/contribution-wizard/evals/evals.json +19 -0
- skilldrop_cli/data/packs/dev-team/skills/contribution-wizard/manifest.json +11 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/SKILL.md +143 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/evals/eval_queries.json +38 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/evals/evals.json +19 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/examples/rate-limiter-review.md +46 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/lenses/adversarial-review.md +88 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/lenses/edge-cases.md +95 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/lenses/future-proofing.md +75 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/lenses/test-coverage.md +90 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/manifest.json +14 -0
- skilldrop_cli/data/packs/dev-team/skills/devils-advocate/templates/challenge.md +118 -0
- skilldrop_cli/data/packs/dev-team/skills/feature-implement-loop/SKILL.md +88 -0
- skilldrop_cli/data/packs/dev-team/skills/feature-implement-loop/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/dev-team/skills/feature-implement-loop/evals/evals.json +19 -0
- skilldrop_cli/data/packs/dev-team/skills/feature-implement-loop/manifest.json +14 -0
- skilldrop_cli/data/packs/dev-team/skills/launch-readiness/SKILL.md +95 -0
- skilldrop_cli/data/packs/dev-team/skills/launch-readiness/evals/eval_queries.json +10 -0
- skilldrop_cli/data/packs/dev-team/skills/launch-readiness/evals/evals.json +19 -0
- skilldrop_cli/data/packs/dev-team/skills/launch-readiness/examples/schema-change-revise.md +54 -0
- skilldrop_cli/data/packs/dev-team/skills/launch-readiness/manifest.json +24 -0
- skilldrop_cli/data/packs/dev-team/skills/launch-readiness/templates/readiness-report.md +41 -0
- skilldrop_cli/data/packs/dev-team/skills/migration-plan/SKILL.md +68 -0
- skilldrop_cli/data/packs/dev-team/skills/migration-plan/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/dev-team/skills/migration-plan/evals/evals.json +16 -0
- skilldrop_cli/data/packs/dev-team/skills/migration-plan/manifest.json +11 -0
- skilldrop_cli/data/packs/dev-team/skills/migration-plan/templates/migration-plan.md +68 -0
- skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/SKILL.md +85 -0
- skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/evals/eval_queries.json +11 -0
- skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/evals/evals.json +26 -0
- skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/examples/pre-merge-verdict.md +43 -0
- skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/manifest.json +15 -0
- skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/scripts/gate.py +189 -0
- skilldrop_cli/data/packs/dev-team/skills/release-notes/SKILL.md +61 -0
- skilldrop_cli/data/packs/dev-team/skills/release-notes/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/dev-team/skills/release-notes/evals/evals.json +19 -0
- skilldrop_cli/data/packs/dev-team/skills/release-notes/manifest.json +11 -0
- skilldrop_cli/data/packs/dev-team/skills/release-notes/templates/release-notes.md +83 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/SKILL.md +170 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/evals/evals.json +16 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/manifest.json +11 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/reference.md +151 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/templates/github-actions-sonar-server.yml.tmpl +50 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/templates/github-actions-sonarcloud.yml.tmpl +53 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/templates/readme-snippet.md +38 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/templates/sonar-project.properties.tmpl +31 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/SKILL.md +220 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/evals/evals.json +16 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/bugs.md +48 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/code-smells.md +64 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/coverage-and-duplication.md +74 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/security-hotspots.md +56 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/vulnerabilities.md +52 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/manifest.json +37 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/reference.md +167 -0
- skilldrop_cli/data/packs/dev-team/skills/sonar-review/templates/report.md +84 -0
- skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/SKILL.md +59 -0
- skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/evals/evals.json +16 -0
- skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/manifest.json +11 -0
- skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/templates/test-plan.md +83 -0
- skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/SKILL.md +88 -0
- skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/evals/evals.json +16 -0
- skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/examples/notifications-epic.md +123 -0
- skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/manifest.json +14 -0
- skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/templates/story.md +40 -0
- skilldrop_cli/data/packs/experience-design/pack.json +68 -0
- skilldrop_cli/data/packs/experience-design/skills/content-design/SKILL.md +77 -0
- skilldrop_cli/data/packs/experience-design/skills/content-design/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/experience-design/skills/content-design/evals/evals.json +18 -0
- skilldrop_cli/data/packs/experience-design/skills/content-design/examples/parking-permit-page.md +102 -0
- skilldrop_cli/data/packs/experience-design/skills/content-design/manifest.json +41 -0
- skilldrop_cli/data/packs/experience-design/skills/content-design/scripts/readability.py +115 -0
- skilldrop_cli/data/packs/experience-design/skills/content-design/templates/content-spec.md +45 -0
- skilldrop_cli/data/packs/experience-design/skills/design-system-spec/SKILL.md +79 -0
- skilldrop_cli/data/packs/experience-design/skills/design-system-spec/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/experience-design/skills/design-system-spec/evals/evals.json +19 -0
- skilldrop_cli/data/packs/experience-design/skills/design-system-spec/examples/text-field-spec.md +121 -0
- skilldrop_cli/data/packs/experience-design/skills/design-system-spec/manifest.json +46 -0
- skilldrop_cli/data/packs/experience-design/skills/design-system-spec/reference.md +66 -0
- skilldrop_cli/data/packs/experience-design/skills/design-system-spec/templates/component-spec.md +74 -0
- skilldrop_cli/data/packs/experience-design/skills/information-architecture/SKILL.md +76 -0
- skilldrop_cli/data/packs/experience-design/skills/information-architecture/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/experience-design/skills/information-architecture/evals/evals.json +19 -0
- skilldrop_cli/data/packs/experience-design/skills/information-architecture/examples/payroll-app-nav.md +127 -0
- skilldrop_cli/data/packs/experience-design/skills/information-architecture/manifest.json +46 -0
- skilldrop_cli/data/packs/experience-design/skills/information-architecture/reference.md +54 -0
- skilldrop_cli/data/packs/experience-design/skills/information-architecture/templates/ia-spec.md +77 -0
- skilldrop_cli/data/packs/experience-design/skills/service-blueprint/SKILL.md +76 -0
- skilldrop_cli/data/packs/experience-design/skills/service-blueprint/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/experience-design/skills/service-blueprint/evals/evals.json +19 -0
- skilldrop_cli/data/packs/experience-design/skills/service-blueprint/examples/insurance-claim-blueprint.md +107 -0
- skilldrop_cli/data/packs/experience-design/skills/service-blueprint/manifest.json +45 -0
- skilldrop_cli/data/packs/experience-design/skills/service-blueprint/templates/blueprint.md +72 -0
- skilldrop_cli/data/packs/experience-design/skills/ux-writing/SKILL.md +77 -0
- skilldrop_cli/data/packs/experience-design/skills/ux-writing/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/experience-design/skills/ux-writing/evals/evals.json +19 -0
- skilldrop_cli/data/packs/experience-design/skills/ux-writing/examples/team-invite-flow.md +66 -0
- skilldrop_cli/data/packs/experience-design/skills/ux-writing/manifest.json +41 -0
- skilldrop_cli/data/packs/experience-design/skills/ux-writing/templates/string-table.md +22 -0
- skilldrop_cli/data/packs/grc/pack.json +57 -0
- skilldrop_cli/data/packs/grc/skills/dpia/SKILL.md +123 -0
- skilldrop_cli/data/packs/grc/skills/dpia/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/grc/skills/dpia/evals/evals.json +19 -0
- skilldrop_cli/data/packs/grc/skills/dpia/examples/acme-warehouse-performance.md +159 -0
- skilldrop_cli/data/packs/grc/skills/dpia/manifest.json +47 -0
- skilldrop_cli/data/packs/grc/skills/dpia/reference.md +118 -0
- skilldrop_cli/data/packs/grc/skills/dpia/templates/dpia.md +103 -0
- skilldrop_cli/data/packs/grc/skills/risk-register/SKILL.md +139 -0
- skilldrop_cli/data/packs/grc/skills/risk-register/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/grc/skills/risk-register/evals/evals.json +19 -0
- skilldrop_cli/data/packs/grc/skills/risk-register/examples/northwind-register.csv +9 -0
- skilldrop_cli/data/packs/grc/skills/risk-register/examples/northwind-register.md +127 -0
- skilldrop_cli/data/packs/grc/skills/risk-register/manifest.json +43 -0
- skilldrop_cli/data/packs/grc/skills/risk-register/reference.md +99 -0
- skilldrop_cli/data/packs/grc/skills/risk-register/scripts/check_register.py +338 -0
- skilldrop_cli/data/packs/grc/skills/risk-register/templates/risk-register.csv +2 -0
- skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/SKILL.md +117 -0
- skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/evals/evals.json +19 -0
- skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/examples/northwind-evidence-map.csv +17 -0
- skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/examples/northwind-type2-security.md +127 -0
- skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/manifest.json +41 -0
- skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/reference.md +156 -0
- skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/templates/evidence-map.csv +2 -0
- skilldrop_cli/data/packs/infra-as-code/pack.json +51 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/SKILL.md +85 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/evals/evals.json +31 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/README.md +71 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/examples/basic/main.tf +30 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/main.tf +153 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/outputs.tf +14 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/variables.tf +71 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/versions.tf +10 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket.md +50 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/manifest.json +41 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/reference.md +105 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/templates/module-readme.md +55 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/SKILL.md +87 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/evals/evals.json +30 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/evals/files/2/plan.json +133 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/examples/northwind-orders-plan.json +174 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/examples/northwind-orders.md +87 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/manifest.json +48 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/reference.md +77 -0
- skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/scripts/plan_summary.py +361 -0
- skilldrop_cli/data/packs/product-manager/loops/discover/LOOP.md +81 -0
- skilldrop_cli/data/packs/product-manager/loops/discover/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/product-manager/loops/discover/evals/evals.json +26 -0
- skilldrop_cli/data/packs/product-manager/loops/discover/loop.json +41 -0
- skilldrop_cli/data/packs/product-manager/pack.json +61 -0
- skilldrop_cli/data/packs/product-manager/skills/business-case/SKILL.md +64 -0
- skilldrop_cli/data/packs/product-manager/skills/business-case/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/product-manager/skills/business-case/evals/evals.json +19 -0
- skilldrop_cli/data/packs/product-manager/skills/business-case/examples/build-vs-buy-flags.md +42 -0
- skilldrop_cli/data/packs/product-manager/skills/business-case/manifest.json +11 -0
- skilldrop_cli/data/packs/product-manager/skills/business-case/templates/business-case.md +60 -0
- skilldrop_cli/data/packs/product-manager/skills/okr-cascade/SKILL.md +59 -0
- skilldrop_cli/data/packs/product-manager/skills/okr-cascade/evals/eval_queries.json +12 -0
- skilldrop_cli/data/packs/product-manager/skills/okr-cascade/evals/evals.json +28 -0
- skilldrop_cli/data/packs/product-manager/skills/okr-cascade/manifest.json +11 -0
- skilldrop_cli/data/packs/product-manager/skills/okr-cascade/templates/okr-cascade.md +46 -0
- skilldrop_cli/data/packs/product-manager/skills/prd-draft/SKILL.md +62 -0
- skilldrop_cli/data/packs/product-manager/skills/prd-draft/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/product-manager/skills/prd-draft/evals/evals.json +17 -0
- skilldrop_cli/data/packs/product-manager/skills/prd-draft/manifest.json +16 -0
- skilldrop_cli/data/packs/product-manager/skills/prd-draft/templates/prd.md +66 -0
- skilldrop_cli/data/packs/product-manager/skills/prfaq/SKILL.md +76 -0
- skilldrop_cli/data/packs/product-manager/skills/prfaq/evals/eval_queries.json +13 -0
- skilldrop_cli/data/packs/product-manager/skills/prfaq/evals/evals.json +32 -0
- skilldrop_cli/data/packs/product-manager/skills/prfaq/manifest.json +11 -0
- skilldrop_cli/data/packs/product-manager/skills/prfaq/templates/prfaq.md +60 -0
- skilldrop_cli/data/packs/product-manager/skills/requirements-interview/SKILL.md +61 -0
- skilldrop_cli/data/packs/product-manager/skills/requirements-interview/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/product-manager/skills/requirements-interview/evals/evals.json +16 -0
- skilldrop_cli/data/packs/product-manager/skills/requirements-interview/manifest.json +14 -0
- skilldrop_cli/data/packs/product-manager/skills/requirements-interview/templates/interview-kit.md +63 -0
- skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/SKILL.md +63 -0
- skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/evals/eval_queries.json +13 -0
- skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/evals/evals.json +36 -0
- skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/examples/market-entry-tows.md +42 -0
- skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/manifest.json +15 -0
- skilldrop_cli/data/packs/product-manager/skills/success-metrics/SKILL.md +65 -0
- skilldrop_cli/data/packs/product-manager/skills/success-metrics/evals/eval_queries.json +11 -0
- skilldrop_cli/data/packs/product-manager/skills/success-metrics/evals/evals.json +27 -0
- skilldrop_cli/data/packs/product-manager/skills/success-metrics/manifest.json +11 -0
- skilldrop_cli/data/packs/product-manager/skills/success-metrics/templates/metrics-plan.md +55 -0
- skilldrop_cli/data/packs/product-manager/skills/user-journey-map/SKILL.md +65 -0
- skilldrop_cli/data/packs/product-manager/skills/user-journey-map/evals/eval_queries.json +12 -0
- skilldrop_cli/data/packs/product-manager/skills/user-journey-map/evals/evals.json +30 -0
- skilldrop_cli/data/packs/product-manager/skills/user-journey-map/examples/b2b-saas-onboarding.md +69 -0
- skilldrop_cli/data/packs/product-manager/skills/user-journey-map/manifest.json +15 -0
- skilldrop_cli/data/packs/product-manager/skills/user-journey-map/templates/journey-map.md +47 -0
- skilldrop_cli/data/packs/research/pack.json +52 -0
- skilldrop_cli/data/packs/research/skills/hypothesis-comparison/SKILL.md +131 -0
- skilldrop_cli/data/packs/research/skills/hypothesis-comparison/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/research/skills/hypothesis-comparison/evals/evals.json +19 -0
- skilldrop_cli/data/packs/research/skills/hypothesis-comparison/examples/conversion-drop.md +132 -0
- skilldrop_cli/data/packs/research/skills/hypothesis-comparison/manifest.json +43 -0
- skilldrop_cli/data/packs/research/skills/hypothesis-comparison/reference.md +107 -0
- skilldrop_cli/data/packs/research/skills/hypothesis-comparison/scripts/ach_matrix.py +204 -0
- skilldrop_cli/data/packs/research/skills/hypothesis-comparison/templates/hypothesis-comparison.md +61 -0
- skilldrop_cli/data/packs/research/skills/hypothesis-comparison/templates/matrix.csv +4 -0
- skilldrop_cli/data/packs/research/skills/research-plan/SKILL.md +122 -0
- skilldrop_cli/data/packs/research/skills/research-plan/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/research/skills/research-plan/evals/evals.json +28 -0
- skilldrop_cli/data/packs/research/skills/research-plan/examples/four-day-week-plan.md +97 -0
- skilldrop_cli/data/packs/research/skills/research-plan/manifest.json +47 -0
- skilldrop_cli/data/packs/research/skills/research-plan/reference.md +88 -0
- skilldrop_cli/data/packs/research/skills/research-plan/templates/research-plan.md +54 -0
- skilldrop_cli/data/packs/research/skills/source-synthesis/SKILL.md +123 -0
- skilldrop_cli/data/packs/research/skills/source-synthesis/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/research/skills/source-synthesis/evals/evals.json +19 -0
- skilldrop_cli/data/packs/research/skills/source-synthesis/examples/four-day-week.md +146 -0
- skilldrop_cli/data/packs/research/skills/source-synthesis/manifest.json +42 -0
- skilldrop_cli/data/packs/research/skills/source-synthesis/reference.md +92 -0
- skilldrop_cli/data/packs/research/skills/source-synthesis/scripts/citations.py +314 -0
- skilldrop_cli/data/packs/research/skills/source-synthesis/templates/synthesis.md +46 -0
- skilldrop_cli/data/packs/skill-engineering/pack.json +46 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-author/SKILL.md +139 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-author/evals/eval_queries.json +10 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-author/evals/evals.json +19 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-author/examples/release-notes-skill.md +185 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-author/manifest.json +42 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-author/reference.md +144 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-author/templates/eval_queries.json +9 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-author/templates/evals.json +16 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-author/templates/skill-template.md +52 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/SKILL.md +131 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/eval_queries.json +11 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/evals.json +19 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/files/1/skills/changelog-writer/SKILL.md +10 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/files/1/skills/pr-summary/SKILL.md +12 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/files/1/skills/pr-summary/references/tone.md +3 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/files/1/skills/pr-summary/scripts/collect.py +6 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/examples/meeting-notes-review.md +147 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/manifest.json +50 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/reference.md +135 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/scripts/lint_skill.py +481 -0
- skilldrop_cli/data/packs/skill-engineering/skills/skill-review/templates/review.md +43 -0
- skilldrop_cli/data/packs/solution-architect/loops/design/LOOP.md +83 -0
- skilldrop_cli/data/packs/solution-architect/loops/design/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/solution-architect/loops/design/evals/evals.json +26 -0
- skilldrop_cli/data/packs/solution-architect/loops/design/loop.json +47 -0
- skilldrop_cli/data/packs/solution-architect/pack.json +65 -0
- skilldrop_cli/data/packs/solution-architect/skills/adr-generator/SKILL.md +50 -0
- skilldrop_cli/data/packs/solution-architect/skills/adr-generator/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/adr-generator/evals/evals.json +17 -0
- skilldrop_cli/data/packs/solution-architect/skills/adr-generator/manifest.json +11 -0
- skilldrop_cli/data/packs/solution-architect/skills/adr-generator/templates/madr.md +56 -0
- skilldrop_cli/data/packs/solution-architect/skills/adr-generator/templates/nygard.md +19 -0
- skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/SKILL.md +69 -0
- skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/evals/evals.json +18 -0
- skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/manifest.json +11 -0
- skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/reference.md +73 -0
- skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/templates/openapi-skeleton.yaml +148 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/SKILL.md +66 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/evals/evals.json +16 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/examples/aws-three-tier.md +44 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/examples/c4-container-saas.md +51 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/examples/microservices-sequence.md +49 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/manifest.json +31 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/templates/c4-container.puml +31 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/templates/mermaid-aws.md +52 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/templates/mermaid-flowchart.md +37 -0
- skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/templates/mermaid-sequence.md +39 -0
- skilldrop_cli/data/packs/solution-architect/skills/data-contract/SKILL.md +67 -0
- skilldrop_cli/data/packs/solution-architect/skills/data-contract/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/data-contract/evals/evals.json +16 -0
- skilldrop_cli/data/packs/solution-architect/skills/data-contract/manifest.json +11 -0
- skilldrop_cli/data/packs/solution-architect/skills/data-contract/reference.md +46 -0
- skilldrop_cli/data/packs/solution-architect/skills/data-contract/templates/data-contract.md +69 -0
- skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/SKILL.md +68 -0
- skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/evals/evals.json +16 -0
- skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/manifest.json +11 -0
- skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/reference.md +56 -0
- skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/templates/schema-design.md +75 -0
- skilldrop_cli/data/packs/solution-architect/skills/design-doc/SKILL.md +49 -0
- skilldrop_cli/data/packs/solution-architect/skills/design-doc/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/design-doc/evals/evals.json +17 -0
- skilldrop_cli/data/packs/solution-architect/skills/design-doc/manifest.json +14 -0
- skilldrop_cli/data/packs/solution-architect/skills/design-doc/templates/design-doc.md +98 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/SKILL.md +87 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/evals/evals.json +15 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/manifest.json +36 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/reference.md +91 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/requirements.txt +3 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/_figma_client.py +71 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/frame_to_mermaid.py +102 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/inspect_file.py +46 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/list_comments.py +35 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/post_comment.py +52 -0
- skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/templates/figjam-import.json +20 -0
- skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/SKILL.md +63 -0
- skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/evals/evals.json +16 -0
- skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/manifest.json +16 -0
- skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/reference.md +74 -0
- skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/templates/nfr-spec.md +56 -0
- skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/SKILL.md +103 -0
- skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/evals/evals.json +16 -0
- skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/manifest.json +11 -0
- skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/reference.md +150 -0
- skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/templates/description.md +52 -0
- skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/templates/extraction.md +55 -0
- skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/SKILL.md +56 -0
- skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/evals/evals.json +18 -0
- skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/examples/queue-selection.md +41 -0
- skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/manifest.json +11 -0
- skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/templates/matrix.md +45 -0
- skilldrop_cli/data/packs/solution-architect/skills/threat-model/SKILL.md +65 -0
- skilldrop_cli/data/packs/solution-architect/skills/threat-model/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/solution-architect/skills/threat-model/evals/evals.json +18 -0
- skilldrop_cli/data/packs/solution-architect/skills/threat-model/examples/document-upload.md +56 -0
- skilldrop_cli/data/packs/solution-architect/skills/threat-model/manifest.json +11 -0
- skilldrop_cli/data/packs/solution-architect/skills/threat-model/reference.md +69 -0
- skilldrop_cli/data/packs/sre-oncall/loops/operate/LOOP.md +84 -0
- skilldrop_cli/data/packs/sre-oncall/loops/operate/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/sre-oncall/loops/operate/evals/evals.json +25 -0
- skilldrop_cli/data/packs/sre-oncall/loops/operate/loop.json +41 -0
- skilldrop_cli/data/packs/sre-oncall/pack.json +59 -0
- skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/SKILL.md +65 -0
- skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/evals/evals.json +19 -0
- skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/manifest.json +11 -0
- skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/reference.md +54 -0
- skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/templates/cost-model.md +68 -0
- skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/SKILL.md +121 -0
- skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/evals/evals.json +29 -0
- skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/examples/acme-aws-september.md +247 -0
- skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/examples/acme-cur-2026-08-09.csv +1085 -0
- skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/manifest.json +49 -0
- skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/reference.md +100 -0
- skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/scripts/cost_summary.py +630 -0
- skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/templates/cost-review.md +36 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/SKILL.md +114 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/evals.json +28 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/files/1/deploys.csv +49 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/files/1/incidents.csv +7 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/files/1/prs.csv +84 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/examples/checkout-api-8-weeks.md +123 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/examples/deployments.csv +49 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/examples/incidents.csv +7 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/examples/prs.csv +84 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/manifest.json +48 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/reference.md +83 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/scripts/delivery_metrics.py +566 -0
- skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/templates/delivery-report.md +31 -0
- skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/SKILL.md +68 -0
- skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/evals/evals.json +16 -0
- skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/manifest.json +14 -0
- skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/reference.md +43 -0
- skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/templates/messages.md +82 -0
- skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/SKILL.md +70 -0
- skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/evals/evals.json +16 -0
- skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/manifest.json +15 -0
- skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/reference.md +67 -0
- skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/templates/observability-plan.md +62 -0
- skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/SKILL.md +66 -0
- skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/evals/evals.json +17 -0
- skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/manifest.json +14 -0
- skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/templates/postmortem.md +67 -0
- skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/SKILL.md +42 -0
- skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/evals/evals.json +17 -0
- skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/manifest.json +11 -0
- skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/templates/runbook.md +109 -0
- skilldrop_cli/data/packs/stakeholder-comms/pack.json +60 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/SKILL.md +74 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/evals/evals.json +15 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/manifest.json +11 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/reference.md +175 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/decision-log/SKILL.md +68 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/decision-log/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/decision-log/evals/evals.json +17 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/decision-log/manifest.json +11 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/SKILL.md +45 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/evals/evals.json +17 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/manifest.json +11 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/templates/exec-summary.md +48 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/SKILL.md +77 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/evals/evals.json +18 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/examples/local-setup-guide.md +127 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/manifest.json +11 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/templates/api-reference.md +120 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/templates/design-walkthrough.md +72 -0
- skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/templates/setup-guide.md +109 -0
- skilldrop_cli/data/packs/trackers/pack.json +61 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/SKILL.md +116 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/evals/evals.json +30 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/evals/files/1/examples/northwind-backlog.csv +28 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/evals/files/2/issues.json +6052 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/examples/northwind-backlog.csv +28 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/examples/northwind-checkout-triage.md +202 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/manifest.json +42 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/reference.md +106 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/scripts/triage_backlog.py +461 -0
- skilldrop_cli/data/packs/trackers/skills/backlog-triage/templates/triage-report.md +42 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/SKILL.md +111 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/evals/eval_queries.json +30 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/evals/evals.json +30 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/evals/files/1/examples/northwind-week-40.csv +16 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/evals/files/2/issues.json +1212 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/examples/northwind-week-40.csv +16 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/examples/northwind-weekly-status.md +160 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/manifest.json +33 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/reference.md +92 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/scripts/status_counts.py +486 -0
- skilldrop_cli/data/packs/trackers/skills/team-status-report/templates/status-report.md +42 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/SKILL.md +116 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/eval_queries.json +34 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/evals.json +31 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/files/1/examples/prd-guest-checkout.md +53 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/files/2/examples/prd-guest-checkout.md +53 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/files/2/examples/tracker-after-two-weeks.csv +30 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/examples/guest-checkout-spec.json +98 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/examples/guest-checkout-sync.md +151 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/examples/prd-guest-checkout.md +53 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/examples/tracker-after-two-weeks.csv +30 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/manifest.json +41 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/reference.md +101 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/scripts/brief_sync.py +501 -0
- skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/templates/issues-spec.json +26 -0
- skilldrop_cli/data/profiles.json +24 -0
- skilldrop_cli-0.16.3.dist-info/METADATA +91 -0
- skilldrop_cli-0.16.3.dist-info/RECORD +757 -0
- skilldrop_cli-0.16.3.dist-info/WHEEL +5 -0
- skilldrop_cli-0.16.3.dist-info/entry_points.txt +2 -0
- skilldrop_cli-0.16.3.dist-info/licenses/LICENSE +9 -0
- skilldrop_cli-0.16.3.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: delivery-metrics-report
|
|
3
|
+
description: Produce a delivery metrics report for one service from deployment, incident and pull-request exports — the DORA metrics (deployment frequency, change lead time, change fail rate, failed deployment recovery time) plus flow metrics (WIP, cycle time p50/p85, throughput), computed by a script with per-week trends and explicit data gaps, then interpreted for what changed and why. Use when the user wants DORA metrics, says "how are we doing on the four keys", "what's our change failure rate", "compute lead time and deploy frequency from this CSV", or "build our delivery metrics report".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# delivery-metrics-report
|
|
7
|
+
|
|
8
|
+
Turns raw exports (a deployments CSV, an incidents CSV and, optionally, a PR CSV) into a delivery report a team can act on. A script does all the arithmetic, so every number traces back to rows. The skill's job is to say what the trend means and what to look at next. It reports on one service over time. It is not a team scoreboard, and it refuses to become one.
|
|
9
|
+
|
|
10
|
+
It uses the metric names DORA currently publishes on [dora.dev](https://dora.dev/guides/dora-metrics/): **change lead time**, **deployment frequency**, **failed deployment recovery time** and **change fail rate**, plus **deployment rework rate** when the data supports it. Older reports called the recovery metric "time to restore service" (MTTR). This skill reports failed deployment recovery time as the DORA metric, and keeps all-incident restore time as a separately labelled context line. Definitions, column contracts and edge cases are in [`reference.md`](reference.md).
|
|
11
|
+
|
|
12
|
+
## How to respond
|
|
13
|
+
|
|
14
|
+
1. **Ask once for what is missing, then proceed.** Ask at most 2 questions. Spend them on the things that change the numbers:
|
|
15
|
+
- **Which service and which window.** One service per report. Default to the last 8 full ISO weeks (Monday to Sunday) when no window is given.
|
|
16
|
+
- **What counts as a failed deployment here.** The script counts `status` failed, rolled_back or hotfixed, or any deployment named in an incident's `caused_by_deploy`. If the team also counts something else, such as a feature-flag kill, add it to the export before running.
|
|
17
|
+
|
|
18
|
+
Map the user's columns to the contract in [`reference.md`](reference.md) and rename them. Don't guess which column means "deployed". If the export comes from a deploy tool that logs every environment, keep the `environment` column. The script keeps only production rows.
|
|
19
|
+
|
|
20
|
+
2. **Say what the data can and cannot support before you run anything.** Read the headers:
|
|
21
|
+
- No `first_commit_at` in either file: change lead time is not computed.
|
|
22
|
+
- No incidents file and no `recovered_at`: failed deployment recovery time is not computed.
|
|
23
|
+
- No `unplanned` column: rework rate is not computed.
|
|
24
|
+
- No PR file: there are no flow metrics.
|
|
25
|
+
Name each gap in the report. Never fill one with an estimate.
|
|
26
|
+
|
|
27
|
+
3. **Run the script.**
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Claude Code
|
|
31
|
+
python3 "${CLAUDE_SKILL_DIR}/scripts/delivery_metrics.py" \
|
|
32
|
+
--deployments deployments.csv --incidents incidents.csv --prs prs.csv \
|
|
33
|
+
--service checkout-api --from 2026-07-06 --to 2026-08-30 \
|
|
34
|
+
--out out/delivery-report.md --json out/delivery-metrics.json
|
|
35
|
+
|
|
36
|
+
# Other IDEs (from the skill folder)
|
|
37
|
+
python3 scripts/delivery_metrics.py \
|
|
38
|
+
--deployments deployments.csv --incidents incidents.csv --prs prs.csv \
|
|
39
|
+
--service checkout-api --from 2026-07-06 --to 2026-08-30 \
|
|
40
|
+
--out out/delivery-report.md --json out/delivery-metrics.json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
- Timestamps without a UTC offset stop the run (exit 2). Rerun with `--assume-tz=+00:00` only if the user confirms the zone the tool writes in. Use the `=` form so a negative offset is not read as a flag. The report counts every row that relied on the assumption.
|
|
44
|
+
- Any other exit 2 names the file, line and problem. Fix the input and rerun. Don't patch around it.
|
|
45
|
+
|
|
46
|
+
4. **Check the numbers against the input before interpreting.** The deployment count should match the production rows in the window. The data-quality section lists every skipped row (missing timestamp, non-production, unresolved incident, PR with no deploy). If more than about 10% of rows were skipped, lead with that, because the metrics describe a subset.
|
|
47
|
+
|
|
48
|
+
5. **Interpret the trend, not the level.** Read the weekly series and write 3 to 6 findings. Each finding has the number, the week it moved, and the next thing to check.
|
|
49
|
+
- ✅ *"Change fail rate was 0–33% in six of eight weeks and 67% (4 of 6) in the week of 2026-08-03: three rollbacks and the deploy behind INC-318. Check what changed that week before treating 12.5% as the baseline."*
|
|
50
|
+
- ❌ *"Change fail rate is 12.5%, which is Elite."* That is a bucket label with no cause and no action.
|
|
51
|
+
- Read p85 next to p50. A p50 of 54 min with a p85 of 23.8 h means most failures are caught by rollback, but one or two sat undetected. That points at detection (see `observability-plan`), not at the rollback process.
|
|
52
|
+
- Read throughput and stability together. Deploys going up while change fail rate stays flat is the healthy pattern. Deploys going up while fail rate rises means batch size or test coverage did not keep pace.
|
|
53
|
+
- With fewer than 10 observations (the script flags "low n"), give the counts and say a percentile is not yet meaningful.
|
|
54
|
+
|
|
55
|
+
6. **Refuse to rank teams or people on these numbers.** If asked to compare teams, or to set one team's numbers as another's target, say no and explain why in one paragraph:
|
|
56
|
+
- DORA says the metrics apply at the application or service level, and that comparing very different applications misleads.
|
|
57
|
+
- The goal is a team improving against its own past, not competing.
|
|
58
|
+
- The numbers depend on local definitions: what counts as a deployment, a failure, or the start of a change. Two teams' 12% are rarely the same 12%.
|
|
59
|
+
- Once a delivery metric becomes a target it gets gamed: smaller fake deploys, unlogged rollbacks, incidents not linked to deploys.
|
|
60
|
+
Offer instead: each team's own trend, and a shared definition so the numbers can be read side by side for learning.
|
|
61
|
+
|
|
62
|
+
7. **Emit the report** with [`templates/delivery-report.md`](templates/delivery-report.md):
|
|
63
|
+
- the scope line (service, window, week basis, metric names used)
|
|
64
|
+
- the script's tables, pasted unchanged
|
|
65
|
+
- findings
|
|
66
|
+
- data gaps
|
|
67
|
+
- what to measure next
|
|
68
|
+
Hand the incident narrative to `postmortem-generator` and alerting gaps to `observability-plan`.
|
|
69
|
+
|
|
70
|
+
**Non-interactive runs** (subagent, CI, headless): a missing window defaults to the last 8 full ISO weeks, a missing service defaults to the only service in the file, and both are tagged `[assumption]` at the top. Timestamps with no offset don't stop a non-interactive run: rerun with `--assume-tz=+00:00`, tag UTC as an `[assumption]` at the top with the count of rows that relied on it, and say that weekly figures near a day boundary move if the tool wrote local time. If there is no deployments file, or it holds several services and none was named, emit `BLOCKED: need a deployments CSV with deploy_id, service, deployed_at, status` or `BLOCKED: need --service (file has: <list>)`. Never type metric values the script did not produce.
|
|
71
|
+
|
|
72
|
+
## Useful references in this skill
|
|
73
|
+
|
|
74
|
+
- [`reference.md`](reference.md): the DORA definitions with their source, how each metric is computed here, the CSV column contracts, timezone and missing-field rules, and why not to compare teams
|
|
75
|
+
- [`templates/delivery-report.md`](templates/delivery-report.md): the report skeleton
|
|
76
|
+
- [`examples/checkout-api-8-weeks.md`](examples/checkout-api-8-weeks.md): the sample CSVs in this folder, the script's real output, and the interpretation written from it
|
|
77
|
+
- [`scripts/delivery_metrics.py`](scripts/delivery_metrics.py): the calculator (stdlib, Python 3.9+)
|
|
78
|
+
|
|
79
|
+
## Quality bar
|
|
80
|
+
|
|
81
|
+
- **Every number comes from the script's output.** Nothing is typed, rounded "for readability" into a different value, or estimated to fill a gap.
|
|
82
|
+
- **Metric names and definitions are stated.** The report says it uses DORA's current names and how each one is measured, including where recovery time starts.
|
|
83
|
+
- **One service per report.** A mixed-service file is split with `--service` or the report says it is aggregated and why that weakens it.
|
|
84
|
+
- **Distributions, not averages.** Lead time, recovery time and cycle time are p50 and p85 (p95 where n allows). A mean of durations is never reported.
|
|
85
|
+
- **Gaps are named.** Skipped rows, unresolved incidents, assumed timezones and uncomputed metrics appear in the report.
|
|
86
|
+
- **Findings cite a week and a count, and name a next check.** "Fail rate is high" with no week and no next step fails.
|
|
87
|
+
- **No team ranking or performance verdict on individuals.** Requests for one are declined with the reason.
|
|
88
|
+
|
|
89
|
+
## When to use this skill
|
|
90
|
+
|
|
91
|
+
- ✅ "Compute our DORA metrics from these deploy and incident exports."
|
|
92
|
+
- ✅ A quarterly or monthly delivery review for one service.
|
|
93
|
+
- ✅ Checking whether a change (trunk-based development, a new pipeline, smaller PRs) moved lead time or fail rate.
|
|
94
|
+
- ✅ Getting a WIP, cycle-time and throughput baseline from PR data.
|
|
95
|
+
|
|
96
|
+
## When NOT to use this skill
|
|
97
|
+
|
|
98
|
+
- ❌ Writing up one incident: timeline, impact, contributing factors. Use `postmortem-generator`.
|
|
99
|
+
- ❌ Designing SLOs, alerts or dashboards for a service. Use `observability-plan`.
|
|
100
|
+
- ❌ Product or business outcome metrics (activation, retention, revenue). Use `success-metrics`.
|
|
101
|
+
- ❌ Reporting how people use AI tools. Use `ai-usage-report`.
|
|
102
|
+
- ❌ Forecasting infrastructure cost or capacity. Use `capacity-cost-model`.
|
|
103
|
+
|
|
104
|
+
## Anti-patterns to avoid
|
|
105
|
+
|
|
106
|
+
- ❌ **The league table.** Ranking teams by deployment frequency or fail rate. It rewards definitional games and punishes teams with harder systems.
|
|
107
|
+
- ❌ **Mean time to anything.** One 52-hour failure drags a mean far from what usually happens. Use percentiles.
|
|
108
|
+
- ❌ **Silent timezone guessing.** Reading `2026-08-03 12:14` as UTC when the tool wrote local time shifts deploys across day and week boundaries.
|
|
109
|
+
- ❌ **Bucket labels as findings.** "Elite", "High" and similar cluster names come from survey data across many organisations. They are not a target for one service.
|
|
110
|
+
- ❌ **Counting only incidents as failures.** Rollbacks and hotfixes that never got an incident ticket are failed deployments too. Leaving them out undercounts change fail rate.
|
|
111
|
+
- ❌ **Trend claims from two weeks.** Under four weeks of data is a snapshot.
|
|
112
|
+
- ❌ **Mixing staging and production.** Counting every environment inflates deployment frequency.
|
|
113
|
+
- ❌ **Showing the machinery.** The reply and the artifact are for the person who asked. Don't mention this skill, its files, templates, caps or internal terms, or that the run is non-interactive. Name another skill once, at the end, as a suggested next step, never inside the artifact.
|
|
114
|
+
- ❌ **A bare `BLOCKED` line.** Keep the `BLOCKED: need <X>` line, then write for a person: what is missing in plain words, what you will produce once you have it, and anything the request already lets you say.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Compute our four DORA metrics from this deployments CSV and incident export",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "What's our change failure rate and lead time for changes for checkout-api over the last quarter?",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Build a delivery metrics report with deploy frequency, cycle time p85, WIP and throughput from our PR data",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "How are we doing on the four keys? Here's the export from Argo CD and PagerDuty",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Write the postmortem for Tuesday's checkout outage from this incident timeline",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Define SLOs and burn-rate alerts for the payments service",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "What product metrics should we track to know if the new onboarding flow worked?",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Report how our engineers are using Claude Code and Cursor this month from the telemetry log",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "delivery-metrics-report",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Here are three exports for Acme's payments-api: deploys.csv (deploy_id, service, environment, deployed_at, status), incidents.csv (incident_id, service, started_at, resolved_at, caused_by_deploy) and prs.csv (pr_id, opened_at, first_commit_at, merged_at, deploy_id). Compute our DORA metrics for the last 8 weeks and tell us what changed. Timestamps in deploys.csv look like '2026-09-01 14:03:00' with no zone.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Runs scripts/delivery_metrics.py rather than computing metrics by hand, and every metric value in the report matches the script output",
|
|
9
|
+
"Does not silently assume a timezone for the offset-less deploy timestamps: asks for the zone, or uses --assume-tz only with a stated, tagged assumption and reports the count of affected rows",
|
|
10
|
+
"Names the metrics with DORA's current terms (change lead time, deployment frequency, change fail rate, failed deployment recovery time) and notes that time to restore service is the older name or is shown only as context",
|
|
11
|
+
"Reports lead time, recovery time and cycle time as p50/p85 percentiles, never as means",
|
|
12
|
+
"Each finding cites a specific week and count and names a next check",
|
|
13
|
+
"Lists data gaps: skipped rows, unresolved incidents, low-n distributions and any metric not computed",
|
|
14
|
+
"Does not invent deployments, incidents or numbers not present in the exports"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": 2,
|
|
19
|
+
"prompt": "We have DORA numbers for Northwind's four platform teams. Rank them from best to worst so we can set Team C's targets to match Team A's change failure rate.",
|
|
20
|
+
"assertions": [
|
|
21
|
+
"Declines to rank the teams or set one team's numbers as another's target",
|
|
22
|
+
"Explains why: DORA metrics apply at the service level, definitions differ between teams, and ranking turns the metrics into gameable targets",
|
|
23
|
+
"Offers an alternative: each team's own trend over the same window and a shared definition of deployment and failure",
|
|
24
|
+
"Does not invent metric values for any team"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
deploy_id,service,environment,deployed_at,status
|
|
2
|
+
dep-1041,payments-api,production,2026-07-06 09:40:00,success
|
|
3
|
+
dep-1042,payments-api,production,2026-07-08 15:28:00,success
|
|
4
|
+
dep-1043,payments-api,production,2026-07-10 11:26:00,success
|
|
5
|
+
dep-1044,payments-api,production,2026-07-15 09:51:00,success
|
|
6
|
+
dep-1045,payments-api,production,2026-07-16 11:52:00,success
|
|
7
|
+
dep-stg-0007,payments-api,staging,2026-07-14 10:00:00,success
|
|
8
|
+
dep-1046,payments-api,production,2026-07-17 14:44:00,hotfixed
|
|
9
|
+
dep-1047,payments-api,production,2026-07-20 16:09:00,success
|
|
10
|
+
dep-1048,payments-api,production,2026-07-22 10:35:00,success
|
|
11
|
+
dep-1049,payments-api,production,2026-07-23 13:52:00,success
|
|
12
|
+
dep-1050,payments-api,production,2026-07-24 09:22:00,success
|
|
13
|
+
dep-1051,payments-api,production,2026-07-27 12:45:00,success
|
|
14
|
+
dep-1052,payments-api,production,2026-07-29 13:46:00,success
|
|
15
|
+
dep-1053,payments-api,production,2026-07-30 12:21:00,success
|
|
16
|
+
dep-1054,payments-api,production,2026-07-31 11:41:00,success
|
|
17
|
+
dep-1055,payments-api,production,2026-08-03 12:14:00,success
|
|
18
|
+
dep-1056,payments-api,production,2026-08-04 09:07:00,rolled_back
|
|
19
|
+
dep-1057,payments-api,production,2026-08-04 10:18:00,success
|
|
20
|
+
dep-1058,payments-api,production,2026-08-05 16:52:00,rolled_back
|
|
21
|
+
dep-1059,payments-api,production,2026-08-06 12:04:00,success
|
|
22
|
+
dep-1999,payments-api,production,,success
|
|
23
|
+
dep-1060,payments-api,production,2026-08-07 11:07:00,rolled_back
|
|
24
|
+
dep-1061,payments-api,production,2026-08-10 17:49:00,success
|
|
25
|
+
dep-1062,payments-api,production,2026-08-11 12:37:00,success
|
|
26
|
+
dep-1063,payments-api,production,2026-08-12 15:31:00,success
|
|
27
|
+
dep-1064,payments-api,production,2026-08-13 15:41:00,success
|
|
28
|
+
dep-1065,payments-api,production,2026-08-14 12:44:00,success
|
|
29
|
+
dep-1066,payments-api,production,2026-08-14 11:18:00,success
|
|
30
|
+
dep-1067,payments-api,production,2026-08-17 13:52:00,success
|
|
31
|
+
dep-1068,payments-api,production,2026-08-18 15:22:00,success
|
|
32
|
+
dep-1069,payments-api,production,2026-08-19 10:25:00,success
|
|
33
|
+
dep-1070,payments-api,production,2026-08-19 15:39:00,success
|
|
34
|
+
dep-1071,payments-api,production,2026-08-20 14:47:00,success
|
|
35
|
+
dep-1072,payments-api,production,2026-08-21 10:10:00,success
|
|
36
|
+
dep-1073,payments-api,production,2026-08-21 17:31:00,success
|
|
37
|
+
dep-1074,payments-api,production,2026-08-24 15:31:00,success
|
|
38
|
+
dep-1075,payments-api,production,2026-08-25 14:49:00,success
|
|
39
|
+
dep-1076,payments-api,production,2026-08-25 12:29:00,success
|
|
40
|
+
dep-1077,payments-api,production,2026-08-26 13:17:00,success
|
|
41
|
+
dep-1078,payments-api,production,2026-08-27 14:47:00,success
|
|
42
|
+
dep-1079,payments-api,production,2026-08-28 14:11:00,success
|
|
43
|
+
dep-1080,payments-api,production,2026-08-28 15:59:00,success
|
|
44
|
+
dep-s000,payments-api,production,2026-07-06 11:00:00,success
|
|
45
|
+
dep-s001,payments-api,production,2026-07-15 11:00:00,success
|
|
46
|
+
dep-s002,payments-api,production,2026-07-24 11:00:00,success
|
|
47
|
+
dep-s003,payments-api,production,2026-08-02 11:00:00,success
|
|
48
|
+
dep-s004,payments-api,production,2026-08-11 11:00:00,success
|
|
49
|
+
dep-s005,payments-api,production,2026-08-20 11:00:00,success
|
skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/files/1/incidents.csv
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
incident_id,service,started_at,resolved_at,caused_by_deploy
|
|
2
|
+
INC-311,payments-api,2026-07-17T15:42:00Z,2026-07-17T18:10:00Z,dep-1046
|
|
3
|
+
INC-318,payments-api,2026-08-05T13:20:00+01:00,2026-08-05T17:05:00+01:00,dep-1055
|
|
4
|
+
INC-320,payments-api,2026-08-12T02:14:00Z,2026-08-12T03:01:00Z,
|
|
5
|
+
INC-324,payments-api,2026-08-21T09:30:00Z,2026-08-21T10:15:00Z,
|
|
6
|
+
INC-327,payments-api,2026-08-28T16:00:00Z,,
|
|
7
|
+
INC-205,payments-api,2026-07-22T08:00:00Z,2026-07-22T08:40:00Z,
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
pr_id,opened_at,first_commit_at,merged_at,deploy_id
|
|
2
|
+
PR-2201,2026-07-04T03:06:00Z,2026-07-03T22:16:00Z,2026-07-06T06:42:00Z,dep-1041
|
|
3
|
+
PR-2202,2026-07-04T01:25:00Z,2026-07-03T20:32:00Z,2026-07-06T06:52:00Z,dep-1041
|
|
4
|
+
PR-2203,2026-07-04T10:56:00Z,2026-07-04T05:06:00Z,2026-07-08T12:54:00Z,dep-1042
|
|
5
|
+
PR-2204,2026-07-07T19:06:00Z,2026-07-07T13:30:00Z,2026-07-10T08:22:00Z,dep-1043
|
|
6
|
+
PR-2205,2026-07-12T16:11:00Z,2026-07-12T12:55:00Z,2026-07-15T09:22:00Z,dep-1044
|
|
7
|
+
PR-2206,2026-07-14T18:20:00Z,2026-07-14T15:01:00Z,2026-07-15T08:34:00Z,dep-1044
|
|
8
|
+
PR-2207,2026-07-12T07:28:00Z,2026-07-12T05:44:00Z,2026-07-15T08:40:00Z,dep-1044
|
|
9
|
+
PR-2208,2026-07-13T11:28:00Z,2026-07-13T06:02:00Z,2026-07-16T10:58:00Z,dep-1045
|
|
10
|
+
PR-2209,2026-07-15T07:14:00Z,2026-07-15T01:42:00Z,2026-07-17T11:44:00Z,dep-1046
|
|
11
|
+
PR-2210,2026-07-19T08:04:00Z,2026-07-19T04:05:00Z,2026-07-20T14:39:00Z,dep-1047
|
|
12
|
+
PR-2211,2026-07-21T22:03:00Z,2026-07-21T17:59:00Z,2026-07-22T10:02:00Z,dep-1048
|
|
13
|
+
PR-2212,2026-07-19T20:36:00Z,2026-07-19T18:13:00Z,2026-07-22T10:12:00Z,dep-1048
|
|
14
|
+
PR-2213,2026-07-18T17:17:00Z,2026-07-18T16:25:00Z,2026-07-22T09:51:00Z,dep-1048
|
|
15
|
+
PR-2214,2026-07-21T23:48:00Z,2026-07-21T23:10:00Z,2026-07-23T12:04:00Z,dep-1049
|
|
16
|
+
PR-2215,2026-07-20T04:54:00Z,2026-07-20T03:39:00Z,2026-07-23T12:15:00Z,dep-1049
|
|
17
|
+
PR-2216,2026-07-22T11:54:00Z,2026-07-22T08:13:00Z,2026-07-23T11:06:00Z,dep-1049
|
|
18
|
+
PR-2217,2026-07-23T17:02:00Z,2026-07-23T11:56:00Z,2026-07-24T08:27:00Z,dep-1050
|
|
19
|
+
PR-2218,2026-07-23T07:15:00Z,2026-07-23T04:17:00Z,2026-07-24T08:53:00Z,dep-1050
|
|
20
|
+
PR-2219,2026-07-24T15:32:00Z,2026-07-24T11:11:00Z,2026-07-27T11:30:00Z,dep-1051
|
|
21
|
+
PR-2220,2026-07-25T15:35:00Z,2026-07-25T10:00:00Z,2026-07-27T12:20:00Z,dep-1051
|
|
22
|
+
PR-2221,2026-07-27T09:52:00Z,2026-07-27T04:08:00Z,2026-07-29T10:54:00Z,dep-1052
|
|
23
|
+
PR-2222,2026-07-26T14:42:00Z,2026-07-26T12:47:00Z,2026-07-29T09:51:00Z,dep-1052
|
|
24
|
+
PR-2223,2026-07-28T23:55:00Z,2026-07-28T22:17:00Z,2026-07-30T10:19:00Z,dep-1053
|
|
25
|
+
PR-2224,2026-07-28T23:07:00Z,2026-07-28T22:00:00Z,2026-07-30T11:02:00Z,dep-1053
|
|
26
|
+
PR-2225,2026-07-27T11:43:00Z,2026-07-27T06:11:00Z,2026-07-30T10:25:00Z,dep-1053
|
|
27
|
+
PR-2226,2026-07-29T00:03:00Z,2026-07-28T21:59:00Z,2026-07-31T10:31:00Z,dep-1054
|
|
28
|
+
PR-2227,2026-07-29T18:07:00Z,2026-07-29T12:48:00Z,2026-07-31T09:24:00Z,dep-1054
|
|
29
|
+
PR-2228,2026-07-30T03:27:00Z,2026-07-30T00:26:00Z,2026-07-31T09:49:00Z,dep-1054
|
|
30
|
+
PR-2229,2026-07-31T23:40:00Z,2026-07-31T22:14:00Z,2026-08-03T08:42:00Z,dep-1055
|
|
31
|
+
PR-2230,2026-08-01T02:10:00Z,2026-08-01T00:10:00Z,2026-08-03T10:20:00Z,dep-1055
|
|
32
|
+
PR-2231,2026-08-02T18:23:00Z,2026-08-02T12:41:00Z,2026-08-04T08:23:00Z,dep-1056
|
|
33
|
+
PR-2232,2026-08-01T20:59:00Z,2026-08-01T17:52:00Z,2026-08-04T07:21:00Z,dep-1056
|
|
34
|
+
PR-2233,2026-08-03T02:33:00Z,2026-08-02T22:49:00Z,2026-08-04T08:27:00Z,dep-1057
|
|
35
|
+
PR-2234,2026-08-03T10:34:00Z,2026-08-03T04:52:00Z,2026-08-05T13:19:00Z,dep-1058
|
|
36
|
+
PR-2235,2026-08-03T20:39:00Z,2026-08-03T17:38:00Z,2026-08-05T14:07:00Z,dep-1058
|
|
37
|
+
PR-2236,2026-08-05T11:56:00Z,2026-08-05T08:56:00Z,2026-08-06T10:45:00Z,dep-1059
|
|
38
|
+
PR-2237,2026-08-05T16:54:00Z,2026-08-05T12:37:00Z,2026-08-07T10:07:00Z,dep-1060
|
|
39
|
+
PR-2238,2026-08-10T05:16:00Z,2026-08-10T01:55:00Z,2026-08-10T16:08:00Z,dep-1061
|
|
40
|
+
PR-2239,2026-08-09T15:45:00Z,2026-08-09T13:51:00Z,2026-08-11T10:08:00Z,dep-1062
|
|
41
|
+
PR-2240,2026-08-10T19:13:00Z,2026-08-10T14:15:00Z,2026-08-11T11:21:00Z,dep-1062
|
|
42
|
+
PR-2241,2026-08-11T06:52:00Z,2026-08-11T04:10:00Z,2026-08-12T13:50:00Z,dep-1063
|
|
43
|
+
PR-2242,2026-08-11T06:50:00Z,2026-08-11T03:14:00Z,2026-08-12T13:16:00Z,dep-1063
|
|
44
|
+
PR-2243,2026-08-11T05:56:00Z,2026-08-11T03:39:00Z,2026-08-12T12:52:00Z,dep-1063
|
|
45
|
+
PR-2244,2026-08-12T03:45:00Z,2026-08-12T00:20:00Z,2026-08-13T14:11:00Z,dep-1064
|
|
46
|
+
PR-2245,2026-08-12T05:59:00Z,2026-08-12T03:06:00Z,2026-08-13T12:38:00Z,dep-1064
|
|
47
|
+
PR-2246,2026-08-12T11:03:00Z,2026-08-12T09:45:00Z,2026-08-13T12:05:00Z,dep-1064
|
|
48
|
+
PR-2247,2026-08-12T11:51:00Z,2026-08-12T07:45:00Z,2026-08-14T11:13:00Z,dep-1065
|
|
49
|
+
PR-2248,2026-08-13T10:10:00Z,2026-08-13T05:42:00Z,2026-08-14T08:22:00Z,dep-1066
|
|
50
|
+
PR-2249,2026-08-16T07:49:00Z,2026-08-16T02:42:00Z,2026-08-17T10:12:00Z,dep-1067
|
|
51
|
+
PR-2250,2026-08-17T07:57:00Z,2026-08-17T03:50:00Z,2026-08-18T14:39:00Z,dep-1068
|
|
52
|
+
PR-2251,2026-08-17T19:01:00Z,2026-08-17T15:58:00Z,2026-08-19T09:11:00Z,dep-1069
|
|
53
|
+
PR-2252,2026-08-18T13:36:00Z,2026-08-18T07:37:00Z,2026-08-19T12:34:00Z,dep-1070
|
|
54
|
+
PR-2253,2026-08-17T20:03:00Z,2026-08-17T15:21:00Z,2026-08-19T13:48:00Z,dep-1070
|
|
55
|
+
PR-2254,2026-08-18T10:18:00Z,2026-08-18T07:10:00Z,2026-08-19T11:46:00Z,dep-1070
|
|
56
|
+
PR-2255,2026-08-19T02:38:00Z,2026-08-19T01:47:00Z,2026-08-20T12:00:00Z,dep-1071
|
|
57
|
+
PR-2256,2026-08-19T01:03:00Z,2026-08-18T21:33:00Z,2026-08-20T11:53:00Z,dep-1071
|
|
58
|
+
PR-2257,2026-08-18T21:49:00Z,2026-08-18T16:54:00Z,2026-08-20T12:25:00Z,dep-1071
|
|
59
|
+
PR-2258,2026-08-19T23:53:00Z,2026-08-19T22:24:00Z,2026-08-21T07:54:00Z,dep-1072
|
|
60
|
+
PR-2259,2026-08-19T16:40:00Z,2026-08-19T16:06:00Z,2026-08-21T09:14:00Z,dep-1072
|
|
61
|
+
PR-2260,2026-08-20T06:11:00Z,2026-08-20T05:16:00Z,2026-08-21T09:27:00Z,dep-1072
|
|
62
|
+
PR-2261,2026-08-21T08:41:00Z,2026-08-21T07:15:00Z,2026-08-21T14:26:00Z,dep-1073
|
|
63
|
+
PR-2262,2026-08-23T15:06:00Z,2026-08-23T09:42:00Z,2026-08-24T14:11:00Z,dep-1074
|
|
64
|
+
PR-2263,2026-08-24T07:42:00Z,2026-08-24T01:56:00Z,2026-08-24T14:34:00Z,dep-1074
|
|
65
|
+
PR-2264,2026-08-24T11:39:00Z,2026-08-24T06:21:00Z,2026-08-24T14:23:00Z,dep-1074
|
|
66
|
+
PR-2265,2026-08-25T08:50:00Z,2026-08-25T03:26:00Z,2026-08-25T14:14:00Z,dep-1075
|
|
67
|
+
PR-2266,2026-08-25T02:27:00Z,2026-08-25T00:06:00Z,2026-08-25T13:11:00Z,dep-1075
|
|
68
|
+
PR-2267,2026-08-25T00:15:00Z,2026-08-24T20:55:00Z,2026-08-25T12:14:00Z,dep-1075
|
|
69
|
+
PR-2268,2026-08-25T06:06:00Z,2026-08-25T01:40:00Z,2026-08-25T10:58:00Z,dep-1076
|
|
70
|
+
PR-2269,2026-08-25T07:17:00Z,2026-08-25T02:38:00Z,2026-08-26T11:59:00Z,dep-1077
|
|
71
|
+
PR-2270,2026-08-25T23:53:00Z,2026-08-25T20:16:00Z,2026-08-26T11:43:00Z,dep-1077
|
|
72
|
+
PR-2271,2026-08-25T22:15:00Z,2026-08-25T16:17:00Z,2026-08-26T12:03:00Z,dep-1077
|
|
73
|
+
PR-2272,2026-08-26T02:09:00Z,2026-08-25T23:03:00Z,2026-08-27T13:45:00Z,dep-1078
|
|
74
|
+
PR-2273,2026-08-26T01:56:00Z,2026-08-25T22:57:00Z,2026-08-27T12:31:00Z,dep-1078
|
|
75
|
+
PR-2274,2026-08-27T04:52:00Z,2026-08-26T23:32:00Z,2026-08-27T13:37:00Z,dep-1078
|
|
76
|
+
PR-2275,2026-08-28T02:20:00Z,2026-08-28T01:46:00Z,2026-08-28T11:17:00Z,dep-1079
|
|
77
|
+
PR-2276,2026-08-27T23:44:00Z,2026-08-27T19:32:00Z,2026-08-28T12:01:00Z,dep-1079
|
|
78
|
+
PR-2277,2026-08-28T00:06:00Z,2026-08-27T20:11:00Z,2026-08-28T15:13:00Z,dep-1080
|
|
79
|
+
PR-2278,2026-08-27T14:42:00Z,2026-08-27T12:38:00Z,2026-08-28T14:28:00Z,dep-1080
|
|
80
|
+
PR-2279,2026-08-27T10:26:00Z,2026-08-27T05:09:00Z,2026-08-28T14:33:00Z,dep-1080
|
|
81
|
+
PR-2900,2026-08-24T10:00:00Z,2026-08-21T15:00:00Z,,
|
|
82
|
+
PR-2901,2026-08-27T09:00:00Z,2026-08-26T17:30:00Z,,
|
|
83
|
+
PR-2902,2026-07-29T11:00:00Z,2026-07-28T16:00:00Z,,
|
|
84
|
+
PR-2903,2026-08-03T11:00:00Z,2026-08-03T09:00:00Z,,
|
skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/examples/checkout-api-8-weeks.md
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Example: checkout-api, 8 weeks
|
|
2
|
+
|
|
3
|
+
Northwind's checkout team exported eight weeks of data (2026-07-06 to 2026-08-30) and asked: "Compute our DORA metrics and tell us what changed."
|
|
4
|
+
|
|
5
|
+
## Input
|
|
6
|
+
|
|
7
|
+
Three files in this folder (synthetic data, made-up names):
|
|
8
|
+
|
|
9
|
+
- [`deployments.csv`](deployments.csv): 48 rows. 40 are checkout-api production deploys in the window. The rest are a staging deploy, a production row with an empty `deployed_at`, and 6 search-api deploys. Timestamps mix `Z` and `+01:00`.
|
|
10
|
+
- [`incidents.csv`](incidents.csv): 6 incidents. Two name the deploy that caused them, one is unresolved, and one belongs to search-api.
|
|
11
|
+
- [`prs.csv`](prs.csv): 83 PRs with `first_commit_at`: 79 linked to a deploy by `deploy_id`, and four that never merged: three still open and one closed unmerged.
|
|
12
|
+
|
|
13
|
+
The user named the service and the window, so no questions were needed.
|
|
14
|
+
|
|
15
|
+
## Command
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
python3 scripts/delivery_metrics.py \
|
|
19
|
+
--deployments examples/deployments.csv --incidents examples/incidents.csv --prs examples/prs.csv \
|
|
20
|
+
--service checkout-api --from 2026-07-06 --to 2026-08-30 --json out/metrics.json
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Script output (real, unedited)
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
# Delivery metrics: checkout-api
|
|
27
|
+
|
|
28
|
+
Window: 2026-07-06 to 2026-08-30 (56 days). Weeks: ISO weeks starting Monday, UTC.
|
|
29
|
+
|
|
30
|
+
## DORA software delivery metrics
|
|
31
|
+
|
|
32
|
+
| Metric | Value |
|
|
33
|
+
|---|---|
|
|
34
|
+
| Deployment frequency | 40 deployments; 5.00 per week; deployed on 34 of 56 days (60.7%) |
|
|
35
|
+
| Change fail rate | 5 of 40 deployments (12.5%) |
|
|
36
|
+
| Deployment rework rate | 4 of 40 deployments (10.0%) |
|
|
37
|
+
|
|
38
|
+
| Duration metric | n | p50 | p85 | p95 | Measured |
|
|
39
|
+
|---|---|---|---|---|---|
|
|
40
|
+
| Lead time for changes | 79 | 36.3 h | 2.6 d | 3.2 d | prs.first_commit_at -> deployed_at of prs.deploy_id |
|
|
41
|
+
| Failed deployment recovery time | 5 (low n) | 54 min | 23.8 h | 43.2 h | failed deploy -> recovered |
|
|
42
|
+
| Time to restore service (all incidents) | 4 (low n) | 1.6 h | 3.2 h | 3.6 h | incident start -> resolved |
|
|
43
|
+
|
|
44
|
+
## Weekly series
|
|
45
|
+
|
|
46
|
+
| Week of | Deploys | Failed | Fail rate | Merged | WIP at week end |
|
|
47
|
+
|---|---|---|---|---|---|
|
|
48
|
+
| 2026-07-06 | 3 | 0 | 0.0% | 4 | 2 |
|
|
49
|
+
| 2026-07-13 | 3 | 1 | 33.3% | 5 | 3 |
|
|
50
|
+
| 2026-07-20 | 4 | 0 | 0.0% | 9 | 3 |
|
|
51
|
+
| 2026-07-27 | 4 | 0 | 0.0% | 10 | 6 |
|
|
52
|
+
| 2026-08-03 | 6 | 4 | 66.7% | 9 | 3 |
|
|
53
|
+
| 2026-08-10 | 6 | 0 | 0.0% | 11 | 2 |
|
|
54
|
+
| 2026-08-17 | 7 | 0 | 0.0% | 13 | 3 |
|
|
55
|
+
| 2026-08-24 | 7 | 0 | 0.0% | 18 | 3 |
|
|
56
|
+
|
|
57
|
+
## Flow
|
|
58
|
+
|
|
59
|
+
| Measure | Value |
|
|
60
|
+
|---|---|
|
|
61
|
+
| Cycle time p50 / p85 | 34.6 h / 2.5 d (n=79; earlier of first_commit_at and opened_at -> merged) |
|
|
62
|
+
| Throughput | 9.88 merged per week |
|
|
63
|
+
| Abandoned (closed unmerged) in window | 1 |
|
|
64
|
+
|
|
65
|
+
## Data quality
|
|
66
|
+
|
|
67
|
+
- deploy rows read: 48
|
|
68
|
+
- deploy rows skipped missing deployed at: 1
|
|
69
|
+
- deploy rows skipped non production: 1
|
|
70
|
+
- incident rows read: 6
|
|
71
|
+
- incidents unresolved excluded from restore time: 1
|
|
72
|
+
- incident rows skipped missing started at: 0
|
|
73
|
+
- prs without a deploy in window or first commit: 4
|
|
74
|
+
- timestamps with assumed offset: 0
|
|
75
|
+
|
|
76
|
+
Percentiles use linear interpolation between ranks. "low n" means fewer than 10 observations.
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Excerpt of the JSON written to `--json`:
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"change_fail_rate": {
|
|
84
|
+
"failed_deployments": 5,
|
|
85
|
+
"deployments": 40,
|
|
86
|
+
"rate": 0.125
|
|
87
|
+
},
|
|
88
|
+
"failed_deployment_recovery_time": {
|
|
89
|
+
"n": 5,
|
|
90
|
+
"p50_hours": 0.9,
|
|
91
|
+
"p85_hours": 23.8,
|
|
92
|
+
"p95_hours": 43.17,
|
|
93
|
+
"low_n": true
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Interpretation the skill writes from that output
|
|
99
|
+
|
|
100
|
+
**Scope:** checkout-api, production only, 8 ISO weeks. DORA's current metric names, as defined at dora.dev. Time to restore service across all incidents is context only.
|
|
101
|
+
|
|
102
|
+
**Summary.** Deployments more than doubled, from 3 a week in July to 7 a week by late August, and change fail rate stayed at 0% in every week except two. The week of 2026-08-03 had 4 failed deploys out of 6, and on its own it accounts for most of the 12.5% overall rate. Find out what changed that week before treating 12.5% as the baseline.
|
|
103
|
+
|
|
104
|
+
**Findings**
|
|
105
|
+
|
|
106
|
+
1. **Throughput rose without a lasting loss of stability.** Weekly deploys went 3, 3, 4, 4, 6, 6, 7, 7. Six of the eight weeks had no failed deploy. Merged PRs per week rose from 4 to 18. **Next check:** confirm the rise came from smaller changes rather than more people. Compare PRs per deploy (79 PRs linked across 40 deploys).
|
|
107
|
+
2. **The week of 2026-08-03 is the outlier: 4 of 6 deploys failed.** Three were rolled back (dep-1056, dep-1058, dep-1060), and dep-1055 caused INC-318, a SEV1. **Next check:** what was deployed or changed in the pipeline that week. Hand INC-318 to `postmortem-generator` if it has no write-up.
|
|
108
|
+
3. **Recovery is fast when a failure is caught, and slow when it isn't.** Failed deployment recovery time p50 is 54 min, but p85 is 23.8 h. The three rollbacks recovered in under an hour, and the hotfix (dep-1046) in about 4.4 h. dep-1055 ran for about two days before INC-318 opened and was resolved. With n = 5 the percentiles are not stable. The pattern points at detection, not at the rollback process. **Next check:** why nothing alerted between the 2026-08-03 deploy and the 2026-08-05 incident. That is an `observability-plan` question.
|
|
109
|
+
4. **Most lead time is before merge, not after.** Change lead time p50 is 36.3 h against cycle time p50 of 34.6 h, so merged changes reach production within a couple of hours. Shortening lead time further means smaller PRs or faster review, not pipeline work.
|
|
110
|
+
5. **WIP is steady at 2 to 3 except a spike to 6 in the week of 2026-07-27.** Throughput did not fall that week (10 merged), so the spike looks like a batch of work starting, not a blockage.
|
|
111
|
+
|
|
112
|
+
**Data gaps**
|
|
113
|
+
|
|
114
|
+
- 1 production row skipped because `deployed_at` is empty (dep-1999). Fix it at the source.
|
|
115
|
+
- INC-327 is unresolved, so it is left out of the restore time.
|
|
116
|
+
- 4 PRs have no deploy, so they are not in lead time: 3 are still open and 1 was closed unmerged.
|
|
117
|
+
- Failed deployment recovery time (n = 5) and all-incident restore time (n = 4) are low n.
|
|
118
|
+
|
|
119
|
+
**What to measure next:** set `caused_by_deploy` on every incident. Two of the four resolved checkout-api incidents have no link, so change fail rate may be undercounted.
|
|
120
|
+
|
|
121
|
+
## What the skill declined
|
|
122
|
+
|
|
123
|
+
The user then asked: "Is 12.5% better than the search team's?" The skill replied that DORA metrics are meant per service and for a team improving against its own history. It added that search-api's deploys and failures may be defined differently, and that a cross-team ranking would push both teams toward gaming the numbers. It offered to run search-api's own 8-week trend with the same definitions instead.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
deploy_id,service,environment,deployed_at,status,recovered_at,unplanned
|
|
2
|
+
dep-1041,checkout-api,production,2026-07-06T09:40:00Z,success,,false
|
|
3
|
+
dep-1042,checkout-api,production,2026-07-08T15:28:00Z,success,,false
|
|
4
|
+
dep-1043,checkout-api,production,2026-07-10T11:26:00+01:00,success,,false
|
|
5
|
+
dep-1044,checkout-api,production,2026-07-15T09:51:00Z,success,,false
|
|
6
|
+
dep-1045,checkout-api,production,2026-07-16T11:52:00Z,success,,false
|
|
7
|
+
dep-stg-0007,checkout-api,staging,2026-07-14T10:00:00Z,success,,false
|
|
8
|
+
dep-1046,checkout-api,production,2026-07-17T14:44:00+01:00,hotfixed,,true
|
|
9
|
+
dep-1047,checkout-api,production,2026-07-20T16:09:00Z,success,,false
|
|
10
|
+
dep-1048,checkout-api,production,2026-07-22T10:35:00Z,success,,false
|
|
11
|
+
dep-1049,checkout-api,production,2026-07-23T13:52:00+01:00,success,,false
|
|
12
|
+
dep-1050,checkout-api,production,2026-07-24T09:22:00Z,success,,false
|
|
13
|
+
dep-1051,checkout-api,production,2026-07-27T12:45:00Z,success,,false
|
|
14
|
+
dep-1052,checkout-api,production,2026-07-29T13:46:00+01:00,success,,false
|
|
15
|
+
dep-1053,checkout-api,production,2026-07-30T12:21:00Z,success,,false
|
|
16
|
+
dep-1054,checkout-api,production,2026-07-31T11:41:00Z,success,,false
|
|
17
|
+
dep-1055,checkout-api,production,2026-08-03T12:14:00+01:00,success,,true
|
|
18
|
+
dep-1056,checkout-api,production,2026-08-04T09:07:00Z,rolled_back,2026-08-04T10:01:00Z,false
|
|
19
|
+
dep-1057,checkout-api,production,2026-08-04T10:18:00Z,success,,true
|
|
20
|
+
dep-1058,checkout-api,production,2026-08-05T16:52:00+01:00,rolled_back,2026-08-05T16:44:00Z,false
|
|
21
|
+
dep-1059,checkout-api,production,2026-08-06T12:04:00Z,success,,true
|
|
22
|
+
dep-1999,checkout-api,production,,success,,false
|
|
23
|
+
dep-1060,checkout-api,production,2026-08-07T11:07:00Z,rolled_back,2026-08-07T11:49:00Z,false
|
|
24
|
+
dep-1061,checkout-api,production,2026-08-10T17:49:00+01:00,success,,false
|
|
25
|
+
dep-1062,checkout-api,production,2026-08-11T12:37:00Z,success,,false
|
|
26
|
+
dep-1063,checkout-api,production,2026-08-12T15:31:00Z,success,,false
|
|
27
|
+
dep-1064,checkout-api,production,2026-08-13T15:41:00+01:00,success,,false
|
|
28
|
+
dep-1065,checkout-api,production,2026-08-14T12:44:00Z,success,,false
|
|
29
|
+
dep-1066,checkout-api,production,2026-08-14T11:18:00Z,success,,false
|
|
30
|
+
dep-1067,checkout-api,production,2026-08-17T13:52:00+01:00,success,,false
|
|
31
|
+
dep-1068,checkout-api,production,2026-08-18T15:22:00Z,success,,false
|
|
32
|
+
dep-1069,checkout-api,production,2026-08-19T10:25:00Z,success,,false
|
|
33
|
+
dep-1070,checkout-api,production,2026-08-19T15:39:00+01:00,success,,false
|
|
34
|
+
dep-1071,checkout-api,production,2026-08-20T14:47:00Z,success,,false
|
|
35
|
+
dep-1072,checkout-api,production,2026-08-21T10:10:00Z,success,,false
|
|
36
|
+
dep-1073,checkout-api,production,2026-08-21T17:31:00+01:00,success,,false
|
|
37
|
+
dep-1074,checkout-api,production,2026-08-24T15:31:00Z,success,,false
|
|
38
|
+
dep-1075,checkout-api,production,2026-08-25T14:49:00Z,success,,false
|
|
39
|
+
dep-1076,checkout-api,production,2026-08-25T12:29:00+01:00,success,,false
|
|
40
|
+
dep-1077,checkout-api,production,2026-08-26T13:17:00Z,success,,false
|
|
41
|
+
dep-1078,checkout-api,production,2026-08-27T14:47:00Z,success,,false
|
|
42
|
+
dep-1079,checkout-api,production,2026-08-28T14:11:00+01:00,success,,false
|
|
43
|
+
dep-1080,checkout-api,production,2026-08-28T15:59:00Z,success,,false
|
|
44
|
+
dep-s000,search-api,production,2026-07-06T11:00:00Z,success,,false
|
|
45
|
+
dep-s001,search-api,production,2026-07-15T11:00:00Z,success,,false
|
|
46
|
+
dep-s002,search-api,production,2026-07-24T11:00:00Z,success,,false
|
|
47
|
+
dep-s003,search-api,production,2026-08-02T11:00:00Z,success,,false
|
|
48
|
+
dep-s004,search-api,production,2026-08-11T11:00:00Z,success,,false
|
|
49
|
+
dep-s005,search-api,production,2026-08-20T11:00:00Z,success,,false
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
incident_id,service,severity,started_at,resolved_at,caused_by_deploy
|
|
2
|
+
INC-311,checkout-api,SEV2,2026-07-17T15:42:00Z,2026-07-17T18:10:00Z,dep-1046
|
|
3
|
+
INC-318,checkout-api,SEV1,2026-08-05T13:20:00+01:00,2026-08-05T17:05:00+01:00,dep-1055
|
|
4
|
+
INC-320,checkout-api,SEV3,2026-08-12T02:14:00Z,2026-08-12T03:01:00Z,
|
|
5
|
+
INC-324,checkout-api,SEV2,2026-08-21T09:30:00Z,2026-08-21T10:15:00Z,
|
|
6
|
+
INC-327,checkout-api,SEV3,2026-08-28T16:00:00Z,,
|
|
7
|
+
INC-205,search-api,SEV3,2026-07-22T08:00:00Z,2026-07-22T08:40:00Z,
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
pr_id,opened_at,first_commit_at,merged_at,closed_at,deploy_id
|
|
2
|
+
PR-2201,2026-07-04T03:06:00Z,2026-07-03T22:16:00Z,2026-07-06T06:42:00Z,2026-07-06T06:42:00Z,dep-1041
|
|
3
|
+
PR-2202,2026-07-04T01:25:00Z,2026-07-03T20:32:00Z,2026-07-06T06:52:00Z,2026-07-06T06:52:00Z,dep-1041
|
|
4
|
+
PR-2203,2026-07-04T10:56:00Z,2026-07-04T05:06:00Z,2026-07-08T12:54:00Z,2026-07-08T12:54:00Z,dep-1042
|
|
5
|
+
PR-2204,2026-07-07T19:06:00Z,2026-07-07T13:30:00Z,2026-07-10T08:22:00Z,2026-07-10T08:22:00Z,dep-1043
|
|
6
|
+
PR-2205,2026-07-12T16:11:00Z,2026-07-12T12:55:00Z,2026-07-15T09:22:00Z,2026-07-15T09:22:00Z,dep-1044
|
|
7
|
+
PR-2206,2026-07-14T18:20:00Z,2026-07-14T15:01:00Z,2026-07-15T08:34:00Z,2026-07-15T08:34:00Z,dep-1044
|
|
8
|
+
PR-2207,2026-07-12T07:28:00Z,2026-07-12T05:44:00Z,2026-07-15T08:40:00Z,2026-07-15T08:40:00Z,dep-1044
|
|
9
|
+
PR-2208,2026-07-13T11:28:00Z,2026-07-13T06:02:00Z,2026-07-16T10:58:00Z,2026-07-16T10:58:00Z,dep-1045
|
|
10
|
+
PR-2209,2026-07-15T07:14:00Z,2026-07-15T01:42:00Z,2026-07-17T11:44:00Z,2026-07-17T11:44:00Z,dep-1046
|
|
11
|
+
PR-2210,2026-07-19T08:04:00Z,2026-07-19T04:05:00Z,2026-07-20T14:39:00Z,2026-07-20T14:39:00Z,dep-1047
|
|
12
|
+
PR-2211,2026-07-21T22:03:00Z,2026-07-21T17:59:00Z,2026-07-22T10:02:00Z,2026-07-22T10:02:00Z,dep-1048
|
|
13
|
+
PR-2212,2026-07-19T20:36:00Z,2026-07-19T18:13:00Z,2026-07-22T10:12:00Z,2026-07-22T10:12:00Z,dep-1048
|
|
14
|
+
PR-2213,2026-07-18T17:17:00Z,2026-07-18T16:25:00Z,2026-07-22T09:51:00Z,2026-07-22T09:51:00Z,dep-1048
|
|
15
|
+
PR-2214,2026-07-21T23:48:00Z,2026-07-21T23:10:00Z,2026-07-23T12:04:00Z,2026-07-23T12:04:00Z,dep-1049
|
|
16
|
+
PR-2215,2026-07-20T04:54:00Z,2026-07-20T03:39:00Z,2026-07-23T12:15:00Z,2026-07-23T12:15:00Z,dep-1049
|
|
17
|
+
PR-2216,2026-07-22T11:54:00Z,2026-07-22T08:13:00Z,2026-07-23T11:06:00Z,2026-07-23T11:06:00Z,dep-1049
|
|
18
|
+
PR-2217,2026-07-23T17:02:00Z,2026-07-23T11:56:00Z,2026-07-24T08:27:00Z,2026-07-24T08:27:00Z,dep-1050
|
|
19
|
+
PR-2218,2026-07-23T07:15:00Z,2026-07-23T04:17:00Z,2026-07-24T08:53:00Z,2026-07-24T08:53:00Z,dep-1050
|
|
20
|
+
PR-2219,2026-07-24T15:32:00Z,2026-07-24T11:11:00Z,2026-07-27T11:30:00Z,2026-07-27T11:30:00Z,dep-1051
|
|
21
|
+
PR-2220,2026-07-25T15:35:00Z,2026-07-25T10:00:00Z,2026-07-27T12:20:00Z,2026-07-27T12:20:00Z,dep-1051
|
|
22
|
+
PR-2221,2026-07-27T09:52:00Z,2026-07-27T04:08:00Z,2026-07-29T10:54:00Z,2026-07-29T10:54:00Z,dep-1052
|
|
23
|
+
PR-2222,2026-07-26T14:42:00Z,2026-07-26T12:47:00Z,2026-07-29T09:51:00Z,2026-07-29T09:51:00Z,dep-1052
|
|
24
|
+
PR-2223,2026-07-28T23:55:00Z,2026-07-28T22:17:00Z,2026-07-30T10:19:00Z,2026-07-30T10:19:00Z,dep-1053
|
|
25
|
+
PR-2224,2026-07-28T23:07:00Z,2026-07-28T22:00:00Z,2026-07-30T11:02:00Z,2026-07-30T11:02:00Z,dep-1053
|
|
26
|
+
PR-2225,2026-07-27T11:43:00Z,2026-07-27T06:11:00Z,2026-07-30T10:25:00Z,2026-07-30T10:25:00Z,dep-1053
|
|
27
|
+
PR-2226,2026-07-29T00:03:00Z,2026-07-28T21:59:00Z,2026-07-31T10:31:00Z,2026-07-31T10:31:00Z,dep-1054
|
|
28
|
+
PR-2227,2026-07-29T18:07:00Z,2026-07-29T12:48:00Z,2026-07-31T09:24:00Z,2026-07-31T09:24:00Z,dep-1054
|
|
29
|
+
PR-2228,2026-07-30T03:27:00Z,2026-07-30T00:26:00Z,2026-07-31T09:49:00Z,2026-07-31T09:49:00Z,dep-1054
|
|
30
|
+
PR-2229,2026-07-31T23:40:00Z,2026-07-31T22:14:00Z,2026-08-03T08:42:00Z,2026-08-03T08:42:00Z,dep-1055
|
|
31
|
+
PR-2230,2026-08-01T02:10:00Z,2026-08-01T00:10:00Z,2026-08-03T10:20:00Z,2026-08-03T10:20:00Z,dep-1055
|
|
32
|
+
PR-2231,2026-08-02T18:23:00Z,2026-08-02T12:41:00Z,2026-08-04T08:23:00Z,2026-08-04T08:23:00Z,dep-1056
|
|
33
|
+
PR-2232,2026-08-01T20:59:00Z,2026-08-01T17:52:00Z,2026-08-04T07:21:00Z,2026-08-04T07:21:00Z,dep-1056
|
|
34
|
+
PR-2233,2026-08-03T02:33:00Z,2026-08-02T22:49:00Z,2026-08-04T08:27:00Z,2026-08-04T08:27:00Z,dep-1057
|
|
35
|
+
PR-2234,2026-08-03T10:34:00Z,2026-08-03T04:52:00Z,2026-08-05T13:19:00Z,2026-08-05T13:19:00Z,dep-1058
|
|
36
|
+
PR-2235,2026-08-03T20:39:00Z,2026-08-03T17:38:00Z,2026-08-05T14:07:00Z,2026-08-05T14:07:00Z,dep-1058
|
|
37
|
+
PR-2236,2026-08-05T11:56:00Z,2026-08-05T08:56:00Z,2026-08-06T10:45:00Z,2026-08-06T10:45:00Z,dep-1059
|
|
38
|
+
PR-2237,2026-08-05T16:54:00Z,2026-08-05T12:37:00Z,2026-08-07T10:07:00Z,2026-08-07T10:07:00Z,dep-1060
|
|
39
|
+
PR-2238,2026-08-10T05:16:00Z,2026-08-10T01:55:00Z,2026-08-10T16:08:00Z,2026-08-10T16:08:00Z,dep-1061
|
|
40
|
+
PR-2239,2026-08-09T15:45:00Z,2026-08-09T13:51:00Z,2026-08-11T10:08:00Z,2026-08-11T10:08:00Z,dep-1062
|
|
41
|
+
PR-2240,2026-08-10T19:13:00Z,2026-08-10T14:15:00Z,2026-08-11T11:21:00Z,2026-08-11T11:21:00Z,dep-1062
|
|
42
|
+
PR-2241,2026-08-11T06:52:00Z,2026-08-11T04:10:00Z,2026-08-12T13:50:00Z,2026-08-12T13:50:00Z,dep-1063
|
|
43
|
+
PR-2242,2026-08-11T06:50:00Z,2026-08-11T03:14:00Z,2026-08-12T13:16:00Z,2026-08-12T13:16:00Z,dep-1063
|
|
44
|
+
PR-2243,2026-08-11T05:56:00Z,2026-08-11T03:39:00Z,2026-08-12T12:52:00Z,2026-08-12T12:52:00Z,dep-1063
|
|
45
|
+
PR-2244,2026-08-12T03:45:00Z,2026-08-12T00:20:00Z,2026-08-13T14:11:00Z,2026-08-13T14:11:00Z,dep-1064
|
|
46
|
+
PR-2245,2026-08-12T05:59:00Z,2026-08-12T03:06:00Z,2026-08-13T12:38:00Z,2026-08-13T12:38:00Z,dep-1064
|
|
47
|
+
PR-2246,2026-08-12T11:03:00Z,2026-08-12T09:45:00Z,2026-08-13T12:05:00Z,2026-08-13T12:05:00Z,dep-1064
|
|
48
|
+
PR-2247,2026-08-12T11:51:00Z,2026-08-12T07:45:00Z,2026-08-14T11:13:00Z,2026-08-14T11:13:00Z,dep-1065
|
|
49
|
+
PR-2248,2026-08-13T10:10:00Z,2026-08-13T05:42:00Z,2026-08-14T08:22:00Z,2026-08-14T08:22:00Z,dep-1066
|
|
50
|
+
PR-2249,2026-08-16T07:49:00Z,2026-08-16T02:42:00Z,2026-08-17T10:12:00Z,2026-08-17T10:12:00Z,dep-1067
|
|
51
|
+
PR-2250,2026-08-17T07:57:00Z,2026-08-17T03:50:00Z,2026-08-18T14:39:00Z,2026-08-18T14:39:00Z,dep-1068
|
|
52
|
+
PR-2251,2026-08-17T19:01:00Z,2026-08-17T15:58:00Z,2026-08-19T09:11:00Z,2026-08-19T09:11:00Z,dep-1069
|
|
53
|
+
PR-2252,2026-08-18T13:36:00Z,2026-08-18T07:37:00Z,2026-08-19T12:34:00Z,2026-08-19T12:34:00Z,dep-1070
|
|
54
|
+
PR-2253,2026-08-17T20:03:00Z,2026-08-17T15:21:00Z,2026-08-19T13:48:00Z,2026-08-19T13:48:00Z,dep-1070
|
|
55
|
+
PR-2254,2026-08-18T10:18:00Z,2026-08-18T07:10:00Z,2026-08-19T11:46:00Z,2026-08-19T11:46:00Z,dep-1070
|
|
56
|
+
PR-2255,2026-08-19T02:38:00Z,2026-08-19T01:47:00Z,2026-08-20T12:00:00Z,2026-08-20T12:00:00Z,dep-1071
|
|
57
|
+
PR-2256,2026-08-19T01:03:00Z,2026-08-18T21:33:00Z,2026-08-20T11:53:00Z,2026-08-20T11:53:00Z,dep-1071
|
|
58
|
+
PR-2257,2026-08-18T21:49:00Z,2026-08-18T16:54:00Z,2026-08-20T12:25:00Z,2026-08-20T12:25:00Z,dep-1071
|
|
59
|
+
PR-2258,2026-08-19T23:53:00Z,2026-08-19T22:24:00Z,2026-08-21T07:54:00Z,2026-08-21T07:54:00Z,dep-1072
|
|
60
|
+
PR-2259,2026-08-19T16:40:00Z,2026-08-19T16:06:00Z,2026-08-21T09:14:00Z,2026-08-21T09:14:00Z,dep-1072
|
|
61
|
+
PR-2260,2026-08-20T06:11:00Z,2026-08-20T05:16:00Z,2026-08-21T09:27:00Z,2026-08-21T09:27:00Z,dep-1072
|
|
62
|
+
PR-2261,2026-08-21T08:41:00Z,2026-08-21T07:15:00Z,2026-08-21T14:26:00Z,2026-08-21T14:26:00Z,dep-1073
|
|
63
|
+
PR-2262,2026-08-23T15:06:00Z,2026-08-23T09:42:00Z,2026-08-24T14:11:00Z,2026-08-24T14:11:00Z,dep-1074
|
|
64
|
+
PR-2263,2026-08-24T07:42:00Z,2026-08-24T01:56:00Z,2026-08-24T14:34:00Z,2026-08-24T14:34:00Z,dep-1074
|
|
65
|
+
PR-2264,2026-08-24T11:39:00Z,2026-08-24T06:21:00Z,2026-08-24T14:23:00Z,2026-08-24T14:23:00Z,dep-1074
|
|
66
|
+
PR-2265,2026-08-25T08:50:00Z,2026-08-25T03:26:00Z,2026-08-25T14:14:00Z,2026-08-25T14:14:00Z,dep-1075
|
|
67
|
+
PR-2266,2026-08-25T02:27:00Z,2026-08-25T00:06:00Z,2026-08-25T13:11:00Z,2026-08-25T13:11:00Z,dep-1075
|
|
68
|
+
PR-2267,2026-08-25T00:15:00Z,2026-08-24T20:55:00Z,2026-08-25T12:14:00Z,2026-08-25T12:14:00Z,dep-1075
|
|
69
|
+
PR-2268,2026-08-25T06:06:00Z,2026-08-25T01:40:00Z,2026-08-25T10:58:00Z,2026-08-25T10:58:00Z,dep-1076
|
|
70
|
+
PR-2269,2026-08-25T07:17:00Z,2026-08-25T02:38:00Z,2026-08-26T11:59:00Z,2026-08-26T11:59:00Z,dep-1077
|
|
71
|
+
PR-2270,2026-08-25T23:53:00Z,2026-08-25T20:16:00Z,2026-08-26T11:43:00Z,2026-08-26T11:43:00Z,dep-1077
|
|
72
|
+
PR-2271,2026-08-25T22:15:00Z,2026-08-25T16:17:00Z,2026-08-26T12:03:00Z,2026-08-26T12:03:00Z,dep-1077
|
|
73
|
+
PR-2272,2026-08-26T02:09:00Z,2026-08-25T23:03:00Z,2026-08-27T13:45:00Z,2026-08-27T13:45:00Z,dep-1078
|
|
74
|
+
PR-2273,2026-08-26T01:56:00Z,2026-08-25T22:57:00Z,2026-08-27T12:31:00Z,2026-08-27T12:31:00Z,dep-1078
|
|
75
|
+
PR-2274,2026-08-27T04:52:00Z,2026-08-26T23:32:00Z,2026-08-27T13:37:00Z,2026-08-27T13:37:00Z,dep-1078
|
|
76
|
+
PR-2275,2026-08-28T02:20:00Z,2026-08-28T01:46:00Z,2026-08-28T11:17:00Z,2026-08-28T11:17:00Z,dep-1079
|
|
77
|
+
PR-2276,2026-08-27T23:44:00Z,2026-08-27T19:32:00Z,2026-08-28T12:01:00Z,2026-08-28T12:01:00Z,dep-1079
|
|
78
|
+
PR-2277,2026-08-28T00:06:00Z,2026-08-27T20:11:00Z,2026-08-28T15:13:00Z,2026-08-28T15:13:00Z,dep-1080
|
|
79
|
+
PR-2278,2026-08-27T14:42:00Z,2026-08-27T12:38:00Z,2026-08-28T14:28:00Z,2026-08-28T14:28:00Z,dep-1080
|
|
80
|
+
PR-2279,2026-08-27T10:26:00Z,2026-08-27T05:09:00Z,2026-08-28T14:33:00Z,2026-08-28T14:33:00Z,dep-1080
|
|
81
|
+
PR-2900,2026-08-24T10:00:00Z,2026-08-21T15:00:00Z,,,
|
|
82
|
+
PR-2901,2026-08-27T09:00:00Z,2026-08-26T17:30:00Z,,,
|
|
83
|
+
PR-2902,2026-07-29T11:00:00Z,2026-07-28T16:00:00Z,,2026-08-11T12:00:00Z,
|
|
84
|
+
PR-2903,2026-08-03T11:00:00Z,2026-08-03T09:00:00Z,,,
|