skilldrop-cli 0.16.19 → 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/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/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
|
@@ -11,6 +11,33 @@
|
|
|
11
11
|
"Findings are grouped into the lenses (bugs, vulnerabilities, security hotspots, code smells, coverage/duplication)",
|
|
12
12
|
"Server vs cloud is auto-detected from sonar-project.properties rather than assumed"
|
|
13
13
|
]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"id": 2,
|
|
17
|
+
"held_out": "2026-10-18",
|
|
18
|
+
"prompt": "Will my branch pass the quality gate? I can't run the scanner here: there's no Sonar token in this environment and no network. CI saved the last scan's output into this folder: quality-gate.json, issues.json, hotspots.json, and changed-files.txt (my branch's files against main). Locally pytest-cov says 85% coverage, so I think we're fine. Give me something I can paste into the PR description, under 300 words.",
|
|
19
|
+
"assertions": [
|
|
20
|
+
"Reports that the gate fails, taking the verdict from the status in quality-gate.json, and names at least the new-code coverage condition (61.3% against 80%) and the unreviewed security hotspot condition",
|
|
21
|
+
"Explains that the local 85% figure does not change the result: the gate measured 61.3% coverage on new code",
|
|
22
|
+
"Keeps the findings to the changed files: the blocker SQL-injection issue in legacy/ledger_import.py and the issue in intake/weighbridge.py are not presented as findings for this branch (they may be noted separately as pre-existing)",
|
|
23
|
+
"Does not list the issue resolved as a false positive (python:S1192 in intake/payments.py) as an open finding",
|
|
24
|
+
"Notes that the scan analysed revision 7f3c2e1 while the branch head is 9a41d07, whose commit message suggests the float-comparison bug was fixed after the scan, so the results may be out of date",
|
|
25
|
+
"Does not invent issues, rule IDs, line numbers or metric values that are not in the supplied files, and does not claim to have run a new scan",
|
|
26
|
+
"Stays under 300 words"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": 3,
|
|
31
|
+
"held_out": "2026-10-18",
|
|
32
|
+
"prompt": "Our contractor says the Sonar check 'went red' on their pull request and they're fixing it. I'm the project manager, not a developer. This is what I can see on the screen: 'Quality Gate failed. 2 conditions failed: Coverage on New Code 54.0% (required >= 80.0%), Duplicated Lines on New Code 6.1% (required <= 3.0%). 0 new bugs, 0 new vulnerabilities, 4 new code smells.' Is this serious? Should I hold Friday's release? Three sentences max.",
|
|
33
|
+
"assertions": [
|
|
34
|
+
"Gives a clear recommendation for Friday: this change should not go out until the gate passes, unless someone decides on purpose to accept the risk",
|
|
35
|
+
"Explains in plain words that the failures are about too little testing of the new code and too much copied code, and that no new bugs or security problems were reported",
|
|
36
|
+
"Does not describe the result as a security or data-loss problem",
|
|
37
|
+
"Does not invent files, rule IDs, specific issues or figures beyond the text on the screen, and does not claim to have run a scan",
|
|
38
|
+
"Uses at most three sentences",
|
|
39
|
+
"Answers without first asking for access, a token or more information"
|
|
40
|
+
]
|
|
14
41
|
}
|
|
15
42
|
]
|
|
16
43
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hotspots": [
|
|
3
|
+
{"key": "HSa01", "ruleKey": "python:S4790", "securityCategory": "weak-cryptography", "vulnerabilityProbability": "LOW",
|
|
4
|
+
"status": "TO_REVIEW", "component": "brookmere-intake:intake/api.py", "line": 41,
|
|
5
|
+
"message": "Make sure this weak hash algorithm is not used in a sensitive context here."}
|
|
6
|
+
]
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"total": 7,
|
|
3
|
+
"issues": [
|
|
4
|
+
{"key": "AZx01", "rule": "python:S1244", "severity": "MAJOR", "type": "BUG", "status": "OPEN",
|
|
5
|
+
"component": "brookmere-intake:intake/payments.py", "line": 88,
|
|
6
|
+
"message": "Do not perform equality checks with floating point values."},
|
|
7
|
+
{"key": "AZx02", "rule": "python:S3776", "severity": "CRITICAL", "type": "CODE_SMELL", "status": "OPEN",
|
|
8
|
+
"component": "brookmere-intake:intake/payments.py", "line": 52,
|
|
9
|
+
"message": "Refactor this function to reduce its Cognitive Complexity from 23 to the 15 allowed."},
|
|
10
|
+
{"key": "AZx03", "rule": "python:S1192", "severity": "MINOR", "type": "CODE_SMELL", "status": "RESOLVED", "resolution": "FALSE-POSITIVE",
|
|
11
|
+
"component": "brookmere-intake:intake/payments.py", "line": 120,
|
|
12
|
+
"message": "Define a constant instead of duplicating this literal \"litres\" 4 times."},
|
|
13
|
+
{"key": "AZx04", "rule": "python:S1481", "severity": "MINOR", "type": "CODE_SMELL", "status": "OPEN",
|
|
14
|
+
"component": "brookmere-intake:intake/api.py", "line": 17,
|
|
15
|
+
"message": "Remove the unused local variable \"farm_ref\"."},
|
|
16
|
+
{"key": "AZx05", "rule": "python:S5754", "severity": "CRITICAL", "type": "CODE_SMELL", "status": "OPEN",
|
|
17
|
+
"component": "brookmere-intake:tests/test_payments.py", "line": 30,
|
|
18
|
+
"message": "Specify an exception class to catch or reraise the exception"},
|
|
19
|
+
{"key": "AZx06", "rule": "python:S3649", "severity": "BLOCKER", "type": "VULNERABILITY", "status": "OPEN",
|
|
20
|
+
"component": "brookmere-intake:legacy/ledger_import.py", "line": 204,
|
|
21
|
+
"message": "Change this code to not construct SQL queries directly from user-controlled data."},
|
|
22
|
+
{"key": "AZx07", "rule": "python:S1481", "severity": "MINOR", "type": "CODE_SMELL", "status": "OPEN",
|
|
23
|
+
"component": "brookmere-intake:intake/weighbridge.py", "line": 12,
|
|
24
|
+
"message": "Remove the unused local variable \"tare\"."}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"analysis": {
|
|
3
|
+
"project": "brookmere-intake",
|
|
4
|
+
"branch": "feature/litre-rounding",
|
|
5
|
+
"revision": "7f3c2e1",
|
|
6
|
+
"date": "2026-10-16T14:02:11Z"
|
|
7
|
+
},
|
|
8
|
+
"projectStatus": {
|
|
9
|
+
"status": "ERROR",
|
|
10
|
+
"conditions": [
|
|
11
|
+
{"status": "ERROR", "metricKey": "new_coverage", "comparator": "LT", "errorThreshold": "80", "actualValue": "61.3"},
|
|
12
|
+
{"status": "ERROR", "metricKey": "new_security_hotspots_reviewed", "comparator": "LT", "errorThreshold": "100", "actualValue": "0.0"},
|
|
13
|
+
{"status": "ERROR", "metricKey": "new_reliability_rating", "comparator": "GT", "errorThreshold": "1", "actualValue": "3"},
|
|
14
|
+
{"status": "OK", "metricKey": "new_security_rating", "comparator": "GT", "errorThreshold": "1", "actualValue": "1"},
|
|
15
|
+
{"status": "OK", "metricKey": "new_maintainability_rating", "comparator": "GT", "errorThreshold": "1", "actualValue": "1"},
|
|
16
|
+
{"status": "OK", "metricKey": "new_duplicated_lines_density", "comparator": "GT", "errorThreshold": "3", "actualValue": "1.2"}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -40,6 +40,34 @@
|
|
|
40
40
|
"It adds no debt items beyond the four the user listed",
|
|
41
41
|
"Owners are unassigned"
|
|
42
42
|
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": 4,
|
|
46
|
+
"held_out": "2026-10-18",
|
|
47
|
+
"prompt": "I lead the warehouse systems team at Kestrel Freight. Our Q3 retro debt notes are in retro-notes.md and the incident log is incidents.csv. We've been given 3 engineer-weeks of debt time this quarter. Build the debt register and tell me what we should spend those 3 weeks on. I'm taking it to the operations director, so one page.",
|
|
48
|
+
"assertions": [
|
|
49
|
+
"Puts the scanner TLS certificate renewal among this quarter's work, citing the 2026-12-01 expiry and that the person who renewed it has left with no known notes",
|
|
50
|
+
"Treats the stock-sync notes (Marta's and Ines's split-pallet complaints) as one item",
|
|
51
|
+
"Recommends the roughly 3-day split-pallet patch rather than the two-person, full-quarter sync rewrite for this quarter, because the rewrite does not fit 3 engineer-weeks, and the items picked for the quarter fit within the 3 weeks",
|
|
52
|
+
"Flags at least one disagreement between the notes and the incident log, such as the claimed 40 engineer-hours on sync failures against 5 logged hours, or the label printer crashing 'every week' against two logged incidents, instead of silently using one figure",
|
|
53
|
+
"Does not recommend the Perl reporting rewrite for this quarter, since the notes give no evidence of what it costs today",
|
|
54
|
+
"Does not invent costs, hours, incident counts, owners or dates beyond those in the two files",
|
|
55
|
+
"Fits about one page"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": 5,
|
|
60
|
+
"held_out": "2026-10-18",
|
|
61
|
+
"prompt": "I own a small bakery. My nephew built our online ordering site years ago. The new freelancer says it's 'full of tech debt' and sent me this list: PHP 5 site, no backups of the order database, customer passwords stored in plain text, copy-pasted code everywhere, no tests. She wants two weeks to fix it. What actually matters? Just a short list I can understand.",
|
|
62
|
+
"assertions": [
|
|
63
|
+
"Puts the missing database backups and the plain-text passwords at the top, saying in plain words what could go wrong for the bakery",
|
|
64
|
+
"Does not rank the copied code or the missing tests above those two",
|
|
65
|
+
"Treats the old PHP version as a real risk because it no longer gets security fixes, without inventing a specific vulnerability or attack",
|
|
66
|
+
"Does not invent costs, hours, incidents or customer numbers that are not in the message",
|
|
67
|
+
"Says what the two weeks should go on first, rather than only listing the items",
|
|
68
|
+
"Is a short list in plain language, without unexplained jargon",
|
|
69
|
+
"Answers without first asking questions"
|
|
70
|
+
]
|
|
43
71
|
}
|
|
44
72
|
]
|
|
45
73
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
id,date,system,summary,duration_hours,owner
|
|
2
|
+
WH-201,2026-07-08,label-print,Label print service hung; restarted,0.5,Tomas
|
|
3
|
+
WH-207,2026-07-29,putaway,Deploy broke putaway location rules; rolled back,3,Ines
|
|
4
|
+
WH-214,2026-08-19,stock-sync,Split-pallet rows missing from ledger; manual fix,2,
|
|
5
|
+
WH-219,2026-09-02,label-print,Label print service hung; restarted,0.5,Tomas
|
|
6
|
+
WH-223,2026-09-16,putaway,Deploy broke putaway for cold-store zone; rolled back,4,Ines
|
|
7
|
+
WH-226,2026-09-24,stock-sync,Split-pallet rows missing from ledger; manual fix,3,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Warehouse Systems, Q3 retro: debt column (raw, as written on the board)
|
|
2
|
+
|
|
3
|
+
Team: Kestrel Freight warehouse systems, Hollins depot. Five engineers.
|
|
4
|
+
|
|
5
|
+
- (Marta) The nightly stock sync between the WMS and the finance ledger drops rows when a pallet is
|
|
6
|
+
split. Finance reconciles by hand every Monday. Oleksandr in finance says it takes him about half
|
|
7
|
+
a day each week.
|
|
8
|
+
- (Ines) Monday reconciliation is painful because the sync misses split pallets. Can we fix the
|
|
9
|
+
sync?
|
|
10
|
+
- (Tomas) Sync failures cost us about 40 engineer-hours this quarter.
|
|
11
|
+
- (Marta) Doing the stock sync properly (rewrite on the new event feed) is a big job: two people
|
|
12
|
+
for a full quarter. A targeted patch for split pallets only is about 3 days.
|
|
13
|
+
- (Dev) The old Perl reporting scripts are horrible. Nobody wants to touch them. We should rewrite
|
|
14
|
+
them in Python.
|
|
15
|
+
- (Tomas) The label printing service crashes every week and we restart it by hand.
|
|
16
|
+
- (Marta) The handheld scanners talk to the WMS API through a TLS certificate that Raj used to renew
|
|
17
|
+
by hand. Raj left in August and nobody knows where his renewal notes are. The gateway shows the
|
|
18
|
+
certificate expires on 2026-12-01. If it lapses, every scanner on the floor stops.
|
|
19
|
+
- (Dev) The WMS adapter test suite takes 50 minutes, so people skip it before deploys.
|
|
20
|
+
- (Ines) Both putaway incidents this quarter came from deploys where the tests were skipped.
|
|
21
|
+
- (Ines) Speeding the adapter tests up to under 10 minutes: Dev thinks about a week of work.
|
|
@@ -11,6 +11,33 @@
|
|
|
11
11
|
"Each test is pushed to the lowest pyramid level that would catch the failure",
|
|
12
12
|
"Out-of-scope areas are named rather than silently skipped"
|
|
13
13
|
]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"id": 2,
|
|
17
|
+
"held_out": "2026-10-18",
|
|
18
|
+
"prompt": "Write the test plan for the parking permit renewal release described in permit-renewal-spec.md. QA starts on Monday. Two pages at most.",
|
|
19
|
+
"assertions": [
|
|
20
|
+
"Flags that the low-emission price conflicts (50% off £120 is £60, but the price table says £65) as something to settle before testing, rather than silently picking one as the expected result",
|
|
21
|
+
"Flags that the spec promises seven acceptance criteria but lists six, with AC5 missing",
|
|
22
|
+
"Every acceptance criterion in the spec is covered by at least one test or explicitly listed as not covered",
|
|
23
|
+
"Includes tests on both sides of each boundary: 30 days before expiry, 60 days after expiry, and 50 g/km of CO2",
|
|
24
|
+
"Uses the vehicle register stub for testing and lists the live register lookup as not tested, rather than planning tests against the live service",
|
|
25
|
+
"Does not invent a load target such as requests per second or concurrent users for the January rush; it says the figure is needed from Parking Services",
|
|
26
|
+
"Fits about two pages"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": 3,
|
|
31
|
+
"held_out": "2026-10-18",
|
|
32
|
+
"prompt": "I'm a teacher. I made a spreadsheet that works out final grades: homework is 40%, the exam is 60%, and a student who missed the exam gets 'INC'. A colleague said I should test it before I send grades home. What should I check? Just a checklist, 10 items max.",
|
|
33
|
+
"assertions": [
|
|
34
|
+
"Includes a check for a student with no exam score (expecting INC) and a check for a student with an exam score but missing homework",
|
|
35
|
+
"Includes at least one worked example with numbers and the expected result from the 40/60 weighting (for example homework 80 and exam 90 gives 86)",
|
|
36
|
+
"Includes checks for entry mistakes such as a score above 100, or a blank cell treated as zero",
|
|
37
|
+
"Does not invent letter-grade cut-offs, rounding rules or other rules the teacher did not state; if they matter, it asks the teacher to fill them in",
|
|
38
|
+
"Has no more than 10 items, written in spreadsheet terms a non-programmer understands",
|
|
39
|
+
"Delivers the checklist without first asking questions"
|
|
40
|
+
]
|
|
14
41
|
}
|
|
15
42
|
]
|
|
16
43
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Online resident parking permit renewal: low-emission discount
|
|
2
|
+
|
|
3
|
+
Riverton Borough Council (invented), Parking Services. Status: approved for build, release planned
|
|
4
|
+
for 1 December, before the January renewal rush.
|
|
5
|
+
|
|
6
|
+
## Background
|
|
7
|
+
|
|
8
|
+
Residents renew their parking permit online each year. From this release, permits for low-emission
|
|
9
|
+
vehicles get a 50% discount on the standard annual price of £120. Emissions are looked up from the
|
|
10
|
+
national vehicle register using the registration number the resident enters.
|
|
11
|
+
|
|
12
|
+
## Acceptance criteria
|
|
13
|
+
|
|
14
|
+
The seven acceptance criteria below must all pass before release.
|
|
15
|
+
|
|
16
|
+
- AC1. A resident can start a renewal from 30 days before their permit's expiry date. Before that,
|
|
17
|
+
the renew button is hidden and the page shows the date renewal opens.
|
|
18
|
+
- AC2. A permit that expired 60 days ago or less can still be renewed. A permit that expired more
|
|
19
|
+
than 60 days ago cannot be renewed; the resident is sent to the new-application form.
|
|
20
|
+
- AC3. The registration number entered is looked up on the vehicle register. If the vehicle's
|
|
21
|
+
CO2 emissions are 50 g/km or less, the low-emission price applies.
|
|
22
|
+
- AC4. If the vehicle register lookup fails or times out, the resident is charged the standard
|
|
23
|
+
price and told they can claim the discount by contacting Parking Services.
|
|
24
|
+
- AC6. The price shown on the confirmation page is the amount sent to the payment provider.
|
|
25
|
+
- AC7. A resident can hold at most one active permit per address. Renewal replaces the old permit;
|
|
26
|
+
it never creates a second one.
|
|
27
|
+
|
|
28
|
+
## Prices
|
|
29
|
+
|
|
30
|
+
| Vehicle | Annual price |
|
|
31
|
+
|--------------------|--------------|
|
|
32
|
+
| Standard | £120 |
|
|
33
|
+
| Low-emission | £65 |
|
|
34
|
+
|
|
35
|
+
## Dependencies and constraints
|
|
36
|
+
|
|
37
|
+
- Vehicle register: the test environment has a stub only. The live register cannot be called from
|
|
38
|
+
test or staging under the data-sharing agreement.
|
|
39
|
+
- Payment provider: unchanged by this release and out of scope; it is tested by the provider.
|
|
40
|
+
- Parking Services wants confidence that the site will cope with the January renewal rush.
|
|
@@ -11,6 +11,33 @@
|
|
|
11
11
|
"Dependencies between stories are stated, and a recommended build order follows from them",
|
|
12
12
|
"Stories are independently shippable rather than layered horizontally (all backend, then all frontend)"
|
|
13
13
|
]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"id": 2,
|
|
17
|
+
"held_out": "2026-10-18",
|
|
18
|
+
"prompt": "Turn the shift-swap PRD in prd-shift-swap.md into user stories for next week's planning, with acceptance criteria and the order we should build them in.",
|
|
19
|
+
"assertions": [
|
|
20
|
+
"Each story delivers something a nurse or ward manager can use, rather than a layer such as database schema, API endpoints or UI screens",
|
|
21
|
+
"Flags the conflict between 'manager approval is required for all swaps' and section 9.4 of the staff agreement (same-grade, same-ward swaps need only notification), and does not silently pick one",
|
|
22
|
+
"Notices that the PRD's worked example is wrong (40 + 12 hours is 52, which is over the 48-hour limit) and writes acceptance criteria that enforce the 48-hour rule",
|
|
23
|
+
"Any story that needs a change to the payroll export is marked as blocked until the January freeze lifts, not placed in the near-term build order",
|
|
24
|
+
"Acceptance criteria are pass/fail with specific values from the PRD, such as the 48 hours in a rolling 7 days and the grade rule",
|
|
25
|
+
"Does not invent requirements, roles or rules that are not in the PRD, and adds no mobile app stories",
|
|
26
|
+
"Has no more than eight stories"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": 3,
|
|
31
|
+
"held_out": "2026-10-18",
|
|
32
|
+
"prompt": "I coordinate volunteers for our town's food festival. We want our sign-up website to let people sign up for time slots, get reminders, and swap slots with each other. A developer friend said to send him 'user stories'. Can you write them? No more than five, as one short list I can send him.",
|
|
33
|
+
"assertions": [
|
|
34
|
+
"Splits the work into pieces a volunteer or coordinator could each try out on their own, with signing up for a slot coming before reminders and swapping",
|
|
35
|
+
"Each story has at least one concrete check for when it is done",
|
|
36
|
+
"Does not invent details the user didn't give, such as reminder channel, timing or slot limits, or marks them clearly as open questions for the developer",
|
|
37
|
+
"Gives a suggested build order with a reason",
|
|
38
|
+
"Has no more than five stories, short enough to send as one list",
|
|
39
|
+
"Delivers the list without first asking questions"
|
|
40
|
+
]
|
|
14
41
|
}
|
|
15
42
|
]
|
|
16
43
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# PRD excerpt: nurse shift swaps
|
|
2
|
+
|
|
3
|
+
St Aldric Hospital (invented), nursing workforce team. Web rostering system only; a mobile app is a
|
|
4
|
+
later project and not part of this work.
|
|
5
|
+
|
|
6
|
+
## Problem
|
|
7
|
+
|
|
8
|
+
Nurses arrange shift swaps by text message and a paper book on each ward. Managers find out late,
|
|
9
|
+
wards end up short, and nobody can tell afterwards who worked which shift.
|
|
10
|
+
|
|
11
|
+
## What we want
|
|
12
|
+
|
|
13
|
+
1. A nurse can offer one of their rostered shifts for swap, and see shifts others have offered.
|
|
14
|
+
2. A nurse can request to take an offered shift, giving one of their own shifts in exchange or
|
|
15
|
+
taking it as an extra shift.
|
|
16
|
+
3. Manager approval is required for all swaps before the roster changes.
|
|
17
|
+
4. The system blocks any swap that would take a nurse over 48 hours of work in any rolling 7-day
|
|
18
|
+
period (working-time rule). Example: a nurse on 40 hours who picks up a 12-hour shift would be
|
|
19
|
+
at 50 hours, which is allowed.
|
|
20
|
+
5. A swap is only allowed between nurses of the same grade, or from a higher grade to cover a lower
|
|
21
|
+
one; never a lower grade covering a higher one.
|
|
22
|
+
6. When a swap is approved, both nurses and the ward manager get a notification in the rostering
|
|
23
|
+
system.
|
|
24
|
+
7. Extra shifts picked up through swaps are paid as overtime, and the overtime should flow
|
|
25
|
+
automatically into the payroll export.
|
|
26
|
+
8. Every swap (offered, requested, approved, rejected) is kept in an audit history that the ward
|
|
27
|
+
manager can view.
|
|
28
|
+
|
|
29
|
+
## Extract from the staff agreement (section 9.4)
|
|
30
|
+
|
|
31
|
+
"Swaps between nurses of the same grade working on the same ward do not require manager approval.
|
|
32
|
+
The ward manager must be notified of the swap before the first affected shift starts."
|
|
33
|
+
|
|
34
|
+
## Constraints
|
|
35
|
+
|
|
36
|
+
- The payroll export is frozen until January while payroll moves supplier. No changes to the export
|
|
37
|
+
this quarter.
|
|
38
|
+
- Two developers. Planning wants the backlog in stories, no more than eight.
|
|
@@ -13,6 +13,33 @@
|
|
|
13
13
|
"The cut list includes the 'market-leading service' and 'industry accolades' sentence with a reason",
|
|
14
14
|
"Does not invent a phone number, URL, excess amount or other fact not in the prompt; unknowns are placeholders listed as open questions"
|
|
15
15
|
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": 2,
|
|
19
|
+
"held_out": "2026-10-18",
|
|
20
|
+
"prompt": "Rewrite our Hardship Payment Plan page for Waterfold Water. The current page is in current-page.md. The policy it's meant to describe is policy-extract.md, and what customers actually ask us is in contact-centre-notes.md, along with some requests from our Comms manager. Give me the rewritten page ready to paste into the CMS, plus a short note of anything you changed on purpose or couldn't resolve.",
|
|
21
|
+
"assertions": [
|
|
22
|
+
"Uses the current policy's facts (income below £21,000, up to 24 months, 2 months of bank statements OR proof of benefit, no bill needed, decision within 10 working days) rather than the old page's figures, and notes that the old page disagreed with the policy",
|
|
23
|
+
"Does not carry over the '£900 over 12 months = £100 a month' example uncorrected; either flags that it doesn't add up or replaces it with a correct example",
|
|
24
|
+
"Does not promise a decision within 48 hours; keeps the policy's 10 working days and says why the Comms request was not followed",
|
|
25
|
+
"The page answers the callers' frequent questions in the reader's words, including that reminder letters and debt collection stop while the application is considered and what happens if payments are missed (two in a row, with 14 days' notice)",
|
|
26
|
+
"The rewritten page body is under 350 words",
|
|
27
|
+
"Does not invent a phone number, URL, approval rate or any other fact not in the files; the phone number and form link are left as clear placeholders",
|
|
28
|
+
"Delivers the finished page rather than stopping to ask questions first"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": 3,
|
|
33
|
+
"held_out": "2026-10-18",
|
|
34
|
+
"prompt": "hi, i run a small vet clinic. our 'before your pet's operation' sheet is a wall of text and people still feed their dogs the morning of surgery!! can you make it simple? half a page max, it gets printed. here's what it says now: 'Patients must be NPO from midnight prior to the procedure. Food must be withheld after 10pm the evening before. Water may be offered until 7am. Admission is between 8:00 and 8:30am. Owners should bring any current medication. Pre-anaesthetic bloods may be performed on admission. Owners will be telephoned after 2pm regarding discharge.'",
|
|
35
|
+
"assertions": [
|
|
36
|
+
"The no-food instruction is the most prominent thing on the sheet, since that is the problem the owner described",
|
|
37
|
+
"Notices that 'NPO from midnight' and 'no food after 10pm' disagree, and either uses one with a stated reason or asks the clinic to confirm, rather than silently picking one",
|
|
38
|
+
"Keeps the other facts: water until 7am, drop-off between 8:00 and 8:30am, bring current medication, possible blood test on arrival, and a call after 2pm about going home",
|
|
39
|
+
"Replaces jargon like 'NPO' and 'pre-anaesthetic bloods' with words a pet owner understands",
|
|
40
|
+
"Does not invent facts not given, such as different rules for cats, fasting for medication, prices or a phone number",
|
|
41
|
+
"Fits in half a printed page (roughly 200 words or fewer)"
|
|
42
|
+
]
|
|
16
43
|
}
|
|
17
44
|
]
|
|
18
45
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Notes from the Contact Centre Lead and the Comms team
|
|
2
|
+
|
|
3
|
+
Why people call us about the hardship page (sample of 400 calls, August 2026):
|
|
4
|
+
|
|
5
|
+
| Reason for call | Share |
|
|
6
|
+
|---|---|
|
|
7
|
+
| "Am I eligible?" | 38% |
|
|
8
|
+
| "What do I need to send?" | 27% |
|
|
9
|
+
| "Will you keep chasing me / sending letters while you decide?" | 18% |
|
|
10
|
+
| "How much will I pay each month?" | 11% |
|
|
11
|
+
| Other | 6% |
|
|
12
|
+
|
|
13
|
+
Lots of callers have already received a reminder letter and are anxious. Many read the page on a phone.
|
|
14
|
+
|
|
15
|
+
From the Comms manager:
|
|
16
|
+
- "Can we say decisions are made within 48 hours? It sounds much more reassuring."
|
|
17
|
+
- "Please keep the page body under 350 words. The CMS template cuts off anything after that."
|
|
18
|
+
- "Add the phone number and the link to the online form." (We'll supply both later; don't hold the draft for them.)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Hardship Payment Plan
|
|
2
|
+
|
|
3
|
+
Waterfold Water is proud to be ranked among the region's most trusted utilities, and we are committed to supporting every customer through difficult times.
|
|
4
|
+
|
|
5
|
+
Customers who are experiencing financial difficulty and who have accrued arrears on their water and wastewater account may, subject to eligibility criteria, be able to apply for a Hardship Payment Plan, whereby outstanding arrears are repaid in equal instalments in addition to ongoing charges.
|
|
6
|
+
|
|
7
|
+
Eligibility is restricted to households whose gross annual household income is below £18,500, or where one or more members of the household are in receipt of a qualifying means-tested benefit.
|
|
8
|
+
|
|
9
|
+
Arrears may be repaid in equal instalments over a period of up to 12 months. By way of illustration, a customer with arrears of £900 would repay the sum of £100 per month in addition to their usual charges.
|
|
10
|
+
|
|
11
|
+
In order to be considered, applicants are required to furnish three months of bank statements for all accounts held by members of the household, together with proof of receipt of any qualifying benefit, and a copy of their most recent bill.
|
|
12
|
+
|
|
13
|
+
Applications are typically processed within 5 working days of receipt of all documentation. Waterfold Water reserves the right to decline applications at its discretion.
|
|
14
|
+
|
|
15
|
+
Please be advised that a Hardship Payment Plan may be cancelled in the event of non-payment.
|
|
16
|
+
|
|
17
|
+
Waterfold Water has won the Regional Utility Customer Care Award three years running.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Waterfold Water — Customer Assistance Policy, section 4: Hardship Payment Plan
|
|
2
|
+
|
|
3
|
+
Version 3.0. Effective 1 September 2026. Supersedes version 2.2 in full.
|
|
4
|
+
|
|
5
|
+
4.1 Eligibility. A household is eligible if its gross annual household income is below £21,000, OR if any member of the household receives a qualifying means-tested benefit (Schedule B).
|
|
6
|
+
|
|
7
|
+
4.2 Term. Arrears are repaid in equal monthly instalments over up to 24 months, on top of ongoing charges.
|
|
8
|
+
|
|
9
|
+
4.3 Evidence. The applicant provides EITHER the last 2 months of bank statements for the household's main account, OR proof of a qualifying benefit. Not both. A copy of a bill is not required; we hold the account details.
|
|
10
|
+
|
|
11
|
+
4.4 Decision. A decision is issued within 10 working days of receiving the evidence.
|
|
12
|
+
|
|
13
|
+
4.5 Collection activity. All collection activity on the account (reminder letters, referral to debt collection agents) is paused from the day an application is received until the decision is issued.
|
|
14
|
+
|
|
15
|
+
4.6 Cancellation. A plan is cancelled if two consecutive monthly payments are missed. Before cancelling, we write to the customer and give 14 days to make the missed payment.
|
|
16
|
+
|
|
17
|
+
4.7 Reapplication. A customer whose plan is cancelled may reapply after 6 months.
|
|
@@ -14,6 +14,33 @@
|
|
|
14
14
|
"Every WCAG citation is a real WCAG 2.2 criterion with the correct number and name",
|
|
15
15
|
"Ends with open questions for engineering, each naming the decision it blocks"
|
|
16
16
|
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": 2,
|
|
20
|
+
"held_out": "2026-10-18",
|
|
21
|
+
"prompt": "Write the component spec for the dose stepper in our MedRound ward medication app so engineering can build it. The designer's notes are in designer-notes.md, our tokens are in tokens.json, and the open build questions are in eng-thread.md. Keep it to one Confluence page, about 1,200 words maximum.",
|
|
22
|
+
"assertions": [
|
|
23
|
+
"Flags that the error text colour #E57373 on the white surface is about 3:1 and fails the 4.5:1 text contrast requirement, despite the designer's note saying it passes, and proposes the darker error token or another fix",
|
|
24
|
+
"Flags that 20 × 20 px buttons fall below the WCAG 2.2 AA minimum target size of 24 × 24 CSS px (2.5.8), and does not present 44 px as the AA requirement",
|
|
25
|
+
"Does not use 'color.border.focus-strong' as if it exists; notes it is missing from tokens.json and points to an existing token or leaves it as an open question",
|
|
26
|
+
"Does not specify press-and-hold auto-repeat as settled behaviour; it follows the clinical safety objection (one tap, one step) or raises the disagreement as a decision to be made",
|
|
27
|
+
"States what happens at 0.5 mL and 10 mL and when someone types an out-of-range or off-step value such as 12, 0 or 2.3, answering QA's question",
|
|
28
|
+
"Does not invent usage data (such as how often nurses hit 10 mL), token values or research not in the files",
|
|
29
|
+
"Stays within about 1,200 words"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": 3,
|
|
34
|
+
"held_out": "2026-10-18",
|
|
35
|
+
"prompt": "our developer asked me to 'spec' the newsletter signup box on our garden centre website before he builds it. i'm the marketing person, i don't really know what that means lol. it's just an email box and a button that says Join. to save space i was going to put 'Your email' inside the box instead of a label above it. can you give me a short checklist he can work from? one screen max.",
|
|
36
|
+
"assertions": [
|
|
37
|
+
"Covers what happens with an invalid or empty email, while the form is sending, after a successful signup, and if sending fails",
|
|
38
|
+
"Advises against using the placeholder text as the only label, and explains why in plain terms (it disappears when typing, and screen readers and some users miss it)",
|
|
39
|
+
"Covers keyboard use and screen-reader needs, such as a programmatic label and error messages that are announced",
|
|
40
|
+
"Written plainly for a marketing person to hand to a developer, without unexplained design-system jargon",
|
|
41
|
+
"Does not invent brand colours, fonts, token names, pixel values or a privacy policy link not given; anything needed is left as something to fill in",
|
|
42
|
+
"Fits on one screen (roughly 300 words or fewer) as a checklist"
|
|
43
|
+
]
|
|
17
44
|
}
|
|
18
45
|
]
|
|
19
46
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Dose stepper — designer notes (MedRound ward medication app, tablet)
|
|
2
|
+
|
|
3
|
+
Context: nurses use MedRound on shared ward tablets to record liquid doses given at the bedside. The dose stepper replaces a free-text field that produced typing errors (e.g. "50" entered for "5.0").
|
|
4
|
+
|
|
5
|
+
Anatomy as drawn:
|
|
6
|
+
- Label above the field ("Dose (mL)")
|
|
7
|
+
- Minus button, value field, plus button, in one row
|
|
8
|
+
- Unit suffix "mL" inside the field, right-aligned
|
|
9
|
+
- Helper text below ("Prescribed: 5 mL")
|
|
10
|
+
- Error text below, replaces helper text
|
|
11
|
+
|
|
12
|
+
Behaviour as drawn:
|
|
13
|
+
- Step 0.5 mL. Minimum 0.5 mL, maximum 10 mL (the largest syringe the wards stock).
|
|
14
|
+
- Nurses can also type a value directly.
|
|
15
|
+
- Minus is disabled at the minimum, plus is disabled at the maximum.
|
|
16
|
+
- If the entered dose differs from the prescribed dose, show a warning (not an error) and require a second tap on Confirm.
|
|
17
|
+
|
|
18
|
+
Visual:
|
|
19
|
+
- Plus/minus buttons are 20 × 20 px so the row fits the narrow MAR column. WCAG only asks for 44 px at AAA so 20 px is fine for AA.
|
|
20
|
+
- Field border uses `color.border.default`; on focus use `color.border.focus-strong`.
|
|
21
|
+
- Error text uses `color.text.error` (#E57373) on the white surface — checked, passes AA.
|
|
22
|
+
- Disabled buttons use `color.icon.disabled`.
|
|
23
|
+
- Warning uses `color.text.warning`.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Thread: dose stepper build questions
|
|
2
|
+
|
|
3
|
+
**Front-end lead:** Plan is press-and-hold on plus/minus to auto-repeat, accelerating after 1 s. Nurses going from 0.5 to 10 mL would otherwise need 19 taps. I'll build that unless someone objects.
|
|
4
|
+
|
|
5
|
+
**Clinical safety officer:** Objecting. Our hazard log entry HZ-114 says dose controls must not auto-repeat: an accidental long press on a moving ward cart could jump several steps without the nurse noticing. One tap, one step. Typing is the fast path for big changes.
|
|
6
|
+
|
|
7
|
+
**Front-end lead:** Noted, but product hasn't signed that off. Leaving hold-to-repeat in the ticket for now.
|
|
8
|
+
|
|
9
|
+
**Product manager:** Can the spec also say how often nurses currently hit the 10 mL max? Would help justify the range.
|
|
10
|
+
|
|
11
|
+
**QA:** What should happen if someone types 12, or 0, or 2.3? The drawings don't say.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"color": {
|
|
3
|
+
"surface": { "default": "#FFFFFF" },
|
|
4
|
+
"text": {
|
|
5
|
+
"default": "#1B1F24",
|
|
6
|
+
"secondary": "#5E6A75",
|
|
7
|
+
"error": "#E57373",
|
|
8
|
+
"error-strong": "#C62828",
|
|
9
|
+
"warning": "#8A5A00"
|
|
10
|
+
},
|
|
11
|
+
"border": {
|
|
12
|
+
"default": "#9AA4AE",
|
|
13
|
+
"focus": "#1F6FEB",
|
|
14
|
+
"error": "#C62828"
|
|
15
|
+
},
|
|
16
|
+
"icon": {
|
|
17
|
+
"default": "#1B1F24",
|
|
18
|
+
"disabled": "#9AA4AE"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"space": { "xs": "4px", "sm": "8px", "md": "12px", "lg": "16px" },
|
|
22
|
+
"radius": { "sm": "4px", "md": "8px" },
|
|
23
|
+
"font": {
|
|
24
|
+
"body": { "size": "16px", "lineHeight": "24px" },
|
|
25
|
+
"caption": { "size": "14px", "lineHeight": "20px" }
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -14,6 +14,33 @@
|
|
|
14
14
|
"The validation plan is a tree test or card sort whose tasks do not contain the label words, each with a correct destination and a pre-set threshold",
|
|
15
15
|
"Does not invent user research, search data or content items not in the prompt; anything inferred is tagged [inferred] or [assumption]"
|
|
16
16
|
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": 2,
|
|
20
|
+
"held_out": "2026-10-18",
|
|
21
|
+
"prompt": "We're redoing the website for the Marrowby County Extension Service (we help farmers and home gardeners). Every page we have is in page-inventory.csv with monthly visits, the top search terms are in search-log.csv, and kick-off notes are in stakeholder-notes.md. Propose the new structure and navigation, and tell me what the board needs to know before they sign it off next week.",
|
|
22
|
+
"assertions": [
|
|
23
|
+
"The global navigation has no more than six items, despite the Director asking for nine, and the reply says why",
|
|
24
|
+
"Top-level labels use the words people search for (such as soil testing, pests, pesticide licence, gardening) rather than division names, and points to the search log as the reason (for example 'agronomic services' was searched 4 times)",
|
|
25
|
+
"Flags the two soil testing submission pages with different fees ($18 and $22) as a duplicate to merge, and does not pick a fee itself",
|
|
26
|
+
"Corrects or flags the claim that Events gets about half of all traffic; the inventory puts it near 10%",
|
|
27
|
+
"Every page in the inventory has a place in the new structure or is explicitly marked as merged or removed with a reason",
|
|
28
|
+
"Does not claim the structure has been tested with farmers or invent test results; tells the board that no testing has been done and what testing would show",
|
|
29
|
+
"Does not invent pages, sections or traffic figures not in the files"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": 3,
|
|
34
|
+
"held_out": "2026-10-18",
|
|
35
|
+
"prompt": "hi! i run a small dance school and parents always say they cant find the timetable or the prices on our website. pages we have: Home, About Us, Our Teachers, Classes, Lessons, Timetable, Fees, Term Dates, Uniform Shop (goes to the supplier's site), Shows & Exams, Gallery, News, Policies, Contact. classes and lessons are kind of the same thing tbh. just give me the menu, no essay please",
|
|
36
|
+
"assertions": [
|
|
37
|
+
"Timetable and fees can each be reached directly from the top-level menu, or one obvious step from it",
|
|
38
|
+
"Merges or explains what to do with 'Classes' and 'Lessons' instead of keeping both as separate menu items",
|
|
39
|
+
"Every page listed has a place in the menu or is explicitly dropped or moved to the footer",
|
|
40
|
+
"Labels are in the words parents use (for example 'Prices' or 'Fees', not internal or design jargon)",
|
|
41
|
+
"Does not invent pages or features the school didn't list, beyond suggesting merges",
|
|
42
|
+
"Returns the menu itself with at most a few lines of explanation, as asked"
|
|
43
|
+
]
|
|
17
44
|
}
|
|
18
45
|
]
|
|
19
46
|
}
|
package/packs/experience-design/skills/information-architecture/evals/files/2/page-inventory.csv
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
page_id,page_title,current_section,monthly_visits
|
|
2
|
+
P01,Home,—,6200
|
|
3
|
+
P02,About the Extension Service,Office of the Director,310
|
|
4
|
+
P03,Our Staff Directory,Office of the Director,540
|
|
5
|
+
P04,Annual Report 2025,Office of the Director,45
|
|
6
|
+
P05,Soil Testing Services,Division of Agronomic Services,2900
|
|
7
|
+
P06,Soil Sample Submission (fee: $18 per sample),Division of Agronomic Services,1450
|
|
8
|
+
P07,Soil and Plant Lab — Sample Testing (fee: $22 per sample),Laboratory Services Unit,1100
|
|
9
|
+
P08,Crop Pest Identification,Division of Agronomic Services,2400
|
|
10
|
+
P09,Plant Disease Diagnostics,Laboratory Services Unit,980
|
|
11
|
+
P10,Pesticide Applicator Licensing,Division of Regulatory Programs,1750
|
|
12
|
+
P11,Pesticide Recertification Credits,Division of Regulatory Programs,820
|
|
13
|
+
P12,Livestock Health Bulletins,Division of Animal Sciences,610
|
|
14
|
+
P13,Poultry Flock Registration,Division of Animal Sciences,430
|
|
15
|
+
P14,Grazing and Pasture Management,Division of Animal Sciences,390
|
|
16
|
+
P15,Home Garden Fact Sheets,Consumer Horticulture Programs,2100
|
|
17
|
+
P16,Master Gardener Volunteer Program,Consumer Horticulture Programs,520
|
|
18
|
+
P17,Youth 4-Leaf Clubs,Youth Development Programs,700
|
|
19
|
+
P18,County Fair Livestock Entries,Youth Development Programs,640
|
|
20
|
+
P19,Events Calendar,Events,1900
|
|
21
|
+
P20,Workshop Registration,Events,860
|
|
22
|
+
P21,Past Webinar Recordings,Events,240
|
|
23
|
+
P22,Farm Business and Tax Workshops,Division of Farm Business Management,330
|
|
24
|
+
P23,Grant and Cost-Share Programs,Division of Farm Business Management,760
|
|
25
|
+
P24,Weather and Frost Alerts,Division of Agronomic Services,1300
|
|
26
|
+
P25,Contact Us and Office Hours,Utility,1200
|
|
27
|
+
P26,Accessibility Statement,Utility,35
|
|
28
|
+
P27,Newsletter Sign-up,Utility,180
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
search_term,searches_last_90_days
|
|
2
|
+
soil test,1840
|
|
3
|
+
soil test price,610
|
|
4
|
+
bugs on my tomatoes,420
|
|
5
|
+
pest id,395
|
|
6
|
+
pesticide license,560
|
|
7
|
+
recertification,280
|
|
8
|
+
frost,330
|
|
9
|
+
4-leaf,210
|
|
10
|
+
fair entry,240
|
|
11
|
+
grants,190
|
|
12
|
+
office hours,300
|
|
13
|
+
master gardener,150
|
|
14
|
+
chicken registration,120
|
|
15
|
+
agronomic services,4
|
|
16
|
+
regulatory programs,2
|
package/packs/experience-design/skills/information-architecture/evals/files/2/stakeholder-notes.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Notes from the kick-off meeting (Marrowby County Extension Service website refresh)
|
|
2
|
+
|
|
3
|
+
Director:
|
|
4
|
+
- "The top navigation should be our nine divisions and units, in org-chart order: Office of the Director, Agronomic Services, Laboratory Services, Regulatory Programs, Animal Sciences, Consumer Horticulture, Youth Development, Farm Business Management, Events. People need to understand how we're organised."
|
|
5
|
+
- "Events is our busiest section by far — it gets about half of all our traffic — so it should be first."
|
|
6
|
+
|
|
7
|
+
Web coordinator:
|
|
8
|
+
- "The CMS theme supports a maximum of six items in the global navigation bar. Anything beyond that wraps onto a second line on desktop and breaks the mobile menu."
|
|
9
|
+
- "Contact Us, Accessibility and Newsletter currently sit in the footer and should stay there."
|
|
10
|
+
- "We have two soil testing submission pages because the Lab and Agronomic Services each made their own. The fees on them don't match. Finance hasn't told us which is right."
|
|
11
|
+
|
|
12
|
+
Board member:
|
|
13
|
+
- "Please confirm in the write-up which structure tested best with farmers, so the board can sign it off next week." (Note from web coordinator: we have not run any user testing yet.)
|