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,54 @@
|
|
|
1
|
+
# information-architecture — reference
|
|
2
|
+
|
|
3
|
+
## Organising schemes
|
|
4
|
+
|
|
5
|
+
Pick one per level. Name it in the spec.
|
|
6
|
+
|
|
7
|
+
| Scheme | Groups by | Works when | Breaks when |
|
|
8
|
+
|---|---|---|---|
|
|
9
|
+
| Task | What the user is trying to do ("Get paid", "Hire") | Products people use to get jobs done | Tasks overlap heavily, or the content is mostly reference |
|
|
10
|
+
| Topic / subject | What the content is about ("Taxes", "Benefits") | Help centres, knowledge bases, content sites | Topics are org terms users don't share |
|
|
11
|
+
| Audience | Who it's for ("For employers", "For employees") | Audiences need almost entirely different content | Most content serves several audiences; users can't tell which bucket they're in |
|
|
12
|
+
| Object | The thing being managed ("Invoices", "People", "Projects") | Tools where users manage records | Users think in tasks that span objects |
|
|
13
|
+
| Exact (alphabetical, chronological, geographic) | A known ordering | Users already know the item name, date or place | Users are browsing, not looking up |
|
|
14
|
+
|
|
15
|
+
Mixed schemes at one level ("Products / Developers / Pricing / Help") make users guess which axis to try first. If you must mix, put the odd one in utility nav or a footer.
|
|
16
|
+
|
|
17
|
+
## Card sorting — when the grouping or labels are unproven
|
|
18
|
+
|
|
19
|
+
- **Open sort:** participants group cards and name the groups. Use it to learn users' categories and words. Output: common groupings, the labels participants wrote, cards with no agreed home.
|
|
20
|
+
- **Closed sort:** participants place cards into groups you name. Use it to check whether proposed groups are understood.
|
|
21
|
+
- **Hybrid:** proposed groups, but participants may add their own. A sensible default for a redesign.
|
|
22
|
+
- **Cards:** 30–60 items from the inventory, written in plain words, not the current labels.
|
|
23
|
+
- **Participants:** a common rule of thumb is around 15 per distinct audience for an open sort; more for closed sorts if you want to compare percentages.
|
|
24
|
+
- **Read the results:** look at agreement on which cards go together, and at the cards that split across groups. Split cards are the findability risks.
|
|
25
|
+
|
|
26
|
+
## Tree testing — when the structure exists and needs proving
|
|
27
|
+
|
|
28
|
+
A tree test shows participants the text-only hierarchy (no visual design) and asks them where they would go to complete a task.
|
|
29
|
+
|
|
30
|
+
- **Tasks:** 6–10, written as goals in the user's situation. Never use the label words. Cover the top tasks and the riskiest items from the findability table.
|
|
31
|
+
- **Each task records:** the correct destination(s), and which risk it tests.
|
|
32
|
+
- **Metrics:**
|
|
33
|
+
- *Success rate* — reached a correct destination.
|
|
34
|
+
- *Directness* — got there without backtracking.
|
|
35
|
+
- *First click* — the first top-level choice. A wrong first click predicts failure.
|
|
36
|
+
- *Time* — secondary; use it to compare versions.
|
|
37
|
+
- **Thresholds (set before running):** a common starting point is 70%+ success for top tasks and 80%+ correct first click; set your own and write it down before seeing results.
|
|
38
|
+
- **Participants:** tree tests are usually run unmoderated with a larger sample than card sorts (often 50 or more) so per-task percentages are stable.
|
|
39
|
+
- **Decision rule:** name what changes if a task fails — rename the label, move the item, add a cross-link — before you run it.
|
|
40
|
+
|
|
41
|
+
## Label tests
|
|
42
|
+
|
|
43
|
+
A label passes when:
|
|
44
|
+
- a user would say or type it (check search logs and support tickets if available);
|
|
45
|
+
- it is distinct from its siblings (no two labels a user could confuse);
|
|
46
|
+
- it predicts what's inside (no surprise on click);
|
|
47
|
+
- it is short enough for the nav slot (aim for 1–3 words in global nav);
|
|
48
|
+
- it is consistent with the terminology list, if `ux-writing` has produced one.
|
|
49
|
+
|
|
50
|
+
## Depth and breadth
|
|
51
|
+
|
|
52
|
+
- Broad and shallow beats narrow and deep for things people use often; each extra level is another chance to choose wrong.
|
|
53
|
+
- Fewer than 3 or more than ~10 children in a group is a signal to merge or split.
|
|
54
|
+
- The global nav limit of 5–7 is a working default for scannability, not a law; exceed it only with a stated reason.
|
skilldrop_cli/data/packs/experience-design/skills/information-architecture/templates/ia-spec.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Information architecture: {product or site}
|
|
2
|
+
|
|
3
|
+
**Status:** hypothesis, not yet validated · **Evidence level:** {[observational] / [analytics] / [assumption-based]}
|
|
4
|
+
**Assumptions to confirm first:** {list, or "none"}
|
|
5
|
+
|
|
6
|
+
## Audiences and top tasks
|
|
7
|
+
|
|
8
|
+
| Audience | Top tasks (ranked) |
|
|
9
|
+
|---|---|
|
|
10
|
+
| {audience} | 1. {task} 2. {task} 3. {task} |
|
|
11
|
+
|
|
12
|
+
## Content inventory
|
|
13
|
+
|
|
14
|
+
| # | Item | Type | Audience | Status | Notes |
|
|
15
|
+
|---|---|---|---|---|---|
|
|
16
|
+
| 1 | {item} | {task / reference / account / legal / marketing} | {audience} | {keep / merge into # / cut / [inferred]} | {} |
|
|
17
|
+
|
|
18
|
+
## Organising scheme
|
|
19
|
+
|
|
20
|
+
- **Level 1:** {task / topic / audience / object} — {why}
|
|
21
|
+
- **Level 2:** {scheme} — {why}
|
|
22
|
+
|
|
23
|
+
## Sitemap
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
{Product}
|
|
27
|
+
├── {Global item 1}
|
|
28
|
+
│ ├── {Local item}
|
|
29
|
+
│ └── {Local item}
|
|
30
|
+
├── {Global item 2}
|
|
31
|
+
└── [Utility] {Account · Help · Search}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```mermaid
|
|
35
|
+
flowchart TD
|
|
36
|
+
root["{Product}"] --> g1["{Global item 1}"]
|
|
37
|
+
g1 --> l1["{Local item}"]
|
|
38
|
+
root --> g2["{Global item 2}"]
|
|
39
|
+
root -.-> u["Utility: {Account · Help · Search}"]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Navigation model
|
|
43
|
+
|
|
44
|
+
| System | Items | Where it appears |
|
|
45
|
+
|---|---|---|
|
|
46
|
+
| Global | {5–7 items} | Every page |
|
|
47
|
+
| Local | {per global area} | {sidebar / tabs} |
|
|
48
|
+
| Utility | {account, settings, help, search} | {header right / avatar menu} |
|
|
49
|
+
| Cross-links | {item → also linked from} | {} |
|
|
50
|
+
| Search | {role, synonyms to add} | {} |
|
|
51
|
+
|
|
52
|
+
## Label rationale
|
|
53
|
+
|
|
54
|
+
| Label | Holds | Why this word | Rejected alternatives | Evidence |
|
|
55
|
+
|---|---|---|---|---|
|
|
56
|
+
| {label} | {} | {} | {} | {[search logs] / [support tickets] / [interview] / [assumption]} |
|
|
57
|
+
|
|
58
|
+
## Findability risks
|
|
59
|
+
|
|
60
|
+
| Severity | Item | Why users will look elsewhere | Mitigation |
|
|
61
|
+
|---|---|---|---|
|
|
62
|
+
| 🟥 / 🟧 / 🟨 | {} | {} | {} |
|
|
63
|
+
|
|
64
|
+
## Validation plan
|
|
65
|
+
|
|
66
|
+
**Method:** {open / hybrid card sort, tree test} · **Participants:** {n per audience} · **Threshold:** {success %, first-click %}
|
|
67
|
+
|
|
68
|
+
| # | Task (no label words) | Correct destination | Tests risk |
|
|
69
|
+
|---|---|---|---|
|
|
70
|
+
| 1 | {} | {} | {} |
|
|
71
|
+
|
|
72
|
+
**What changes the design:** {result → action}
|
|
73
|
+
|
|
74
|
+
## Hand-offs
|
|
75
|
+
|
|
76
|
+
- {Key page} → `content-design`
|
|
77
|
+
- Nav and button strings → `ux-writing`
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: service-blueprint
|
|
3
|
+
description: Build a service blueprint — per step, the evidence the customer sees, the customer's actions, frontstage staff and system actions, backstage actions, and support processes, separated by the lines of interaction, visibility and internal interaction, with fail points, wait times and owners marked — as a table plus a Mermaid diagram and the ranked fixes. Use when the user wants a service blueprint, "what happens behind the scenes when a customer does X", to find where a service breaks or stalls, or to take a journey map down to the people, systems and handoffs that deliver it.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# service-blueprint
|
|
7
|
+
|
|
8
|
+
Shows how a service is delivered, not just how it feels. Each customer step is lined up against what staff and systems do in front of the customer, what they do out of sight, and the processes that support them. Fail points and waits are marked where they happen. Builds on `user-journey-map`, which covers one persona's frontstage experience and emotions. The hand-off is the journey map's backstage note: when a pain's cause sits behind the line of visibility, the blueprint is where it gets found. This skill maps people, roles, systems and handoffs; for the technical architecture of the systems themselves, use `architecture-diagrams`.
|
|
9
|
+
|
|
10
|
+
## How to respond
|
|
11
|
+
|
|
12
|
+
1. **Get the scope in one message.** Ask at most 2 questions, spent on the weakest of: *which service and which scenario* (one customer type, one path, a start and end), and *what's known about the backstage* (teams, systems, SLAs, tickets, process docs). If a `user-journey-map` exists, take its persona, stages and customer actions as the top rows instead of asking. Default to the as-is service, not the ideal one. Tag the blueprint's evidence level: `[observed]`, `[documented]`, or `[assumption-based]`.
|
|
13
|
+
|
|
14
|
+
2. **Fix one scenario with clear edges.** One customer type, one path, a trigger and an end state: ✅ *"A home-insurance customer reports a burst pipe and gets paid"* — ❌ *"Claims"*. Name the happy path, and list variants (rejected claim, second visit) as separate blueprints or a note. A blueprint that tries to show every branch becomes unreadable.
|
|
15
|
+
|
|
16
|
+
3. **Lay out the customer actions first**, left to right, as the columns: 6–12 steps, in the customer's words. Every other lane hangs off these steps. If a `user-journey-map` was supplied, the steps sit inside its stages; keep its stage names as column groups.
|
|
17
|
+
|
|
18
|
+
4. **Fill the lanes, top to bottom, for each step:**
|
|
19
|
+
- **Evidence:** what the customer sees, holds or receives (email, web page, letter, van, invoice).
|
|
20
|
+
- **Customer actions.**
|
|
21
|
+
- — *line of interaction* —
|
|
22
|
+
- **Frontstage:** what staff or self-service systems do that the customer sees or talks to (agent on the phone, the app, the technician on site).
|
|
23
|
+
- — *line of visibility* —
|
|
24
|
+
- **Backstage:** what staff and systems do out of sight to make the frontstage work (assessor reviews photos, case is routed).
|
|
25
|
+
- — *line of internal interaction* —
|
|
26
|
+
- **Support processes:** systems, third parties and internal teams that backstage depends on (policy system, payments provider, contractor network).
|
|
27
|
+
Name the **owner** (role or team, not a person) for every frontstage and backstage cell. An action with no owner is a finding.
|
|
28
|
+
|
|
29
|
+
5. **Mark fail points and waits.** ⚠ **Fail point**: where the step can go wrong, with the failure, its effect on the customer, and how often if known. ⏱ **Wait**: where the customer waits, with the duration (measured, SLA, or `[estimate]`) and whether they're told how long. Handoffs between teams across a lane boundary are the usual sources of both; mark every handoff. Look especially for waits the customer can't see the reason for.
|
|
30
|
+
|
|
31
|
+
6. **Trace the journey map's pains to their causes.** For each customer pain (from `user-journey-map` or the input), point to the backstage or support cell that causes it: ✅ *"Customer re-sends photos (pain) ← assessor can't see the portal uploads; they arrive by email to a shared inbox (backstage)"*. This trace is what the blueprint adds over the journey map.
|
|
32
|
+
|
|
33
|
+
7. **Rank the fixes.** Score each fail point and wait by customer impact × frequency × how many steps it touches. Name the top 2–3 as fixes with an owner and the lane they change. The rest are listed, explicitly not prioritised now. Fixes are stated as outcomes: ✅ *"Assessor sees uploads within minutes"*, not *"Buy a new CRM"*.
|
|
34
|
+
|
|
35
|
+
8. **Emit with [`templates/blueprint.md`](templates/blueprint.md)** in one message: scenario and evidence level, the blueprint table (lanes as rows, steps as columns, with the three lines drawn as separator rows), a Mermaid flowchart with one subgraph per lane, fail points and waits, the pain-to-cause trace, ranked fixes, and open questions. Check the Mermaid syntax before emitting. Hand-offs: a fix becomes committed work → `prd-draft`; the systems in the support lane need their technical design → `architecture-diagrams`; no journey map yet and the frontstage emotions matter → `user-journey-map` first. See [`examples/insurance-claim-blueprint.md`](examples/insurance-claim-blueprint.md).
|
|
36
|
+
|
|
37
|
+
**Non-interactive runs** (subagent, CI, headless): a missing backstage becomes `[assumption]` cells with the whole blueprint tagged `[assumption-based]`, and missing wait times are `[estimate]`. If the service or scenario can't be identified from the input, emit `BLOCKED: need the service and one customer scenario`.
|
|
38
|
+
|
|
39
|
+
## Useful references in this skill
|
|
40
|
+
|
|
41
|
+
- [`templates/blueprint.md`](templates/blueprint.md) — the blueprint table with the three lines, Mermaid skeleton, fail-point and wait tables, pain-to-cause trace
|
|
42
|
+
- [`examples/insurance-claim-blueprint.md`](examples/insurance-claim-blueprint.md) — worked example: a home-insurance claim built on a journey map, with fail points, waits and ranked fixes
|
|
43
|
+
|
|
44
|
+
## Quality bar
|
|
45
|
+
|
|
46
|
+
- **One scenario, one customer type**, with a trigger and an end state, named in the title.
|
|
47
|
+
- **All five lanes and all three lines are present.** Evidence, customer, frontstage, backstage, support; interaction, visibility, internal interaction.
|
|
48
|
+
- **Every frontstage and backstage action has an owner** (role or team), or is flagged as unowned.
|
|
49
|
+
- **Every handoff across teams is marked**, and fail points ⚠ and waits ⏱ are marked where they occur, with durations or `[estimate]`.
|
|
50
|
+
- **Customer pains are traced to backstage or support causes.**
|
|
51
|
+
- **2–3 fixes are ranked and named**, stated as outcomes, each with an owner and the lane it changes.
|
|
52
|
+
- **The table and the Mermaid diagram match**, and the Mermaid renders.
|
|
53
|
+
- **Nothing is invented.** Teams, systems, SLAs and durations not in the input are tagged `[assumption]` or `[estimate]`, and the evidence level is declared at the top.
|
|
54
|
+
|
|
55
|
+
## When to use this skill
|
|
56
|
+
|
|
57
|
+
- ✅ "What actually happens behind the scenes when a customer does X?"
|
|
58
|
+
- ✅ Finding where a service stalls, breaks or bounces between teams
|
|
59
|
+
- ✅ Taking a journey map's pain points down to their operational causes
|
|
60
|
+
- ✅ Designing a new service and agreeing who does what before launch
|
|
61
|
+
|
|
62
|
+
## When NOT to use this skill
|
|
63
|
+
|
|
64
|
+
- ❌ One persona's stages, emotions and pains, frontstage only — that's `user-journey-map` (run it first if the customer side isn't known)
|
|
65
|
+
- ❌ The technical architecture of the systems in the support lane — that's `architecture-diagrams`
|
|
66
|
+
- ❌ Requirements for a fix the blueprint found — that's `prd-draft`
|
|
67
|
+
|
|
68
|
+
## Anti-patterns to avoid
|
|
69
|
+
|
|
70
|
+
- ❌ **The everything blueprint.** Every branch and exception on one page. One scenario per blueprint; variants get their own.
|
|
71
|
+
- ❌ **Departments instead of actions.** A backstage cell that says "Claims team" says who, not what. Write the action and the owner.
|
|
72
|
+
- ❌ **No line of visibility.** Without it, nobody can see which delays the customer feels but can't explain.
|
|
73
|
+
- ❌ **Waits without numbers.** "Customer waits for assessment" hides whether it's an hour or three weeks. Give a figure or an `[estimate]`.
|
|
74
|
+
- ❌ **The ideal process, drawn as the current one.** Copying the process doc instead of what happens. Tag the evidence level honestly.
|
|
75
|
+
- ❌ **A tool as the fix.** "Implement a new CRM" isn't an outcome. Say what must be true for the customer.
|
|
76
|
+
- ❌ **Redoing the journey map.** Emotion scores belong in `user-journey-map`; the blueprint takes its steps and goes down, not sideways.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Create a service blueprint for our returns process",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "What happens behind the scenes when a customer reports a fault? Show frontstage, backstage and where it breaks",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Take our onboarding journey map and show the teams, systems and handoffs behind each step",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Find the fail points and wait times in how we deliver a mortgage application",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Map our customer's onboarding journey with emotions and pain points at each stage",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Draw the system architecture for our claims platform as a C4 diagram",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Write a PRD for fixing the slow refund process",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
}
|
|
30
|
+
]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "service-blueprint",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Blueprint Acme Broadband's home installation service for a new customer, from placing the order online to having working internet. What we know: orders go into our order system, a scheduling team books an engineer from our contractor Northwind Field Services, the router is shipped by a courier, and activation is done by the network ops team once the engineer marks the job done. Customers complain that the router arrives after the engineer visit, and that they don't know when the line will go live. Our install SLA is 10 working days.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"The title names one customer type and one scenario with a trigger and an end state",
|
|
9
|
+
"All five lanes (evidence, customer, frontstage, backstage, support) and all three lines (interaction, visibility, internal interaction) are present",
|
|
10
|
+
"Every frontstage and backstage action has an owning role or team, or is flagged as unowned",
|
|
11
|
+
"Fail points and waits are marked at the steps where they happen, with durations from the prompt or tagged [estimate]",
|
|
12
|
+
"The router-arrives-late and no-go-live-date complaints are each traced to a backstage or support cause",
|
|
13
|
+
"2–3 ranked fixes are stated as outcomes, each with an owner and the lane it changes",
|
|
14
|
+
"A Mermaid diagram with one subgraph per lane matches the table",
|
|
15
|
+
"Does not invent teams, systems, SLAs or durations not in the prompt; inferred ones are tagged [assumption] or [estimate]"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Worked example — a home-insurance claim, from burst pipe to payment
|
|
2
|
+
|
|
3
|
+
## Input given to the skill
|
|
4
|
+
|
|
5
|
+
> We did a journey map for Northwind Insurance's home claims. The two worst moments were "uploads
|
|
6
|
+
> photos, then gets asked for the same photos again by phone" and "waits with no update after the
|
|
7
|
+
> assessor visit". Can you blueprint what happens behind that? What we know: customers report on
|
|
8
|
+
> the app or by phone to the contact centre. Claims go into ClaimDesk (our claims system). A desk
|
|
9
|
+
> assessor reviews the claim and decides whether to send a field assessor; field assessors are a
|
|
10
|
+
> third-party firm, Acme Loss Adjusting, who email their report back. Photos uploaded in the app
|
|
11
|
+
> land in a shared inbox, not in ClaimDesk. Payment goes through the finance team in a weekly batch.
|
|
12
|
+
> Our SLA is to contact the customer within 2 working days of the claim.
|
|
13
|
+
|
|
14
|
+
## Output
|
|
15
|
+
|
|
16
|
+
# Service blueprint: home-insurance customer claims for a burst pipe, from reporting it to being paid
|
|
17
|
+
|
|
18
|
+
**Evidence level:** [documented], from the team's description and the journey map. Durations without an SLA are `[estimate]`.
|
|
19
|
+
**Built on:** Northwind home claims journey map (the two pains above).
|
|
20
|
+
**Variants not shown:** claim declined; emergency repair needed first; customer reports by phone (it differs at steps 1–2 only).
|
|
21
|
+
**Assumptions to confirm first:** desk assessors work only in ClaimDesk and don't watch the shared inbox; Acme's report arrives as a PDF attached to an email.
|
|
22
|
+
|
|
23
|
+
### Blueprint
|
|
24
|
+
|
|
25
|
+
| Lane | 1. Reports the claim | 2. Uploads photos | 3. Gets a call from the desk assessor | 4. Hosts the field assessor | 5. Waits for a decision | 6. Gets paid |
|
|
26
|
+
|---|---|---|---|---|---|---|
|
|
27
|
+
| **Evidence** | App claim form, confirmation email with claim number | "Photos received" screen | Phone call | Assessor visit, business card | Nothing | Settlement email, bank credit |
|
|
28
|
+
| **Customer actions** | Fills in the claim form in the app | Uploads 6–10 photos | Answers questions, is asked for photos again | Shows the damage | Chases by phone | Checks the amount |
|
|
29
|
+
| *— line of interaction —* | | | | | | |
|
|
30
|
+
| **Frontstage** (owner) | App submits the claim (digital team) | App confirms upload (digital team) | Calls the customer (desk assessor) | Inspects and measures (Acme field assessor) | Takes the chase call, can't see status (contact centre) | Sends settlement email (claims) |
|
|
31
|
+
| *— line of visibility —* | | | | | | |
|
|
32
|
+
| **Backstage** (owner) | Claim created in ClaimDesk (automated) | Photos go to the shared inbox (no owner) | Reviews the claim in ClaimDesk, can't see photos, decides on field visit (desk assessor) | Writes the report, emails it to the shared inbox (Acme) | Report waits in the inbox, then is attached by hand to ClaimDesk; desk assessor decides (desk assessor, claims admin) | Approves payment and adds it to the weekly batch (finance) |
|
|
33
|
+
| *— line of internal interaction —* | | | | | | |
|
|
34
|
+
| **Support processes** | ClaimDesk | Shared email inbox | ClaimDesk, policy system | Acme Loss Adjusting | Shared email inbox, ClaimDesk | Weekly payment batch |
|
|
35
|
+
| **Fail points / waits** | | ⚠1 photos not linked to the claim | ⏱2 up to 2 working days (SLA) · ⚠3 asks for photos again | ⏱4 visit booking `[estimate]` 3–5 days | ⏱5 report to decision `[estimate]` 5–10 days · ⚠6 report sits unseen | ⏱7 up to 7 days for the batch |
|
|
36
|
+
|
|
37
|
+
### Diagram
|
|
38
|
+
|
|
39
|
+
```mermaid
|
|
40
|
+
flowchart LR
|
|
41
|
+
subgraph EV["Evidence"]
|
|
42
|
+
direction LR
|
|
43
|
+
e1["Confirmation email"] ~~~ e2["Photos received screen"] ~~~ e3["Phone call"] ~~~ e4["Assessor visit"] ~~~ e5["Nothing"] ~~~ e6["Settlement email"]
|
|
44
|
+
end
|
|
45
|
+
subgraph CU["Customer actions"]
|
|
46
|
+
direction LR
|
|
47
|
+
c1["1. Reports claim"] --> c2["2. Uploads photos"] --> c3["3. Call from desk assessor"] --> c4["4. Hosts field assessor"] --> c5["5. Waits and chases"] --> c6["6. Gets paid"]
|
|
48
|
+
end
|
|
49
|
+
subgraph FR["Frontstage, below the line of interaction"]
|
|
50
|
+
direction LR
|
|
51
|
+
f1["App submits claim"] ~~~ f2["App confirms upload"] ~~~ f3["Desk assessor calls"] ~~~ f4["Acme inspects"] ~~~ f5["Contact centre takes chase call"] ~~~ f6["Claims sends settlement"]
|
|
52
|
+
end
|
|
53
|
+
subgraph BA["Backstage, below the line of visibility"]
|
|
54
|
+
direction LR
|
|
55
|
+
b1["Claim created in ClaimDesk"] ~~~ b2["Photos to shared inbox ⚠1"] ~~~ b3["Desk review, no photos ⚠3"] ~~~ b4["Acme emails report"] ~~~ b5["Report attached by hand ⚠6"] ~~~ b6["Finance weekly batch ⏱7"]
|
|
56
|
+
end
|
|
57
|
+
subgraph SU["Support, below the line of internal interaction"]
|
|
58
|
+
direction LR
|
|
59
|
+
s1["ClaimDesk"] ~~~ s2["Shared inbox"] ~~~ s3["Policy system"] ~~~ s4["Acme Loss Adjusting"] ~~~ s6["Payment batch"]
|
|
60
|
+
end
|
|
61
|
+
c1 --> f1 --> b1 --> s1
|
|
62
|
+
c2 --> f2 --> b2 --> s2
|
|
63
|
+
c3 --> f3 --> b3
|
|
64
|
+
b3 --> s3
|
|
65
|
+
c4 --> f4 --> b4 --> s4
|
|
66
|
+
c5 --> f5
|
|
67
|
+
b4 --> b5 --> s1
|
|
68
|
+
c6 --> f6
|
|
69
|
+
b6 --> s6
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Fail points and waits
|
|
73
|
+
|
|
74
|
+
| # | Step | Type | What happens | Customer effect | Frequency / duration | Handoff? |
|
|
75
|
+
|---|---|---|---|---|---|---|
|
|
76
|
+
| 1 | 2 | ⚠ fail | Photos land in a shared inbox, not on the claim | Their upload goes nowhere useful | Every app claim `[assumption]` | App → inbox (no owner) |
|
|
77
|
+
| 2 | 3 | ⏱ wait | Time to first contact | Doesn't know if the claim was received by a person | Up to 2 working days (SLA) | ClaimDesk → desk assessor |
|
|
78
|
+
| 3 | 3 | ⚠ fail | Desk assessor can't see the photos and asks for them again | Journey-map pain 1 | Every app claim `[assumption]` | |
|
|
79
|
+
| 4 | 4 | ⏱ wait | Booking the field visit | Waits with damage unrepaired | 3–5 days `[estimate]` | Desk assessor → Acme |
|
|
80
|
+
| 5 | 5 | ⏱ wait | Report to decision | Journey-map pain 2: no update | 5–10 days `[estimate]` | Acme → inbox → claims admin → desk assessor |
|
|
81
|
+
| 6 | 5 | ⚠ fail | Report sits in the shared inbox until someone attaches it | Longer wait, chase calls | Unknown | Acme → inbox (no owner) |
|
|
82
|
+
| 7 | 6 | ⏱ wait | Approved payment waits for the weekly batch | Paid up to a week after approval | Up to 7 days | Claims → finance |
|
|
83
|
+
|
|
84
|
+
### Pain → cause
|
|
85
|
+
|
|
86
|
+
| Customer pain (journey map) | Cause (lane, step) |
|
|
87
|
+
|---|---|
|
|
88
|
+
| Asked for the same photos again | Backstage 2: uploads go to an unowned shared inbox; backstage 3: desk assessor works only in ClaimDesk |
|
|
89
|
+
| No update after the assessor visit | Backstage 5: Acme's report goes to the same inbox and waits to be attached by hand; frontstage 5: contact centre can't see status, so chase calls go nowhere |
|
|
90
|
+
|
|
91
|
+
### Ranked fixes
|
|
92
|
+
|
|
93
|
+
| Rank | Fix (outcome) | Lane it changes | Owner | Addresses |
|
|
94
|
+
|---|---|---|---|---|
|
|
95
|
+
| 1 | Photos uploaded in the app appear on the claim in ClaimDesk, with no inbox step | Backstage, support | Digital team with claims | ⚠1, ⚠3 |
|
|
96
|
+
| 2 | Acme's report reaches the claim directly, and the customer is told when it has arrived and when to expect a decision | Backstage, frontstage | Claims, with Acme | ⚠6, ⏱5 |
|
|
97
|
+
| 3 | The contact centre can see claim status, so a chase call ends with an answer | Frontstage | Contact centre | ⏱5 |
|
|
98
|
+
|
|
99
|
+
**Not prioritised now:** ⏱7 weekly payment batch (a finance process change with wider impact; revisit after fixes 1–2); ⏱2 first-contact SLA (met today, and fix 1 makes the first call shorter).
|
|
100
|
+
|
|
101
|
+
### Open questions
|
|
102
|
+
|
|
103
|
+
- How many claims a month arrive through the app vs by phone? This sizes fix 1.
|
|
104
|
+
- What does Acme's contract say about report turnaround? It may already have an SLA nobody tracks.
|
|
105
|
+
- Who owns the shared inbox today? The blueprint found no owner.
|
|
106
|
+
|
|
107
|
+
**Hand-offs:** fix 1 becomes committed work → `prd-draft`. The ClaimDesk integration design → `architecture-diagrams`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "service-blueprint",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Build a service blueprint — per step, the evidence the customer sees, the customer's actions, frontstage staff and system actions, backstage actions, and support processes, separated by the lines of interaction, visibility and internal interaction, with fail points, wait times and owners marked — as a table plus a Mermaid diagram and the ranked fixes. Use when the user wants a service blueprint, \"what happens behind the scenes when a customer does X\", to find where a service breaks or stalls, or to take a journey map down to the people, systems and handoffs that deliver it.",
|
|
5
|
+
"entrypoint": "SKILL.md",
|
|
6
|
+
"deps": {
|
|
7
|
+
"npm": [],
|
|
8
|
+
"pip": []
|
|
9
|
+
},
|
|
10
|
+
"env": {
|
|
11
|
+
"required": [],
|
|
12
|
+
"optional": []
|
|
13
|
+
},
|
|
14
|
+
"related": [
|
|
15
|
+
"architecture-diagrams",
|
|
16
|
+
"prd-draft",
|
|
17
|
+
"user-journey-map"
|
|
18
|
+
],
|
|
19
|
+
"handoff": [
|
|
20
|
+
{
|
|
21
|
+
"to": "user-journey-map",
|
|
22
|
+
"when": "there is no journey map and the customer's stages and emotions aren't known",
|
|
23
|
+
"purpose": "Establish the frontstage experience the blueprint hangs off.",
|
|
24
|
+
"fallback": "If user-journey-map is absent, list the customer steps and the two worst moments inline, tagged [assumption], before filling the lanes."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"to": "prd-draft",
|
|
28
|
+
"when": "a ranked fix is accepted as committed work",
|
|
29
|
+
"purpose": "Turn the fix into requirements with goals and non-goals.",
|
|
30
|
+
"fallback": "If prd-draft is absent, write the fix as a problem statement, the owner, and one measurable 'we'll know it worked when' line."
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"tags": [
|
|
34
|
+
"service-design",
|
|
35
|
+
"service-blueprint",
|
|
36
|
+
"cx",
|
|
37
|
+
"operations",
|
|
38
|
+
"ux",
|
|
39
|
+
"mermaid"
|
|
40
|
+
],
|
|
41
|
+
"model": {
|
|
42
|
+
"tier": "standard",
|
|
43
|
+
"rationale": "Structured mapping of a described service into fixed lanes, with fail points, waits and a ranking. Tracing causes needs judgment, but the lane structure and the input bound it."
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Service blueprint: {customer type} {does what}, from {trigger} to {end state}
|
|
2
|
+
|
|
3
|
+
**Evidence level:** {[observed] / [documented] / [assumption-based]} · **Built on:** {user-journey-map title, or "no journey map"}
|
|
4
|
+
**Variants not shown:** {list} · **Assumptions to confirm first:** {list, or "none"}
|
|
5
|
+
|
|
6
|
+
## Blueprint
|
|
7
|
+
|
|
8
|
+
| Lane | 1. {step} | 2. {step} | 3. {step} |
|
|
9
|
+
|---|---|---|---|
|
|
10
|
+
| **Evidence** | {} | {} | {} |
|
|
11
|
+
| **Customer actions** | {} | {} | {} |
|
|
12
|
+
| *— line of interaction —* | | | |
|
|
13
|
+
| **Frontstage** (owner) | {action} ({role}) | | |
|
|
14
|
+
| *— line of visibility —* | | | |
|
|
15
|
+
| **Backstage** (owner) | {action} ({team}) | | |
|
|
16
|
+
| *— line of internal interaction —* | | | |
|
|
17
|
+
| **Support processes** | {system / third party} | | |
|
|
18
|
+
| **Fail points / waits** | ⚠ {} · ⏱ {duration} | | |
|
|
19
|
+
|
|
20
|
+
## Diagram
|
|
21
|
+
|
|
22
|
+
```mermaid
|
|
23
|
+
flowchart LR
|
|
24
|
+
subgraph EV["Evidence"]
|
|
25
|
+
direction LR
|
|
26
|
+
e1["{evidence}"]
|
|
27
|
+
end
|
|
28
|
+
subgraph CU["Customer actions"]
|
|
29
|
+
direction LR
|
|
30
|
+
c1["1. {step}"] --> c2["2. {step}"]
|
|
31
|
+
end
|
|
32
|
+
subgraph FR["Frontstage (line of interaction above)"]
|
|
33
|
+
direction LR
|
|
34
|
+
f1["{action}"]
|
|
35
|
+
end
|
|
36
|
+
subgraph BA["Backstage (line of visibility above)"]
|
|
37
|
+
direction LR
|
|
38
|
+
b1["{action}"]
|
|
39
|
+
end
|
|
40
|
+
subgraph SU["Support (line of internal interaction above)"]
|
|
41
|
+
direction LR
|
|
42
|
+
s1["{system}"]
|
|
43
|
+
end
|
|
44
|
+
c1 --- e1
|
|
45
|
+
c1 --> f1
|
|
46
|
+
f1 --> b1
|
|
47
|
+
b1 --> s1
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Fail points and waits
|
|
51
|
+
|
|
52
|
+
| # | Step | Type | What happens | Customer effect | Frequency / duration | Handoff? |
|
|
53
|
+
|---|---|---|---|---|---|---|
|
|
54
|
+
| 1 | {} | ⚠ fail / ⏱ wait | {} | {} | {measured / SLA / [estimate]} | {team → team} |
|
|
55
|
+
|
|
56
|
+
## Pain → cause
|
|
57
|
+
|
|
58
|
+
| Customer pain | Cause (lane, step) |
|
|
59
|
+
|---|---|
|
|
60
|
+
| {} | {} |
|
|
61
|
+
|
|
62
|
+
## Ranked fixes
|
|
63
|
+
|
|
64
|
+
| Rank | Fix (outcome) | Lane it changes | Owner | Addresses |
|
|
65
|
+
|---|---|---|---|---|
|
|
66
|
+
| 1 | {} | {} | {} | {#} |
|
|
67
|
+
|
|
68
|
+
**Not prioritised now:** {list}
|
|
69
|
+
|
|
70
|
+
## Open questions
|
|
71
|
+
|
|
72
|
+
- {}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ux-writing
|
|
3
|
+
description: Write the interface copy for a flow or component — buttons, labels, hints, errors, empty states, confirmations, loading and success messages — as a string table where each string has its context, a character budget, a recommended version and one variant, with error messages that say what happened and what to do next, and a terminology list so the same thing has the same name everywhere. Use when the user wants UI copy, microcopy, button text, error messages, empty states, "write the strings for this screen", or "our wording is inconsistent".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ux-writing
|
|
7
|
+
|
|
8
|
+
Writes the short strings people read while they are in the middle of doing something. The unit is the string, and each one is written for its exact slot: the button, the field hint, the error under the field, the empty table. The output is a string table a developer can paste from and a terminology list that keeps the product consistent. This is not `content-design`, which decides what a whole page says from user needs; ux-writing works inside a flow that already exists and fills its slots. Longer help articles and how-tos belong to `guide-builder`.
|
|
9
|
+
|
|
10
|
+
## How to respond
|
|
11
|
+
|
|
12
|
+
1. **Get the flow and the voice in one message.** Ask at most 2 questions, spent on the weakest of: *the flow or screens* (a screenshot, wireframe, component list, or step list), and *the voice* (a `brand.json` from `brand-kit`, a style guide, or three words). Default the voice to plain, direct, second person ("you"), sentence case, no exclamation marks. Default the platform to web. Say which defaults you used.
|
|
13
|
+
|
|
14
|
+
2. **List every slot before writing any copy.** Walk the flow step by step and list each string slot: page title, labels, hints, placeholders, buttons, links, errors (one per validation rule and per system failure), empty states, loading, success, confirmation dialogs, toasts. A missing error state is the most common gap; ask what each field can reject and what the system can fail on. A slot you inferred is tagged `[inferred]`.
|
|
15
|
+
|
|
16
|
+
3. **Give each slot a character budget.** Use the real width when known; otherwise default: button 20, label 30, hint 80, toast 60, dialog title 40, dialog body 160, error 100. Count characters, including spaces, and put the count next to each string. Over budget means rewrite, not truncate. Allow about 30% extra length for languages that run longer when the product is localised, and say so.
|
|
17
|
+
|
|
18
|
+
4. **Write each string for its job:**
|
|
19
|
+
- **Buttons** say what happens, as a verb plus object: ✅ *"Send invite"* — ❌ *"Submit"*, *"OK"*. The confirm button in a dialog repeats the action in the title: title *"Delete this project?"*, button *"Delete project"*, not *"Yes"*.
|
|
20
|
+
- **Labels** are nouns that name the data; hints say the format or the reason we ask. Placeholder text is never the only label, because it disappears on typing.
|
|
21
|
+
- **Errors** say what happened and what to do, in that order, without blame: ✅ *"That email is already in use. Sign in instead, or use a different email."* — ❌ *"Invalid input"*, *"Error 409"*, *"You entered a wrong email"*. Name the field; give the fix; keep the user's input.
|
|
22
|
+
- **Empty states** say what will appear here and how to make it appear, with one action: ✅ *"No invoices yet. Invoices you send will show here."* + *"Create invoice"*.
|
|
23
|
+
- **Loading** says what is happening if it takes more than a moment: *"Uploading 3 of 12 files…"*, not *"Please wait"*.
|
|
24
|
+
- **Success** confirms the outcome and the next step, if there is one: *"Invite sent to sam@northwind.example"*.
|
|
25
|
+
- **Destructive confirmations** name the thing, the consequence, and whether it can be undone.
|
|
26
|
+
|
|
27
|
+
5. **Write one variant per string.** The variant differs on purpose: shorter, warmer, or more explicit, labelled as such. Recommend one and say why in a few words. Variants are for review and testing, not a menu for the reader to choose from without guidance.
|
|
28
|
+
|
|
29
|
+
6. **Build the terminology list.** For every concept that appears more than once (the thing being created, the people involved, the actions), pick one term and list the terms to avoid: ✅ *Use "workspace". Avoid: project, team, account.* Then check every string against it. Two names for one thing is the defect this list exists to catch; flag any existing UI or doc that already uses a banned term.
|
|
30
|
+
|
|
31
|
+
7. **Check the strings for access and tone.** Link and button text makes sense out of context (no "Click here", no "Learn more" repeated five times). Errors aren't conveyed by colour alone; say in the string what's wrong. No idioms or jokes in errors. Plain words over jargon: *"sign in"* over *"authenticate"*. This is a writing check, not an accessibility audit; send the built UI to `accessibility-audit`.
|
|
32
|
+
|
|
33
|
+
8. **Emit with [`templates/string-table.md`](templates/string-table.md)** in one message: voice and defaults used, the string table (ID, screen, slot, context, budget, recommended string with character count, variant, notes), the terminology list, and open questions (states nobody has defined yet, error cases that need engineering to confirm). String IDs follow `screen.slot.state` so developers can key them. Component-level content rules for a design system → `design-system-spec`. See [`examples/team-invite-flow.md`](examples/team-invite-flow.md).
|
|
34
|
+
|
|
35
|
+
**Non-interactive runs** (subagent, CI, headless): missing voice falls back to the default voice with an `[assumption]` line at the top; missing error cases are written as `[inferred]` and listed as open questions. If the flow itself can't be identified (no screens, steps or component named), emit `BLOCKED: need the flow or component and its steps` and write nothing.
|
|
36
|
+
|
|
37
|
+
## Useful references in this skill
|
|
38
|
+
|
|
39
|
+
- [`templates/string-table.md`](templates/string-table.md) — the string table, terminology list and open-questions skeleton
|
|
40
|
+
- [`examples/team-invite-flow.md`](examples/team-invite-flow.md) — worked example: a three-step invite flow, with errors, empty state and a terminology list
|
|
41
|
+
|
|
42
|
+
## Quality bar
|
|
43
|
+
|
|
44
|
+
- **Every slot in the flow has a string**, including each error, the empty state, loading and success. No "TBD".
|
|
45
|
+
- **Every string shows its character count against its budget**, and none is over.
|
|
46
|
+
- **Every error says what happened and what to do next**, names the field or object, and blames no one. No error codes on their own.
|
|
47
|
+
- **Buttons are verb + object.** No "Submit", "OK" or "Yes" on a primary action.
|
|
48
|
+
- **Each string has one labelled variant and a recommendation.**
|
|
49
|
+
- **The terminology list exists, and every string obeys it.** One concept, one term.
|
|
50
|
+
- **The voice matches the given brand or the stated default.**
|
|
51
|
+
- **Nothing is invented about the product.** Limits, prices, timings and policies not in the input are left as `{placeholder}` and listed in open questions.
|
|
52
|
+
|
|
53
|
+
## When to use this skill
|
|
54
|
+
|
|
55
|
+
- ✅ Writing or rewriting the copy for a flow, screen or component
|
|
56
|
+
- ✅ Error messages that confuse people or generate support tickets
|
|
57
|
+
- ✅ Empty, loading and success states nobody has written yet
|
|
58
|
+
- ✅ Wording that differs between screens and needs one terminology list
|
|
59
|
+
|
|
60
|
+
## When NOT to use this skill
|
|
61
|
+
|
|
62
|
+
- ❌ Deciding what a whole page or journey should say from user needs — that's `content-design`
|
|
63
|
+
- ❌ A help article, setup guide or walkthrough — that's `guide-builder`
|
|
64
|
+
- ❌ Capturing the brand's voice and visual identity — that's `brand-kit`
|
|
65
|
+
- ❌ Checking a built UI against WCAG — that's `accessibility-audit`
|
|
66
|
+
- ❌ The full component spec (states, tokens, behaviour) — that's `design-system-spec`; this skill can supply its content rules
|
|
67
|
+
|
|
68
|
+
## Anti-patterns to avoid
|
|
69
|
+
|
|
70
|
+
- ❌ **"Something went wrong."** Says nothing about what failed or what to do. If the cause is unknown, say what to try and how to get help.
|
|
71
|
+
- ❌ **Blaming the user.** "You entered an invalid date." Write "Enter a date after today", which is the fix.
|
|
72
|
+
- ❌ **"Submit", "OK", "Yes/No" on actions.** The user has to read the dialog to know what the button does.
|
|
73
|
+
- ❌ **Placeholder as label.** The hint vanishes on the first keystroke, and the user forgets what the field was.
|
|
74
|
+
- ❌ **Three names for one thing.** "Workspace" in the nav, "project" in the dialog, "team" in the email.
|
|
75
|
+
- ❌ **Writing to the wireframe's lorem ipsum length.** The real string runs longer, the layout breaks, and someone truncates it in code.
|
|
76
|
+
- ❌ **Cheerful errors.** "Oops! 🙈" on a failed payment reads as mockery.
|
|
77
|
+
- ❌ **Inventing the rules.** "Passwords must be 12 characters" when nobody said so. Leave a placeholder and ask.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "Write the button labels and error messages for our signup form",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "We need empty states, loading and success messages for the file upload screen",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Our app calls the same thing a project, a board and a space — fix the microcopy and give us a terminology list",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Rewrite these error messages so people know what to do: 'Invalid input', 'Error 500', 'Request failed'",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Plan the content for our benefits page from user needs: what questions it answers and what to cut",
|
|
20
|
+
"should_trigger": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Write a getting-started guide for new admins setting up the product",
|
|
24
|
+
"should_trigger": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "Set up our brand kit from this logo and our tone-of-voice guidelines",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Audit this checkout page for WCAG 2.2 AA issues",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
}
|
|
34
|
+
]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "ux-writing",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Write the UI copy for Acme Bank's 'add a payee' flow in our mobile app. Steps: enter payee name, sort code and account number; we run a name check against the bank's records (match, close match, no match); then confirm and add. Users can also see an empty Payees list before they've added anyone. Our style guide says: plain, calm, second person, no exclamation marks.",
|
|
7
|
+
"assertions": [
|
|
8
|
+
"Every slot has a string, including an error for each field rule, each name-check result, a network failure, the empty Payees list, loading and success",
|
|
9
|
+
"Every string shows a character count against a stated budget, and no recommended string exceeds its budget",
|
|
10
|
+
"Every error says what happened and what to do next, names the field, and does not blame the user",
|
|
11
|
+
"Primary buttons are verb plus object; none says Submit, OK or Yes",
|
|
12
|
+
"Each string has one labelled variant and a recommendation",
|
|
13
|
+
"A terminology list picks one term per concept (e.g. payee vs recipient) with terms to avoid, and the strings follow it",
|
|
14
|
+
"No exclamation marks, matching the given style guide",
|
|
15
|
+
"Does not invent limits, fees, processing times or policies not in the prompt; unknowns are placeholders listed as open questions"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|