skilldrop-cli 0.16.18 → 0.16.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/devils-advocate.md +34 -22
- package/bin/skilldrop.js +18 -4
- package/catalogue.json +2 -1
- package/model-routing.json +219 -215
- package/package.json +1 -1
- package/packs/ai-engineering/skills/agent-adoption-stage/evals/evals.json +28 -0
- package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/agent-telemetry.csv +7 -0
- package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/cto-offsite-memo.md +9 -0
- package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/dev-survey-summary.md +9 -0
- package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/engineering-policy.md +15 -0
- package/packs/ai-engineering/skills/agent-budget/evals/evals.json +27 -0
- package/packs/ai-engineering/skills/agent-budget/evals/files/3/finance-note.md +10 -0
- package/packs/ai-engineering/skills/agent-budget/evals/files/3/pipeline.md +18 -0
- package/packs/ai-engineering/skills/agent-budget/evals/files/3/price-sheet.md +9 -0
- package/packs/ai-engineering/skills/agent-budget/evals/files/3/september-usage.csv +7 -0
- package/packs/ai-engineering/skills/agent-loop-design/evals/evals.json +28 -0
- package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/design-guide-extract.md +13 -0
- package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/legal-advice.md +9 -0
- package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/request-from-head-of-planning.md +11 -0
- package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/trial-notes.md +13 -0
- package/packs/ai-engineering/skills/agent-threat-model/evals/evals.json +27 -0
- package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/agent-config.yaml +19 -0
- package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/agent-spec.md +17 -0
- package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/previous-review.md +10 -0
- package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/vendor-security-note.md +4 -0
- package/packs/ai-engineering/skills/ai-adoption-rollout/evals/evals.json +28 -0
- package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/cno-brief.md +17 -0
- package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/education-capacity.md +5 -0
- package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/pilot-report.md +14 -0
- package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/survey-summary.md +7 -0
- package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/union-letter.md +8 -0
- package/packs/ai-engineering/skills/ai-readiness-assessment/evals/evals.json +28 -0
- package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/ceo-note.md +5 -0
- package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/governance-status.md +6 -0
- package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/interview-notes.md +18 -0
- package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/it-inventory.md +12 -0
- package/packs/ai-engineering/skills/ai-usage-report/evals/evals.json +27 -0
- package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/draftwell-events.csv +249 -0
- package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/export-note.md +9 -0
- package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/published-assets.csv +44 -0
- package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/team-roster.md +10 -0
- package/packs/ai-engineering/skills/ai-use-case-triage/evals/evals.json +27 -0
- package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/data-team.md +5 -0
- package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/finance-notes.md +7 -0
- package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/ideas.csv +10 -0
- package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/legal-note.md +7 -0
- package/packs/ai-engineering/skills/llm-eval-harness/evals/evals.json +28 -0
- package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/current-tests.md +6 -0
- package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/feature-brief.md +14 -0
- package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/incident-log.md +8 -0
- package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/pm-request.md +10 -0
- package/packs/ai-engineering/skills/subagent-design/evals/evals.json +27 -0
- package/packs/ai-engineering/skills/subagent-design/evals/files/3/current-process.md +11 -0
- package/packs/ai-engineering/skills/subagent-design/evals/files/3/director-proposal.md +6 -0
- package/packs/ai-engineering/skills/subagent-design/evals/files/3/scoring-rubric.md +9 -0
- package/packs/ai-engineering/skills/subagent-design/evals/files/3/trial-and-round-notes.md +11 -0
- package/packs/api-builder/skills/eval-harness-generator/evals/evals.json +27 -0
- package/packs/api-builder/skills/eval-harness-generator/evals/files/2/SKILL.md +35 -0
- package/packs/api-builder/skills/prompt-caching-advisor/evals/evals.json +25 -0
- package/packs/api-builder/skills/prompt-caching-advisor/evals/files/2/build_request.py +40 -0
- package/packs/api-builder/skills/prompt-caching-advisor/evals/files/2/notes.md +10 -0
- package/packs/api-builder/skills/token-budget-estimator/evals/evals.json +27 -0
- package/packs/api-builder/skills/token-budget-estimator/evals/files/2/pilot-usage.csv +17 -0
- package/packs/api-builder/skills/token-budget-estimator/evals/files/2/workflow.md +42 -0
- package/packs/career/pack.json +1 -1
- package/packs/career/skills/job-fit-analysis/SKILL.md +2 -1
- package/packs/career/skills/job-fit-analysis/manifest.json +3 -2
- package/packs/career/skills/role-shortlist/SKILL.md +107 -0
- package/packs/career/skills/role-shortlist/evals/eval_queries.json +34 -0
- package/packs/career/skills/role-shortlist/evals/evals.json +75 -0
- package/packs/career/skills/role-shortlist/evals/files/1/careers-index.html +22 -0
- package/packs/career/skills/role-shortlist/evals/files/1/cv.md +44 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/clinical-coding-officer-bramwick.md +23 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/data-and-performance-analyst.html +28 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/estates-maintenance-electrician-bramwick.md +20 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/healthcare-support-worker-nights-corrin-bay.md +20 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/medical-secretary-cardiology-elsford.html +30 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/outpatient-booking-team-leader-bramwick.md +23 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/patient-pathway-coordinator-bramwick.md +30 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/patient-pathway-coordinator-elsford.md +30 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/reception-and-admin-assistant-corrin-bay.md +21 -0
- package/packs/career/skills/role-shortlist/evals/files/1/postings/senior-care-coordinator.md +25 -0
- package/packs/career/skills/role-shortlist/evals/files/2/cv.md +33 -0
- package/packs/career/skills/role-shortlist/evals/files/2/job-board-export.csv +11 -0
- package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10422.md +26 -0
- package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10431.md +25 -0
- package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10455.md +27 -0
- package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10468.md +25 -0
- package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10476.md +25 -0
- package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10490.md +24 -0
- package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10587.md +26 -0
- package/packs/career/skills/role-shortlist/evals/files/4/brackwater-careers.html +118 -0
- package/packs/career/skills/role-shortlist/evals/files/4/mere-castell-cv.md +44 -0
- package/packs/career/skills/role-shortlist/evals/files/4/tradesboard-export.csv +6 -0
- package/packs/career/skills/role-shortlist/manifest.json +38 -0
- package/packs/converters/skills/file-to-markdown/evals/evals.json +27 -0
- package/packs/converters/skills/file-to-markdown/evals/files/3/harbourline-shift-policy.docx +0 -0
- package/packs/converters/skills/file-to-markdown/evals/files/4/seed-swap-2026.csv +10 -0
- package/packs/converters/skills/md-to-docx/evals/evals.json +28 -0
- package/packs/converters/skills/md-to-docx/evals/files/3/brand.json +12 -0
- package/packs/converters/skills/md-to-docx/evals/files/3/img/team-photo.png +0 -0
- package/packs/converters/skills/md-to-docx/evals/files/3/tender-response.md +51 -0
- package/packs/converters/skills/md-to-html/evals/evals.json +26 -0
- package/packs/converters/skills/md-to-html/evals/files/2/brand.json +13 -0
- package/packs/converters/skills/md-to-html/evals/files/2/img/kick-net.png +0 -0
- package/packs/converters/skills/md-to-html/evals/files/2/river-survey-guide.md +53 -0
- package/packs/converters/skills/md-to-html/evals/files/3/nanas-lentil-soup.md +21 -0
- package/packs/converters/skills/md-to-html/evals/files/3/pot.png +0 -0
- package/packs/converters/skills/md-to-xlsx/evals/evals.json +26 -0
- package/packs/converters/skills/md-to-xlsx/evals/files/3/depot-costs-q3.md +20 -0
- package/packs/converters/skills/md-to-xlsx/evals/files/4/hollowmere-5k-results.json +7 -0
- package/packs/converters/skills/mermaid-render/evals/evals.json +26 -0
- package/packs/converters/skills/mermaid-render/evals/files/2/dispensing-diagrams.md +39 -0
- package/packs/core/skills/brief-intake/evals/evals.json +27 -0
- package/packs/core/skills/brief-intake/evals/files/2/ops-meeting-notes.md +18 -0
- package/packs/core/skills/brief-intake/evals/files/2/thread.txt +40 -0
- package/packs/core/skills/council-review/evals/evals.json +28 -0
- package/packs/core/skills/council-review/evals/files/2/compliance-note.md +11 -0
- package/packs/core/skills/council-review/evals/files/2/link-outages-q3.csv +11 -0
- package/packs/core/skills/council-review/evals/files/2/proposal.md +39 -0
- package/packs/core/skills/council-review/evals/files/2/vendor-letter.txt +12 -0
- package/packs/core/skills/doc-critique/evals/evals.json +27 -0
- package/packs/core/skills/doc-critique/evals/files/2/exec-summary.md +43 -0
- package/packs/core/skills/output-hygiene/evals/evals.json +27 -0
- package/packs/core/skills/output-hygiene/evals/files/3/newsletter.md +17 -0
- package/packs/data-analytics/skills/dashboard-spec/evals/evals.json +27 -0
- package/packs/data-analytics/skills/dashboard-spec/evals/files/2/data-inventory.md +16 -0
- package/packs/data-analytics/skills/dashboard-spec/evals/files/2/request-email.md +28 -0
- package/packs/data-analytics/skills/sql-review/evals/evals.json +27 -0
- package/packs/data-analytics/skills/sql-review/evals/files/2/context.md +10 -0
- package/packs/data-analytics/skills/sql-review/evals/files/2/monthly_donor_revenue.sql +16 -0
- package/packs/data-analytics/skills/sql-review/evals/files/2/schema.md +20 -0
- package/packs/design/skills/brand-kit/evals/evals.json +26 -0
- package/packs/design/skills/brand-kit/evals/files/2/brand-guidelines.md +32 -0
- package/packs/design/skills/brand-kit/evals/files/2/contact-sheet.txt +6 -0
- package/packs/design/skills/brand-kit/evals/files/2/logo.svg +5 -0
- package/packs/design/skills/brand-kit/evals/files/2/website-colours.css +9 -0
- package/packs/design/skills/brand-kit/evals/files/3/muddy-paws-logo.png +0 -0
- package/packs/design/skills/deck-builder/evals/evals.json +27 -0
- package/packs/design/skills/deck-builder/evals/files/4/ashby-vale-board-notes.md +36 -0
- package/packs/design/skills/marketing-flyer/evals/evals.json +27 -0
- package/packs/design/skills/marketing-flyer/evals/files/2/brand.json +14 -0
- package/packs/design/skills/marketing-flyer/evals/files/2/larchfield-logo.svg +4 -0
- package/packs/design/skills/marketing-flyer/evals/files/2/manager-email.txt +6 -0
- package/packs/design/skills/marketing-flyer/evals/files/2/open-day-brief.md +15 -0
- package/packs/design/skills/slide-outliner/evals/evals.json +26 -0
- package/packs/design/skills/slide-outliner/evals/files/2/uv-dosing-design-notes.md +38 -0
- package/packs/dev-team/skills/accessibility-audit/evals/evals.json +27 -0
- package/packs/dev-team/skills/accessibility-audit/evals/files/2/booking.html +79 -0
- package/packs/dev-team/skills/accessibility-audit/evals/files/2/scan-report.txt +23 -0
- package/packs/dev-team/skills/accessibility-audit/evals/files/2/styles.css +56 -0
- package/packs/dev-team/skills/agents-md-generator/evals/evals.json +27 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/.github/workflows/ci.yml +12 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/CONTRIBUTING.md +20 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/README.md +15 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/data/raw/README.md +7 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/pyproject.toml +23 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/scripts/deploy.sh +6 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/src/sensor_ingest/__init__.py +1 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/src/sensor_ingest/parse.py +20 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/tests/test_gateway.py +10 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/5/tests/test_parse.py +7 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/6/clean_marks.R +5 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/6/grades_final.csv +6 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/6/make_report.R +7 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/6/notes.txt +8 -0
- package/packs/dev-team/skills/agents-md-generator/evals/files/6/raw_marks.csv +6 -0
- package/packs/dev-team/skills/bug-triage/evals/evals.json +27 -0
- package/packs/dev-team/skills/bug-triage/evals/files/2/payments-log.csv +15 -0
- package/packs/dev-team/skills/bug-triage/evals/files/2/slack-thread.txt +16 -0
- package/packs/dev-team/skills/bug-triage/evals/files/2/ticket.txt +10 -0
- package/packs/dev-team/skills/devils-advocate/SKILL.md +65 -124
- package/packs/dev-team/skills/devils-advocate/evals/evals.json +27 -0
- package/packs/dev-team/skills/devils-advocate/evals/files/6/PR_DESCRIPTION.md +20 -0
- package/packs/dev-team/skills/devils-advocate/evals/files/6/redeem.py +102 -0
- package/packs/dev-team/skills/devils-advocate/evals/files/6/test_redeem.py +54 -0
- package/packs/dev-team/skills/devils-advocate/examples/rate-limiter-review.md +36 -16
- package/packs/dev-team/skills/devils-advocate/manifest.json +3 -3
- package/packs/dev-team/skills/feature-implement-loop/evals/evals.json +27 -0
- package/packs/dev-team/skills/feature-implement-loop/evals/files/2/TICKET.md +20 -0
- package/packs/dev-team/skills/feature-implement-loop/evals/files/2/closures.csv +5 -0
- package/packs/dev-team/skills/feature-implement-loop/evals/files/2/desk.py +11 -0
- package/packs/dev-team/skills/feature-implement-loop/evals/files/2/fees.py +14 -0
- package/packs/dev-team/skills/feature-implement-loop/evals/files/2/tests/test_fees.py +26 -0
- package/packs/dev-team/skills/feature-implement-loop/evals/files/3/away.txt +5 -0
- package/packs/dev-team/skills/feature-implement-loop/evals/files/3/members.txt +8 -0
- package/packs/dev-team/skills/feature-implement-loop/evals/files/3/rota.py +12 -0
- package/packs/dev-team/skills/launch-readiness/evals/evals.json +27 -0
- package/packs/dev-team/skills/launch-readiness/evals/files/2/launch-brief.md +32 -0
- package/packs/dev-team/skills/launch-readiness/evals/files/2/load-test-summary.txt +11 -0
- package/packs/dev-team/skills/launch-readiness/evals/files/2/privacy-signoff.txt +9 -0
- package/packs/dev-team/skills/launch-readiness/evals/files/2/sms-template.txt +2 -0
- package/packs/dev-team/skills/migration-plan/evals/evals.json +27 -0
- package/packs/dev-team/skills/migration-plan/evals/files/2/context.md +27 -0
- package/packs/dev-team/skills/migration-plan/evals/files/2/deferral-codes.csv +8 -0
- package/packs/dev-team/skills/migration-plan/evals/files/2/field-mapping.csv +11 -0
- package/packs/dev-team/skills/migration-plan/evals/files/2/trial-import-summary.txt +9 -0
- package/packs/dev-team/skills/pr-description-writer/evals/evals.json +27 -0
- package/packs/dev-team/skills/pr-description-writer/evals/files/4/changes.diff +64 -0
- package/packs/dev-team/skills/pr-description-writer/evals/files/4/commits.txt +2 -0
- package/packs/dev-team/skills/pre-merge-review/evals/evals.json +28 -0
- package/packs/dev-team/skills/pre-merge-review/evals/files/3/CHANGE.md +12 -0
- package/packs/dev-team/skills/pre-merge-review/evals/files/3/CONTRIBUTING.md +5 -0
- package/packs/dev-team/skills/pre-merge-review/evals/files/3/change.diff +53 -0
- package/packs/dev-team/skills/pre-merge-review/evals/files/3/clinic_dosing/__init__.py +1 -0
- package/packs/dev-team/skills/pre-merge-review/evals/files/3/clinic_dosing/dosing.py +30 -0
- package/packs/dev-team/skills/pre-merge-review/evals/files/3/clinic_dosing/drugs.py +6 -0
- package/packs/dev-team/skills/pre-merge-review/evals/files/3/tests/__init__.py +0 -0
- package/packs/dev-team/skills/pre-merge-review/evals/files/3/tests/test_dosing.py +29 -0
- package/packs/dev-team/skills/sonar-onboard/evals/evals.json +27 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/.github/workflows/ci.yml +10 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/.gitlab-ci.yml +32 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/README.md +11 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/pyproject.toml +16 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/__init__.py +1 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/_generated/__init__.py +0 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/_generated/stops_pb2.py +4 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/timetable.py +12 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/vendor/__init__.py +0 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/vendor/gtfs_lite/__init__.py +3 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/tests/test_timetable.py +14 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/web/package.json +20 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/web/src/board.test.ts +9 -0
- package/packs/dev-team/skills/sonar-onboard/evals/files/2/web/src/board.ts +8 -0
- package/packs/dev-team/skills/sonar-review/evals/evals.json +27 -0
- package/packs/dev-team/skills/sonar-review/evals/files/2/changed-files.txt +5 -0
- package/packs/dev-team/skills/sonar-review/evals/files/2/hotspots.json +7 -0
- package/packs/dev-team/skills/sonar-review/evals/files/2/issues.json +26 -0
- package/packs/dev-team/skills/sonar-review/evals/files/2/quality-gate.json +19 -0
- package/packs/dev-team/skills/tech-debt-register/evals/evals.json +28 -0
- package/packs/dev-team/skills/tech-debt-register/evals/files/4/incidents.csv +7 -0
- package/packs/dev-team/skills/tech-debt-register/evals/files/4/retro-notes.md +21 -0
- package/packs/dev-team/skills/test-plan-generator/evals/evals.json +27 -0
- package/packs/dev-team/skills/test-plan-generator/evals/files/2/permit-renewal-spec.md +40 -0
- package/packs/dev-team/skills/user-story-splitter/evals/evals.json +27 -0
- package/packs/dev-team/skills/user-story-splitter/evals/files/2/prd-shift-swap.md +38 -0
- package/packs/experience-design/skills/content-design/evals/evals.json +27 -0
- package/packs/experience-design/skills/content-design/evals/files/2/contact-centre-notes.md +18 -0
- package/packs/experience-design/skills/content-design/evals/files/2/current-page.md +17 -0
- package/packs/experience-design/skills/content-design/evals/files/2/policy-extract.md +17 -0
- package/packs/experience-design/skills/design-system-spec/evals/evals.json +27 -0
- package/packs/experience-design/skills/design-system-spec/evals/files/2/designer-notes.md +23 -0
- package/packs/experience-design/skills/design-system-spec/evals/files/2/eng-thread.md +11 -0
- package/packs/experience-design/skills/design-system-spec/evals/files/2/tokens.json +27 -0
- package/packs/experience-design/skills/information-architecture/evals/evals.json +27 -0
- package/packs/experience-design/skills/information-architecture/evals/files/2/page-inventory.csv +28 -0
- package/packs/experience-design/skills/information-architecture/evals/files/2/search-log.csv +16 -0
- package/packs/experience-design/skills/information-architecture/evals/files/2/stakeholder-notes.md +13 -0
- package/packs/experience-design/skills/service-blueprint/evals/evals.json +27 -0
- package/packs/experience-design/skills/service-blueprint/evals/files/2/complaints-summary.md +14 -0
- package/packs/experience-design/skills/service-blueprint/evals/files/2/process-notes.md +15 -0
- package/packs/experience-design/skills/service-blueprint/evals/files/2/timings.csv +5 -0
- package/packs/experience-design/skills/ux-writing/evals/evals.json +27 -0
- package/packs/experience-design/skills/ux-writing/evals/files/2/brand-notes.md +8 -0
- package/packs/experience-design/skills/ux-writing/evals/files/2/error-codes.csv +6 -0
- package/packs/experience-design/skills/ux-writing/evals/files/2/screens.md +26 -0
- package/packs/grc/skills/dpia/evals/evals.json +27 -0
- package/packs/grc/skills/dpia/evals/files/2/legal-notes.md +6 -0
- package/packs/grc/skills/dpia/evals/files/2/project-brief.md +17 -0
- package/packs/grc/skills/dpia/evals/files/2/vendor-factsheet.md +8 -0
- package/packs/grc/skills/risk-register/evals/evals.json +27 -0
- package/packs/grc/skills/risk-register/evals/files/2/committee-notes.md +8 -0
- package/packs/grc/skills/risk-register/evals/files/2/risks-draft.csv +9 -0
- package/packs/grc/skills/risk-register/evals/files/2/scoring-scale.md +12 -0
- package/packs/grc/skills/security-questionnaire-response/evals/evals.json +27 -0
- package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/business-continuity-plan.md +7 -0
- package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/information-security-policy.md +10 -0
- package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/pentest-summary-2026.md +10 -0
- package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/staff-handbook-extract.md +3 -0
- package/packs/grc/skills/security-questionnaire-response/evals/files/4/instructions.md +10 -0
- package/packs/grc/skills/security-questionnaire-response/evals/files/4/questionnaire.csv +11 -0
- package/packs/grc/skills/soc2-evidence-map/evals/evals.json +27 -0
- package/packs/grc/skills/soc2-evidence-map/evals/files/2/audit-scope.md +10 -0
- package/packs/grc/skills/soc2-evidence-map/evals/files/2/controls.csv +13 -0
- package/packs/grc/skills/soc2-evidence-map/evals/files/2/tooling-notes.md +8 -0
- package/packs/infra-as-code/skills/terraform-module/evals/evals.json +27 -0
- package/packs/infra-as-code/skills/terraform-module/evals/files/3/requirements.md +23 -0
- package/packs/infra-as-code/skills/terraform-plan-review/evals/evals.json +27 -0
- package/packs/infra-as-code/skills/terraform-plan-review/evals/files/3/plan.txt +87 -0
- package/packs/product-manager/skills/business-case/evals/evals.json +27 -0
- package/packs/product-manager/skills/business-case/evals/files/2/hollin_vale_inputs.md +46 -0
- package/packs/product-manager/skills/okr-cascade/evals/evals.json +27 -0
- package/packs/product-manager/skills/okr-cascade/evals/files/3/quillfield_2027.md +45 -0
- package/packs/product-manager/skills/prd-draft/evals/evals.json +27 -0
- package/packs/product-manager/skills/prd-draft/evals/files/2/brief.md +7 -0
- package/packs/product-manager/skills/prd-draft/evals/files/2/call_center_notes.md +7 -0
- package/packs/product-manager/skills/prd-draft/evals/files/2/meter_facts.md +6 -0
- package/packs/product-manager/skills/prfaq/evals/evals.json +26 -0
- package/packs/product-manager/skills/prfaq/evals/files/3/drone_notes.md +25 -0
- package/packs/product-manager/skills/requirements-interview/evals/evals.json +27 -0
- package/packs/product-manager/skills/requirements-interview/evals/files/2/project_brief.md +29 -0
- package/packs/product-manager/skills/strategy-analysis/evals/evals.json +27 -0
- package/packs/product-manager/skills/strategy-analysis/evals/files/4/market_notes.md +21 -0
- package/packs/product-manager/skills/success-metrics/evals/evals.json +28 -0
- package/packs/product-manager/skills/success-metrics/evals/files/3/brief.md +21 -0
- package/packs/product-manager/skills/user-journey-map/evals/evals.json +26 -0
- package/packs/product-manager/skills/user-journey-map/evals/files/3/research_notes.md +30 -0
- package/packs/research/skills/hypothesis-comparison/evals/evals.json +27 -0
- package/packs/research/skills/hypothesis-comparison/evals/files/2/season_notes.md +29 -0
- package/packs/research/skills/research-plan/evals/evals.json +28 -0
- package/packs/research/skills/research-plan/evals/files/3/request.md +19 -0
- package/packs/skill-engineering/skills/skill-author/evals/evals.json +27 -0
- package/packs/skill-engineering/skills/skill-author/evals/files/2/constraints.md +7 -0
- package/packs/skill-engineering/skills/skill-author/evals/files/2/example-discharge.md +22 -0
- package/packs/skill-engineering/skills/skill-author/evals/files/2/process.md +15 -0
- package/packs/skill-engineering/skills/skill-review/evals/evals.json +27 -0
- package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/SKILL.md +20 -0
- package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/evals/evals.json +12 -0
- package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/scripts/send_reminders.py +46 -0
- package/packs/solution-architect/skills/adr-generator/evals/evals.json +27 -0
- package/packs/solution-architect/skills/adr-generator/evals/files/2/integration-notes.md +23 -0
- package/packs/solution-architect/skills/adr-generator/evals/files/2/larchway-quote.txt +10 -0
- package/packs/solution-architect/skills/api-contract-draft/evals/evals.json +27 -0
- package/packs/solution-architect/skills/api-contract-draft/evals/files/2/booking-brief.md +18 -0
- package/packs/solution-architect/skills/api-contract-draft/evals/files/2/facilities-policy-excerpt.md +7 -0
- package/packs/solution-architect/skills/architecture-diagrams/evals/evals.json +27 -0
- package/packs/solution-architect/skills/architecture-diagrams/evals/files/2/telemetry-overview.md +23 -0
- package/packs/solution-architect/skills/data-contract/evals/evals.json +27 -0
- package/packs/solution-architect/skills/data-contract/evals/files/2/grain_deliveries.sql +15 -0
- package/packs/solution-architect/skills/data-contract/evals/files/2/publisher-notes.md +14 -0
- package/packs/solution-architect/skills/data-contract/evals/files/2/sample_rows.csv +6 -0
- package/packs/solution-architect/skills/figma-diagrams/evals/evals.json +26 -0
- package/packs/solution-architect/skills/figma-diagrams/evals/files/2/signage-file.json +373 -0
- package/packs/solution-architect/skills/nfr-spec/evals/evals.json +27 -0
- package/packs/solution-architect/skills/nfr-spec/evals/files/2/vehicle-booking-brief.md +21 -0
- package/packs/solution-architect/skills/reverse-architecture/evals/evals.json +28 -0
- package/packs/solution-architect/skills/reverse-architecture/evals/files/2/README.md +11 -0
- package/packs/solution-architect/skills/reverse-architecture/evals/files/2/docker-compose.yml +42 -0
- package/packs/solution-architect/skills/reverse-architecture/evals/files/2/env.example +3 -0
- package/packs/solution-architect/skills/reverse-architecture/evals/files/2/nginx.conf +15 -0
- package/packs/solution-architect/skills/reverse-architecture/evals/files/2/worker-requirements.txt +4 -0
- package/packs/solution-architect/skills/threat-model/evals/evals.json +28 -0
- package/packs/solution-architect/skills/threat-model/evals/files/2/permits-design.md +23 -0
- package/packs/sre-oncall/skills/capacity-cost-model/evals/evals.json +28 -0
- package/packs/sre-oncall/skills/capacity-cost-model/evals/files/2/brief.md +22 -0
- package/packs/sre-oncall/skills/capacity-cost-model/evals/files/2/price-sheet.md +13 -0
- package/packs/sre-oncall/skills/capacity-cost-model/evals/files/2/rollout-plan.md +27 -0
- package/packs/sre-oncall/skills/cloud-cost-review/evals/evals.json +28 -0
- package/packs/sre-oncall/skills/cloud-cost-review/evals/files/3/cost-export-2026-09.csv +25 -0
- package/packs/sre-oncall/skills/cloud-cost-review/evals/files/3/notes.md +11 -0
- package/packs/sre-oncall/skills/cloud-cost-review/evals/files/3/utilisation-2026-09.csv +12 -0
- package/packs/sre-oncall/skills/delivery-metrics-report/evals/evals.json +27 -0
- package/packs/sre-oncall/skills/delivery-metrics-report/evals/files/3/deploys.csv +68 -0
- package/packs/sre-oncall/skills/delivery-metrics-report/evals/files/3/incidents.csv +7 -0
- package/packs/sre-oncall/skills/delivery-metrics-report/evals/files/3/prs.csv +46 -0
- package/packs/sre-oncall/skills/incident-comms/evals/evals.json +27 -0
- package/packs/sre-oncall/skills/incident-comms/evals/files/2/comms-rules.md +6 -0
- package/packs/sre-oncall/skills/incident-comms/evals/files/2/incident-channel.txt +17 -0
- package/packs/sre-oncall/skills/incident-comms/evals/files/2/last-status-update.md +5 -0
- package/packs/sre-oncall/skills/observability-plan/evals/evals.json +27 -0
- package/packs/sre-oncall/skills/observability-plan/evals/files/2/constraints.md +9 -0
- package/packs/sre-oncall/skills/observability-plan/evals/files/2/current-alerts.csv +10 -0
- package/packs/sre-oncall/skills/observability-plan/evals/files/2/service-overview.md +27 -0
- package/packs/sre-oncall/skills/runbook-generator/evals/evals.json +27 -0
- package/packs/sre-oncall/skills/runbook-generator/evals/files/2/deploy.sh +14 -0
- package/packs/sre-oncall/skills/runbook-generator/evals/files/2/handover-chat.txt +8 -0
- package/packs/sre-oncall/skills/runbook-generator/evals/files/2/service-notes.md +26 -0
- package/packs/sre-oncall/skills/runbook-generator/evals/files/2/standing-order.md +3 -0
- package/packs/stakeholder-comms/skills/audience-profile/evals/evals.json +26 -0
- package/packs/stakeholder-comms/skills/decision-log/evals/evals.json +26 -0
- package/packs/stakeholder-comms/skills/decision-log/evals/files/2/committee-meeting-2026-09-03.txt +23 -0
- package/packs/stakeholder-comms/skills/decision-log/evals/files/2/followup-thread.txt +6 -0
- package/packs/stakeholder-comms/skills/exec-summary/evals/evals.json +26 -0
- package/packs/stakeholder-comms/skills/exec-summary/evals/files/2/library-branches-options-paper.md +67 -0
- package/packs/trackers/skills/backlog-triage/evals/evals.json +27 -0
- package/packs/trackers/skills/backlog-triage/evals/files/3/parks-backlog.csv +19 -0
- package/packs/trackers/skills/team-status-report/evals/evals.json +28 -0
- package/packs/trackers/skills/team-status-report/evals/files/3/larkspur-week-42.csv +15 -0
- package/packs/trackers/skills/tracker-brief-sync/evals/evals.json +28 -0
- package/packs/trackers/skills/tracker-brief-sync/evals/files/3/brief-home-delivery.md +44 -0
- package/packs/dev-team/skills/devils-advocate/templates/challenge.md +0 -118
|
@@ -1,40 +1,52 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: devils-advocate
|
|
3
|
-
description: Adversarial reviewer of just-written code and tests.
|
|
3
|
+
description: Adversarial reviewer of just-written code and tests. Finds what will break, checks each finding against the code before reporting it, and says whether the cited tests could have caught each bug and, if not, why they passed. Delegate to it right after a feature is declared "done", before opening a PR or merging.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
5
|
model: inherit
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
You are a senior engineer in code review whose
|
|
8
|
+
You are a senior engineer in code review whose job is to find what the implementation missed.
|
|
9
9
|
|
|
10
|
-
You review **the change, not the repo
|
|
10
|
+
You review **the change, not the repo**: the just-written diff, the files the user points at,
|
|
11
|
+
or `git diff` of the working tree, with the tests that came with it.
|
|
11
12
|
|
|
12
|
-
##
|
|
13
|
+
## The rule
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
**A green test is not evidence until you've said why it would have failed with the bug.** For
|
|
16
|
+
each bug you find, say whether the tests or the run the author cites could have caught it. If
|
|
17
|
+
not, say why it passed (a fixture that dodges the bug, an empty local table, one run where the
|
|
18
|
+
bug needs two, one bug masking another) and name the test that would fail today.
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
**Report only what survives checking.** Trace each finding through the code and any stated
|
|
21
|
+
business rule before reporting it. Does a guard already handle it? Is the query parameterised?
|
|
22
|
+
Does your fix do what you say? Drop what doesn't survive.
|
|
23
|
+
|
|
24
|
+
## What you look for
|
|
25
|
+
|
|
26
|
+
Wrong results, data loss, security holes (authz, injection, secrets, SSRF), behaviour that
|
|
27
|
+
differs on real data from the dev setup, retries, idempotency, concurrency, resource leaks,
|
|
28
|
+
then fragility that will break on the next requirement.
|
|
20
29
|
|
|
21
30
|
## How you report
|
|
22
31
|
|
|
23
|
-
- Lead with
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
|
|
32
|
+
- Lead with the answer: safe to merge or not, and the worst problem in one sentence.
|
|
33
|
+
- Findings most consequential first, each with `file:line`, one concrete failing scenario, and
|
|
34
|
+
a fix, as code when it is small.
|
|
35
|
+
- Say what the cited tests prove, and name the missing tests as scenarios.
|
|
36
|
+
- Respect the scope you were given ("top 3", "skip the nits", "just security"). No severity
|
|
37
|
+
counts or praise sections unless asked.
|
|
38
|
+
- When the caller needs severity to gate a merge, tag each finding blocker (wrong result, data
|
|
39
|
+
loss or security hole: do not merge), major (real bug under realistic conditions), minor
|
|
40
|
+
(fragile) or nit (style).
|
|
31
41
|
|
|
32
42
|
## Rules
|
|
33
43
|
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
- ❌ Don't invent findings to hit a count. Zero
|
|
44
|
+
- ❌ Invent nothing about the codebase: no row counts, traffic, run times or column contents
|
|
45
|
+
you weren't shown. Say what to check instead.
|
|
46
|
+
- ❌ Don't invent findings to hit a count. Zero problems is a valid result.
|
|
37
47
|
- ❌ Don't rewrite the whole thing. You point; the author fixes.
|
|
38
|
-
- ❌ Not a substitute for human review — this is a pre-pass
|
|
48
|
+
- ❌ Not a substitute for human review — this is a pre-pass.
|
|
39
49
|
|
|
40
|
-
This is the bug-and-gap reviewer. For craft and maintainability (naming, structure,
|
|
50
|
+
This is the bug-and-gap reviewer. For craft and maintainability (naming, structure,
|
|
51
|
+
duplication, readability) delegate to the **code-quality** agent instead, so neither review
|
|
52
|
+
dilutes the other.
|
package/bin/skilldrop.js
CHANGED
|
@@ -484,15 +484,20 @@ function scanSkill(cat, s) {
|
|
|
484
484
|
let body = "";
|
|
485
485
|
try { body = fs.readFileSync(file, "utf8"); } catch (e) { continue; }
|
|
486
486
|
const rules = isScript ? SCRIPT_RULES : PROSE_RULES;
|
|
487
|
+
// Eval fixtures are benchmark input: a sample repo, a risky script for a reviewer to catch.
|
|
488
|
+
// The skill never runs or follows them, so they are listed, not raised.
|
|
489
|
+
const fixture = rel.split(path.sep).join("/").startsWith("evals/files/");
|
|
487
490
|
body.split(/\r?\n/).forEach((line, i) => {
|
|
488
491
|
if (line.length > 400) return; // minified/data line — not reviewable prose or code
|
|
489
492
|
for (const r of rules) {
|
|
490
493
|
if (r.re.test(line))
|
|
491
|
-
findings.push({ sev:
|
|
494
|
+
findings.push({ sev: fixture ? "⚪" : r.sev, id: r.id, fixture,
|
|
495
|
+
why: fixture ? `in an eval fixture, which the skill never runs: ${r.why}` : r.why,
|
|
496
|
+
owasp: r.owasp, file: rel, line: i + 1, text: line.trim().slice(0, 120) });
|
|
492
497
|
}
|
|
493
498
|
});
|
|
494
499
|
}
|
|
495
|
-
findings.push(...permissionGaps(cat, s, findings));
|
|
500
|
+
findings.push(...permissionGaps(cat, s, findings.filter((f) => !f.fixture)));
|
|
496
501
|
const order = { "🟥": 0, "🟧": 1, "🟨": 2, "⚪": 3 };
|
|
497
502
|
return findings.sort((a, b) => order[a.sev] - order[b.sev]);
|
|
498
503
|
}
|
|
@@ -1004,9 +1009,17 @@ function expandNames(args, cat) {
|
|
|
1004
1009
|
return args._.slice();
|
|
1005
1010
|
}
|
|
1006
1011
|
|
|
1012
|
+
/* A skill's evals/ (acceptance checks and their input files) are how the catalogue measures the
|
|
1013
|
+
skill, not part of what the agent reads, so an install leaves them out. Some fixtures are bait
|
|
1014
|
+
on purpose, such as a script that reads credentials for a reviewer to catch. */
|
|
1015
|
+
const NOT_INSTALLED = "evals";
|
|
1016
|
+
const installed = (rel) => rel.split("/")[0] !== NOT_INSTALLED;
|
|
1017
|
+
|
|
1007
1018
|
function copyOne(cat, s, dest, ide, l, notes) {
|
|
1008
1019
|
const m = manifestOf(cat, s);
|
|
1009
|
-
|
|
1020
|
+
const src = skillDir(cat, s);
|
|
1021
|
+
fs.cpSync(src, path.join(dest, s), { recursive: true,
|
|
1022
|
+
filter: (f) => installed(path.relative(src, f).split(path.sep).join("/")) });
|
|
1010
1023
|
const note = writeWiring(ide, dest, s, m.description);
|
|
1011
1024
|
if (note && notes) notes.push(note);
|
|
1012
1025
|
l.data[s] = { version: m.version, source: cat.source, files: fileHashes(skillDir(cat, s)) };
|
|
@@ -1023,6 +1036,7 @@ function fileHashes(dir) {
|
|
|
1023
1036
|
(function walk(d, rel) {
|
|
1024
1037
|
for (const e of fs.readdirSync(d, { withFileTypes: true })) {
|
|
1025
1038
|
const r = rel ? `${rel}/${e.name}` : e.name;
|
|
1039
|
+
if (!installed(r)) continue;
|
|
1026
1040
|
if (e.isDirectory()) walk(path.join(d, e.name), r);
|
|
1027
1041
|
else if (e.isFile() && !e.name.endsWith(".upstream")) out[r] = sha256(fs.readFileSync(path.join(d, e.name)));
|
|
1028
1042
|
}
|
|
@@ -1313,7 +1327,7 @@ function installedRows(flags) {
|
|
|
1313
1327
|
if (current === lver(entry) && typeof entry === "object" && entry.files) {
|
|
1314
1328
|
const now = unitHashes(cat, s, loop);
|
|
1315
1329
|
changed = [...new Set([...Object.keys(now), ...Object.keys(entry.files)])]
|
|
1316
|
-
.filter((f) => now[f] !== entry.files[f]).sort();
|
|
1330
|
+
.filter((f) => installed(f) && now[f] !== entry.files[f]).sort();
|
|
1317
1331
|
}
|
|
1318
1332
|
}
|
|
1319
1333
|
} catch (e) { /* unreachable source: current stays null */ }
|
package/catalogue.json
CHANGED
|
@@ -184,8 +184,9 @@
|
|
|
184
184
|
},
|
|
185
185
|
"apply-for-a-job": {
|
|
186
186
|
"for": "Anyone applying for a job, in any field",
|
|
187
|
-
"description": "
|
|
187
|
+
"description": "Choose which of an employer's roles to go for, then prepare one application that is tailored and true: an honest fit check against the posting, a resume reworked without adding a claim, a cover letter built only from what you supplied, and the application form's answers drafted from your resume.",
|
|
188
188
|
"skills": [
|
|
189
|
+
"role-shortlist",
|
|
189
190
|
"job-fit-analysis",
|
|
190
191
|
"resume-tailor",
|
|
191
192
|
"cover-letter",
|