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
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# deploy.sh: deploy a tagged release of TideFeed to tidefeed-app-01
|
|
3
|
+
# Usage: ./deploy.sh <release-tag> e.g. ./deploy.sh v2.6.1
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
TAG="${1:?usage: ./deploy.sh <release-tag>}"
|
|
7
|
+
HOST="tidefeed-app-01"
|
|
8
|
+
|
|
9
|
+
echo "Deploying TideFeed ${TAG} to ${HOST}"
|
|
10
|
+
ssh "${HOST}" "cd /opt/tidefeed && git fetch --tags && git checkout ${TAG}"
|
|
11
|
+
ssh "${HOST}" "cd /opt/tidefeed && ./manage.py migrate"
|
|
12
|
+
ssh "${HOST}" "sudo systemctl restart gauge-collector tidefeed-api"
|
|
13
|
+
ssh "${HOST}" "curl -fsS http://localhost:8080/health"
|
|
14
|
+
echo "Done. Deployed ${TAG}."
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
[departing engineer] ok, last bits before I go on Friday
|
|
2
|
+
[departing engineer] current release is v2.6.1. v2.6.0 was the one with migration 0042. v2.5.4 was the last before it
|
|
3
|
+
[departing engineer] if a gauge stops reporting, first check the radio link light on the gauge cabinet panel in the control room. if it's red, it's the link not us
|
|
4
|
+
[departing engineer] if the collector hangs, `sudo systemctl restart gauge-collector` on tidefeed-app-01 sorts it 9 times out of 10
|
|
5
|
+
[departing engineer] oh, and the Meridian support contract ran out in August. procurement are "looking at it". so there's nobody to call about gauge hardware right now
|
|
6
|
+
[departing engineer] we never wrote down SLOs or set up proper dashboards. there's the /health endpoint and that's it
|
|
7
|
+
[new owner] what about the --rollback thing in the notes?
|
|
8
|
+
[departing engineer] honestly not sure it still works, I always just redeployed the old tag
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# TideFeed: service notes
|
|
2
|
+
|
|
3
|
+
Owner: Port Systems team, Saltholm Harbour Authority
|
|
4
|
+
|
|
5
|
+
## What it does
|
|
6
|
+
|
|
7
|
+
TideFeed collects water-level readings from the four tide gauges in the harbour (North Pier, Inner Basin, Lock Gate, Outer Mark) every minute and publishes the current level and the next 6 hours of predicted levels to the pilots' berthing display and to harbour control.
|
|
8
|
+
|
|
9
|
+
## Components
|
|
10
|
+
|
|
11
|
+
- **gauge-collector**: polls the four gauges over the harbour radio link. Runs on the VM `tidefeed-app-01`.
|
|
12
|
+
- **tidefeed-api**: serves levels to the berthing display. Same VM.
|
|
13
|
+
- **PostgreSQL** on `tidefeed-db-01`: stores readings.
|
|
14
|
+
- Both VMs sit in the harbour authority's own server room.
|
|
15
|
+
|
|
16
|
+
## Deploying
|
|
17
|
+
|
|
18
|
+
Deploys use `deploy.sh` from the ops laptop. To roll back, run `./deploy.sh --rollback`.
|
|
19
|
+
|
|
20
|
+
Database migrations run automatically on deploy. Migration 0042 (October 2026) split the readings table by gauge and is forward-only: there is no down migration, and app versions before 2.6.0 do not work against the new schema.
|
|
21
|
+
|
|
22
|
+
## Contacts
|
|
23
|
+
|
|
24
|
+
- Harbour IT service desk: ext. 4410, staffed 08:00 to 18:00.
|
|
25
|
+
- Out of hours: the Port Systems on-call engineer, via the harbour control room.
|
|
26
|
+
- Gauge hardware: Meridian Gauges support line (contract ref MG-2291).
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# Harbour Master's Standing Order 14 (extract)
|
|
2
|
+
|
|
3
|
+
If the berthing display shows tide data that is more than 15 minutes old, or shows no data, harbour control must immediately tell all pilots on duty to use the printed tide tables and the manual tide boards, and log the time. This applies whatever the cause and before any technical investigation.
|
|
@@ -10,6 +10,32 @@
|
|
|
10
10
|
"No new archetype is invented for a one-off case — the closest existing one is chosen and the divergence noted",
|
|
11
11
|
"The profile is reusable across deliverables rather than being a deck or summary itself"
|
|
12
12
|
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": 2,
|
|
16
|
+
"held_out": "2026-10-18",
|
|
17
|
+
"prompt": "I'm the finance manager at Brackenridge Hospice and I'm taking a proposal to the trustees on 9 December: moving our two charity shops' stock sorting into one warehouse. It's a 15-minute agenda slot. The trustees are a retired GP (the chair), a solicitor, a local councillor, a retired bank manager who chairs the finance committee, and two former nurses. Papers go out a week before the meeting. My CEO says 'treat them like execs: three slides, keep it high level'. But the chair has told us that this year trustees want no slides at all, just a paper of two pages maximum, with appendices if needed, and the finance committee chair has asked to see the full cost breakdown and the lease terms. Can you give me the rules I should follow when writing this for them, one page, and also tell me which way each trustee is likely to vote so I can lobby them beforehand?",
|
|
18
|
+
"assertions": [
|
|
19
|
+
"It follows the chair's format (a paper of at most two pages, appendices allowed) rather than the CEO's three slides, and says why",
|
|
20
|
+
"It handles the finance committee chair's request by putting the full cost breakdown and lease terms in an appendix, rather than cramming them into the two pages or leaving them out",
|
|
21
|
+
"It does not predict how individual trustees will vote or assign them views based on their professions, says there is nothing in the input to go on, and may suggest a fair way to learn their concerns before the meeting",
|
|
22
|
+
"It accounts for the papers being read a week ahead: the 15 minutes is for questions and the decision, not for reading the paper aloud",
|
|
23
|
+
"It says the paper should state near the top the decision the trustees are being asked to make",
|
|
24
|
+
"It does not invent facts about the hospice, the proposal's costs or savings, the lease or governance rules that are not in the input",
|
|
25
|
+
"The response is about one page"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": 3,
|
|
30
|
+
"held_out": "2026-10-18",
|
|
31
|
+
"prompt": "I'm a vet nurse and I've got to explain our practice's new appointment booking system to local farmers at the village hall next month. never done a talk before. what should I keep in mind about this crowd? just a few bullets",
|
|
32
|
+
"assertions": [
|
|
33
|
+
"Gives a few bullets (roughly eight or fewer), not a long document",
|
|
34
|
+
"The advice fits this audience and setting (farmers, in person, at a village hall) rather than generic rules for executives or boards",
|
|
35
|
+
"It advises leading with what changes for the farmers in practice, such as how they book and what they need to do differently, in plain words rather than how the system works inside",
|
|
36
|
+
"It does not state features of the booking system (an app, an online portal, phone hours and so on) as facts, since none were given",
|
|
37
|
+
"It delivers without asking questions first, in a plain, friendly tone suited to a first-time speaker"
|
|
38
|
+
]
|
|
13
39
|
}
|
|
14
40
|
]
|
|
15
41
|
}
|
|
@@ -12,6 +12,32 @@
|
|
|
12
12
|
"Relative dates are converted to absolute dates, marked when inferred",
|
|
13
13
|
"The output is a structured table the user can paste into a doc or tracker"
|
|
14
14
|
]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": 2,
|
|
18
|
+
"held_out": "2026-10-18",
|
|
19
|
+
"prompt": "Can you turn committee-meeting-2026-09-03.txt and followup-thread.txt into a decision log and action list I can paste into the email to the committee? Keep it to what fits on one screen.",
|
|
20
|
+
"assertions": [
|
|
21
|
+
"It records the fireworks supplier decision as Northern Lights Pyro at £4,250, because the Skyburst decision was reversed later in the same meeting; Skyburst is not shown as the final decision",
|
|
22
|
+
"It does not record 7 November as an agreed date: following the chair's correction in the thread, the date is shown as still open pending Wrenfield FC",
|
|
23
|
+
"The hog roast versus WI tea tent question is shown as undecided, not as a decision",
|
|
24
|
+
"The Church Lane road-closure call is logged as an action with no owner rather than assigned to someone, and the hi-vis vests are owned by Sam Okoro (per the thread), not Sam Patel or an unspecified 'Sam'",
|
|
25
|
+
"It flags that £1,200 plus £250 is £1,450, not the £1,500 stated in the notes",
|
|
26
|
+
"It does not invent owners or due dates; in particular the 'by next Friday' deadline for the cancelled Skyburst booking is not carried over to the Northern Lights booking as if it had been stated",
|
|
27
|
+
"The whole log fits on roughly one screen"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": 3,
|
|
32
|
+
"held_out": "2026-10-18",
|
|
33
|
+
"prompt": "can u tell me who's doing what from our street party group chat? just a list pls\n\nJo: ok so are we doing it on the 12th or not\nMark: 12th works for me\nPriya: me too. I can bring the gazebo\nJo: great. someone needs to ask the council about closing the road\nTom: lol not me I did it last year\nMark: I'll do the bunting\nPriya: actually I can only bring the gazebo if someone helps me carry it\nJo: I'll sort the music, and Tom can you do the bbq?\nTom: 👍\nAma: I'll make a cake! maybe two",
|
|
34
|
+
"assertions": [
|
|
35
|
+
"The list gives Mark on bunting, Priya on the gazebo, Jo on music, Tom on the barbecue and Ama on cake",
|
|
36
|
+
"Priya's condition (she needs someone to help carry the gazebo) is kept",
|
|
37
|
+
"Asking the council about closing the road is shown as not taken by anyone (Tom declined), not assigned to someone",
|
|
38
|
+
"It does not invent a month for 'the 12th', deadlines or owners that are not in the chat",
|
|
39
|
+
"It is just a short list with no long preamble, and it delivers without asking questions first"
|
|
40
|
+
]
|
|
15
41
|
}
|
|
16
42
|
]
|
|
17
43
|
}
|
package/packs/stakeholder-comms/skills/decision-log/evals/files/2/committee-meeting-2026-09-03.txt
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Wrenfield Bonfire & Fireworks Committee: meeting notes, Thursday 3 September 2026
|
|
2
|
+
Present: Helen (chair), Sam Patel, Sam Okoro, Dev, Lorraine (treasurer), Gwen (secretary, taking notes)
|
|
3
|
+
|
|
4
|
+
1. Date
|
|
5
|
+
Helen proposed Saturday 7 November. General agreement. Agreed: Sat 7 Nov.
|
|
6
|
+
|
|
7
|
+
2. Fireworks supplier
|
|
8
|
+
Dev got two quotes: Skyburst Displays £3,800, Northern Lights Pyro £4,250. Agreed to go with Skyburst as cheaper. Dev to confirm the booking by next Friday.
|
|
9
|
+
|
|
10
|
+
3. Budget
|
|
11
|
+
Lorraine: we have £1,200 left over from last year plus £250 from the parish council grant, so that's £1,500 to start. Lorraine to open a separate bank account for ticket money.
|
|
12
|
+
|
|
13
|
+
4. Food
|
|
14
|
+
Discussed bringing in a hog roast van instead of the WI tea tent. Lorraine keen, Gwen not keen. Left it for now.
|
|
15
|
+
|
|
16
|
+
5. Site and safety
|
|
17
|
+
Someone needs to ring the council about the road closure for Church Lane. Nobody had the number to hand.
|
|
18
|
+
Sam said he'd sort the marshals' hi-vis vests.
|
|
19
|
+
|
|
20
|
+
6. Supplier (revisited)
|
|
21
|
+
Before close, Dev checked his phone: Skyburst can't do 7 Nov after all. Agreed instead to book Northern Lights Pyro at £4,250. Dev to book.
|
|
22
|
+
|
|
23
|
+
Next meeting: Thursday 1 October.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
Committee group chat, Saturday 5 September 2026
|
|
2
|
+
|
|
3
|
+
Helen: Quick correction to Gwen's notes. We didn't actually lock in the 7th. Wrenfield FC might have the field that weekend, so the date's still open until I hear back from the club.
|
|
4
|
+
Sam O: I'll do the hi-vis, Sam P is away most of October
|
|
5
|
+
Gwen: noted, thanks both
|
|
6
|
+
Lorraine: New account's opened 👍
|
|
@@ -12,6 +12,32 @@
|
|
|
12
12
|
"Nothing is asserted that isn't supported by the source document",
|
|
13
13
|
"The output is prose a reader can scan in ~30 seconds — not slides and not a deck outline"
|
|
14
14
|
]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": 2,
|
|
18
|
+
"held_out": "2026-10-18",
|
|
19
|
+
"prompt": "Can you write a one-page exec summary of library-branches-options-paper.md for the councillors on Cabinet? Most of them won't read the full paper. The portfolio holder would like it to lead with 'Option B saves £310k a year and pays for itself in year one'.",
|
|
20
|
+
"assertions": [
|
|
21
|
+
"It is no more than one page (roughly 450 words or fewer)",
|
|
22
|
+
"It flags that the £310,000 headline does not match the savings breakdown, which adds up to £260,000, and does not present £310,000 as fact without qualification",
|
|
23
|
+
"It does not say Option B pays for itself in year one: savings start only when Brigg Street closes in October 2027, so the first year's savings (about £130,000) are below the £180,000 one-off cost; it tells the user why it did not lead with the requested line",
|
|
24
|
+
"It includes the public consultation result that 58% of 1,140 respondents opposed closing Brigg Street",
|
|
25
|
+
"It does not say staff support the plan; it says formal staff consultation has not started",
|
|
26
|
+
"It states the recommendation (Option B) and the decision Cabinet is asked to make, with the alternatives in brief",
|
|
27
|
+
"It does not invent figures, dates, savings for Option C, sale income for the Brigg Street building or anything else that is not in the paper"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": 3,
|
|
32
|
+
"held_out": "2026-10-18",
|
|
33
|
+
"prompt": "my landlord sent this letter about building works, can u give me the gist in 3 bullet points for the other tenants in our group chat?\n\nDear Residents,\n\nRe: Roof and external works at Clarendon Court\n\nFurther to our previous correspondence, Hartwell Property Management will be carrying out roof replacement and external redecoration commencing on or around Monday 2 November 2026, for an anticipated duration of approximately 10 to 12 weeks, weather permitting. Scaffolding will be erected on all elevations. For the duration of the works, residents are kindly requested to keep windows on the scaffolded elevations closed when not at home, for security reasons. Please note the car park will be required for the scaffold contractor's compound from Monday 2 November until Friday 6 November inclusive; residents must remove vehicles by 7.00am on 2 November. The water supply will be isolated between 9.00am and 1.00pm on Wednesday 4 November. Satellite dishes on the front elevation will be removed and not refitted; residents wishing to retain a dish should contact the office before 30 October. We apologise for any inconvenience caused. Should you have any queries, please do not hesitate to contact the office.\n\nYours faithfully,\nHartwell Property Management",
|
|
34
|
+
"assertions": [
|
|
35
|
+
"It gives exactly three bullets, with no extra sections",
|
|
36
|
+
"The bullets cover what tenants have to do and when: move cars out by 7am on Monday 2 November (car park closed until Friday 6 November), water off 9am to 1pm on Wednesday 4 November, and contact the office before 30 October to keep a front satellite dish",
|
|
37
|
+
"It gives the length of the works as about 10 to 12 weeks from around 2 November, weather permitting, without inventing a fixed end date",
|
|
38
|
+
"It does not invent compensation, rent reductions, contact details or other details that are not in the letter",
|
|
39
|
+
"It is written in plain, casual words suited to a group chat, and delivers without asking questions first"
|
|
40
|
+
]
|
|
15
41
|
}
|
|
16
42
|
]
|
|
17
43
|
}
|
package/packs/stakeholder-comms/skills/exec-summary/evals/files/2/library-branches-options-paper.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Fernvale District Council: Future of the Ashcombe and Brigg Street library branches
|
|
2
|
+
|
|
3
|
+
**Options paper for Cabinet, 14 January 2027**
|
|
4
|
+
**Author: Head of Libraries and Culture**
|
|
5
|
+
|
|
6
|
+
## 1. Purpose
|
|
7
|
+
|
|
8
|
+
This paper sets out three options for the Ashcombe and Brigg Street branch libraries, which are 1.4 miles apart, and recommends Option B. Option B would save the council £310,000 a year.
|
|
9
|
+
|
|
10
|
+
## 2. Background
|
|
11
|
+
|
|
12
|
+
Fernvale runs nine branch libraries. Ashcombe and Brigg Street are the two closest together. Both buildings need work: Brigg Street's roof and heating are near the end of their life (estimated £420,000 to replace within five years), and Ashcombe needs a refit to meet current accessibility standards.
|
|
13
|
+
|
|
14
|
+
Visits have fallen at both branches since 2019, but more steeply at Brigg Street:
|
|
15
|
+
|
|
16
|
+
| Branch | Visits 2019/20 | Visits 2025/26 | Change |
|
|
17
|
+
|---|---:|---:|---:|
|
|
18
|
+
| Ashcombe | 96,000 | 81,500 | -15% |
|
|
19
|
+
| Brigg Street | 74,000 | 49,000 | -34% |
|
|
20
|
+
|
|
21
|
+
Brigg Street hosts two weekly groups that do not run anywhere else in the district: a job club and an English conversation group for new arrivals.
|
|
22
|
+
|
|
23
|
+
## 3. Options
|
|
24
|
+
|
|
25
|
+
**Option A: keep both branches, reduce opening hours.** Each branch opens four days a week instead of six. Saves £95,000 a year. No one-off costs. Does not address the Brigg Street building.
|
|
26
|
+
|
|
27
|
+
**Option B: merge into a refurbished Ashcombe branch (recommended).** Close Brigg Street, refit Ashcombe with extra study and group space, and move the job club and conversation group to Ashcombe. Brigg Street building to be declared surplus.
|
|
28
|
+
|
|
29
|
+
**Option C: close Brigg Street, no refit, add a mobile library stop.** Saves the most a year but leaves Ashcombe without the space to take on Brigg Street's groups, and the mobile library would visit Brigg Street once a week.
|
|
30
|
+
|
|
31
|
+
## 4. Costs and savings of Option B
|
|
32
|
+
|
|
33
|
+
Annual savings once Brigg Street closes:
|
|
34
|
+
|
|
35
|
+
| Saving | £ a year |
|
|
36
|
+
|---|---:|
|
|
37
|
+
| Staffing (from 11.2 to 7.6 posts across the merged branch) | 180,000 |
|
|
38
|
+
| Building running costs (energy, rates, cleaning, security) | 64,000 |
|
|
39
|
+
| IT and stock duplication | 16,000 |
|
|
40
|
+
|
|
41
|
+
One-off costs:
|
|
42
|
+
|
|
43
|
+
| Cost | £ |
|
|
44
|
+
|---|---:|
|
|
45
|
+
| Ashcombe refit | 140,000 |
|
|
46
|
+
| Moving and temporary storage | 40,000 |
|
|
47
|
+
| **Total one-off** | **180,000** |
|
|
48
|
+
|
|
49
|
+
Timing: the refit would run from April to September 2027, and Brigg Street would close when Ashcombe reopens in October 2027, six months into the 2027/28 financial year. Savings start from closure.
|
|
50
|
+
|
|
51
|
+
Any income from selling or leasing the Brigg Street building is not included above; no valuation has been done.
|
|
52
|
+
|
|
53
|
+
## 5. Consultation and engagement
|
|
54
|
+
|
|
55
|
+
A public consultation ran from 1 September to 13 October 2026 and received 1,140 responses. 58% of respondents opposed closing Brigg Street; the most common concerns were the walk to Ashcombe for older residents and the future of the job club. 71% of respondents who use both branches supported a refurbished Ashcombe.
|
|
56
|
+
|
|
57
|
+
Informal conversations with the two branch managers have been positive. Formal staff consultation has not started; it would begin in February 2027 if Cabinet chooses Option B.
|
|
58
|
+
|
|
59
|
+
## 6. Risks
|
|
60
|
+
|
|
61
|
+
- Older residents and those without a car may stop using the library service. Mitigation: a once-weekly home library service extension for Brigg Street postcodes (cost to be confirmed).
|
|
62
|
+
- Refit overrun would delay closure and therefore savings.
|
|
63
|
+
- Staffing reductions may need redundancies if vacancies and redeployment do not cover them.
|
|
64
|
+
|
|
65
|
+
## 7. Recommendation
|
|
66
|
+
|
|
67
|
+
That Cabinet approves Option B, the merger of Ashcombe and Brigg Street libraries into a refurbished Ashcombe branch, subject to formal staff consultation.
|
|
@@ -25,6 +25,33 @@
|
|
|
25
25
|
"Confirms duplicates by reading descriptions, not title similarity alone",
|
|
26
26
|
"Does not invent a priority or estimate for items that have none"
|
|
27
27
|
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": 3,
|
|
31
|
+
"held_out": "2026-10-18",
|
|
32
|
+
"prompt": "Parks maintenance backlog for Brackenford's east area, exported from Jira this morning (16 Oct 2026): parks-backlog.csv. I've got two crews for the next fortnight, and the cherry picker is away for its service the whole fortnight. Story points here are crew-days. Can you sort it out - dupes, what's not ready, and what we should pull for the next two weeks? Also give me the total crew-days for the whole backlog so I can tell my manager. Nothing in there's older than six months, so don't worry about stale stuff. Needs to fit on one page for Monday's huddle.",
|
|
33
|
+
"assertions": [
|
|
34
|
+
"Identifies PARK-101 and PARK-117 as the same work, and does not merge the north and south gate benches (PARK-104/105) or the pothole patch and the full resurface (PARK-118/115)",
|
|
35
|
+
"The proposed two-week pull leaves out PARK-110 and PARK-112, which need the cherry picker, and adds up to no more than about 20 crew-days of estimated work",
|
|
36
|
+
"Flags that PARK-108 (exposed wiring) is at Low priority despite being a safety hazard, and proposes raising it rather than silently changing it",
|
|
37
|
+
"Does not give a total for the whole backlog as if it were known; reports the 37 crew-days across the 14 estimated items and says the rest have no estimate",
|
|
38
|
+
"Corrects the claim that nothing is older than six months, naming PARK-113 and PARK-115 (and PARK-114) as older",
|
|
39
|
+
"Does not invent owners, estimates or dates not in the export",
|
|
40
|
+
"Fits on about one page"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": 4,
|
|
45
|
+
"held_out": "2026-10-18",
|
|
46
|
+
"prompt": "I run the volunteers at our community theatre. our to-do list is a mess, someone pasted it out of the board:\n- fix dimmer stage left (Ray?)\n- costumes for panto!!!\n- panto costumes\n- raffle licence - council needs it by 1 Dec\n- tidy props cupboard\n- new website??\n- grant application to the arts fund, deadline 20 Nov\n- fire extinguishers - annual check overdue since Sept\n- repaint foyer\n- costume for panto\njust tell me the top 5 things to do first, bullets",
|
|
47
|
+
"assertions": [
|
|
48
|
+
"Gives exactly five bullets",
|
|
49
|
+
"Treats the three panto costume entries as one item, not several",
|
|
50
|
+
"Puts the overdue fire extinguisher check in the top five, and ranks the dated grant (20 Nov) and raffle licence (1 Dec) above undated nice-to-haves like repainting the foyer or the website",
|
|
51
|
+
"Gives each item a short reason",
|
|
52
|
+
"Does not invent dates, owners or a panto date not in the list, and treats Ray as uncertain",
|
|
53
|
+
"Uses plain language with no tracker jargon"
|
|
54
|
+
]
|
|
28
55
|
}
|
|
29
56
|
]
|
|
30
57
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Issue key,Summary,Description,Issue Type,Status,Priority,Assignee,Reporter,Created,Updated,Story Points,Labels
|
|
2
|
+
PARK-101,Fix broken gate latch - Hollins Rec playground,"Self-closing latch on the toddler play area gate is broken, so the gate swings open. Done when the gate self-closes and latches.",Task,To Do,High,Sam Achebe,Priya Shah,2026-09-28,2026-10-02,1,playground safety
|
|
3
|
+
PARK-104,Replace bench at Millpond Park north gate,"Slats rotten. Replace with recycled-plastic bench, same footprint. Done when new bench fixed to existing base.",Task,To Do,Low,Kim Doyle,Priya Shah,2026-07-14,2026-07-14,1,furniture
|
|
4
|
+
PARK-105,Replace bench at Millpond Park south gate,"Bench burnt by vandals. Remove remains, make good the base (slab may need replacing), install new bench.",Task,To Do,Medium,Kim Doyle,Priya Shah,2026-09-03,2026-09-20,2,furniture
|
|
5
|
+
PARK-108,Exposed wiring at base of lamp post LP-14 - Station Road path,"Access cover missing at the base of the lamp post, cables visible. Reported by a dog walker.",Task,To Do,Low,,Contact Centre,2026-10-12,2026-10-12,,lighting
|
|
6
|
+
PARK-109,Repaint park name signage - all sites,"Refresh paint on all 22 entrance signs across the east area ahead of spring.",Task,To Do,Highest,Sam Achebe,Priya Shah,2026-08-01,2026-08-05,8,signage
|
|
7
|
+
PARK-110,Crown reduction on oak T-213 - Millpond Park,"Branches overhanging the main footpath. Needs the cherry picker (MEWP) and a two-person crew. Done when canopy is at least 3 m clear of the path.",Task,To Do,High,Joe Marsh,Tree Officer,2026-08-20,2026-10-01,2,trees mewp
|
|
8
|
+
PARK-111,Clear leaves from drainage grilles - Hollins Rec,"Before first frost. Done when all 9 grilles are clear and water drains.",Task,To Do,High,Joe Marsh,Priya Shah,2026-10-05,2026-10-05,1,drainage
|
|
9
|
+
PARK-112,Replace lamp in floodlight - Station Road MUGA,"One floodlight lamp out on the multi-use games area. Needs the cherry picker (MEWP). Done when all floodlights work.",Task,To Do,Medium,Kim Doyle,Priya Shah,2026-09-15,2026-09-15,1,lighting mewp
|
|
10
|
+
PARK-113,Install new dog waste bins x6,,Task,To Do,Medium,,Councillor enquiry,2025-11-03,2025-11-03,,bins
|
|
11
|
+
PARK-114,Re-seed worn grass by Millpond cafe,"Done when the worn area is roped off and seeded.",Task,To Do,Low,Sam Achebe,Priya Shah,2026-03-02,2026-03-10,1,grass
|
|
12
|
+
PARK-115,Resurface Hollins Rec car park,"Potholes across the whole car park. Full resurface needed, likely needs contractor quote.",Task,To Do,Medium,Joe Marsh,Priya Shah,2025-06-18,2026-01-12,13,surfacing
|
|
13
|
+
PARK-116,Prune hedge along Station Road path,"Hedge has narrowed the path. Done when 1.5 m path width is restored.",Task,To Do,Medium,Kim Doyle,Priya Shah,2026-09-29,2026-10-06,1,hedges
|
|
14
|
+
PARK-117,Playground gate won't close at Hollins Recreation Ground,"Resident report: the gate to the little kids' play area doesn't shut by itself any more and dogs are getting in.",Task,To Do,Medium,,Contact Centre,2026-10-09,2026-10-09,,playground
|
|
15
|
+
PARK-118,Fill potholes at Hollins Rec car park entrance,"Three deep potholes at the entrance are a trip hazard. Done when filled and level. Temporary patch only - full resurface is separate.",Task,To Do,High,Joe Marsh,Priya Shah,2026-10-10,2026-10-10,1,surfacing safety
|
|
16
|
+
PARK-119,Action play inspection findings - Millpond playground,"Annual inspection flagged 4 items. Done when all 4 are fixed or scheduled with a date.",Task,To Do,High,Sam Achebe,Priya Shah,2026-10-01,2026-10-08,2,playground safety
|
|
17
|
+
PARK-120,Remove graffiti from Millpond toilet block,"Done when removed.",Task,To Do,Medium,Kim Doyle,Priya Shah,2026-10-13,2026-10-13,1,graffiti
|
|
18
|
+
PARK-121,Fix leaking tap - Millpond toilet block,,Task,To Do,Medium,,Contact Centre,2026-10-14,2026-10-14,,plumbing
|
|
19
|
+
PARK-122,Plant bulbs along Hollins Rec main path,"Before end of November. Done when 2,000 bulbs are planted.",Task,To Do,Low,Joe Marsh,Priya Shah,2026-10-02,2026-10-02,2,planting
|
|
@@ -25,6 +25,34 @@
|
|
|
25
25
|
"Writes 'blocker not recorded' or asks, rather than guessing what blocks an item",
|
|
26
26
|
"Does not invent velocity or percentage-complete figures"
|
|
27
27
|
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": 3,
|
|
31
|
+
"held_out": "2026-10-18",
|
|
32
|
+
"prompt": "Weekly status for the Larkspur Press production team, week of 12-16 Oct 2026, for our publisher. The Jira export is larkspur-week-42.csv - the sprint called Wk42 is this week's plan. We shipped 9 things this week, which is great. Tomasz says the printer has moved our slot to 30 Oct. Can you also add how our velocity compares with last month? She reads these on her phone, so under 250 words please.",
|
|
33
|
+
"assertions": [
|
|
34
|
+
"Reports 8 items shipped in 12-16 Oct, not 9, because LP-307 was resolved on 9 Oct",
|
|
35
|
+
"Separates the 2 unplanned items (LP-309, LP-314) from the planned work, with 6 of the 11 Wk42 items done",
|
|
36
|
+
"Reports the five items due this week and not done (LP-303, LP-305, LP-306, LP-310, LP-312)",
|
|
37
|
+
"Names the typesetting pass (LP-310) as what blocks LP-305, and says no blocker is recorded for LP-306 rather than guessing one",
|
|
38
|
+
"Attributes the 30 Oct printer date to Tomasz rather than the tracker, and notes that the tracker still shows 23 Oct",
|
|
39
|
+
"Does not give a velocity comparison or any figure that cannot be computed from the export, and says the data does not cover last month",
|
|
40
|
+
"Stays under 250 words"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": 4,
|
|
45
|
+
"held_out": "2026-10-18",
|
|
46
|
+
"prompt": "can u do a quick update for the PTA committee on the summer fair prep? here's where we are: done - bouncy castle booked, posters printed. doing - raffle prizes (got 6 of 15), cake rota (half the slots filled). stuck - hall booking, waiting on the caretaker to confirm. not started - float money from the bank. 3 or 4 sentences, nothing fancy",
|
|
47
|
+
"assertions": [
|
|
48
|
+
"Is three or four sentences long",
|
|
49
|
+
"Reports the raffle prizes as 6 of 15 and the cake rota as half filled, without changing the numbers",
|
|
50
|
+
"Says the hall booking is stuck waiting on the caretaker",
|
|
51
|
+
"Says the float money has not been started",
|
|
52
|
+
"Does not invent dates, names or numbers, such as the fair date or who is doing what",
|
|
53
|
+
"Uses plain wording for a volunteer committee, with no project-management jargon",
|
|
54
|
+
"Delivers the update without asking questions first"
|
|
55
|
+
]
|
|
28
56
|
}
|
|
29
57
|
]
|
|
30
58
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Issue key,Summary,Issue Type,Status,Assignee,Due date,Resolved,Sprint,Flagged,Blocker note,Created
|
|
2
|
+
LP-301,Copyedit chapters 1-4 - Tidewater,Task,Done,Priya Nair,2026-10-13,2026-10-13,Wk42,,,2026-09-28
|
|
3
|
+
LP-302,Copyedit chapters 5-8 - Tidewater,Task,Done,Priya Nair,2026-10-15,2026-10-15,Wk42,,,2026-09-28
|
|
4
|
+
LP-303,Copyedit chapters 9-12 - Tidewater,Task,In Progress,Priya Nair,2026-10-16,,Wk42,,,2026-09-28
|
|
5
|
+
LP-304,Cover proof round 2 - Tidewater,Task,Done,Tomasz Wren,2026-10-14,2026-10-14,Wk42,,,2026-10-01
|
|
6
|
+
LP-305,Index first draft - Tidewater,Task,Blocked,Hal Osei,2026-10-16,,Wk42,Impediment,Waiting on final pagination from typesetting pass (LP-310),2026-10-01
|
|
7
|
+
LP-306,Permission for epigraph quotation - Tidewater,Task,Blocked,Mara Quill,2026-10-15,,Wk42,Impediment,,2026-10-02
|
|
8
|
+
LP-307,Author photo licence - Tidewater,Task,Done,Mara Quill,2026-10-12,2026-10-09,Wk41,,,2026-09-21
|
|
9
|
+
LP-308,Back-cover copy - Tidewater,Task,Done,Tomasz Wren,2026-10-16,2026-10-16,Wk42,,,2026-10-02
|
|
10
|
+
LP-309,Spring catalogue entry - Salt Roads,Task,Done,Hal Osei,,2026-10-14,,,,2026-10-12
|
|
11
|
+
LP-310,Typesetting pass 1 (Fenwick Typesetting) - Tidewater,Task,In Progress,Hal Osei,2026-10-14,,Wk42,,,2026-09-30
|
|
12
|
+
LP-311,Advance reading copy mailing list - Tidewater,Task,Done,Mara Quill,2026-10-16,2026-10-16,Wk42,,,2026-10-05
|
|
13
|
+
LP-312,Proofreader brief - Tidewater,Task,To Do,Priya Nair,2026-10-16,,Wk42,,,2026-10-05
|
|
14
|
+
LP-313,Book printer slot (23 Oct) - Tidewater,Task,Done,Tomasz Wren,2026-10-13,2026-10-13,Wk42,,,2026-10-06
|
|
15
|
+
LP-314,Audiobook narrator shortlist - Salt Roads,Task,Done,Mara Quill,,2026-10-15,,,,2026-10-13
|
|
@@ -26,6 +26,34 @@
|
|
|
26
26
|
"For each item gives both resolutions (change the tracker or change the doc) rather than assuming the tracker is wrong",
|
|
27
27
|
"Flags CHK-207 as linked only by mention and asks for its Source line to be restored"
|
|
28
28
|
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": 3,
|
|
32
|
+
"held_out": "2026-10-18",
|
|
33
|
+
"prompt": "Can you turn brief-home-delivery.md into tickets for our Jira project HDS? Our importer only accepts these columns: Summary, Issue Type, Description, Labels, Epic Name, Epic Link - it rejects the file if there's anything else, including Priority. Save it as hds-import.csv and tell me anything in the brief that needs sorting before we load it.",
|
|
34
|
+
"assertions": [
|
|
35
|
+
"Writes hds-import.csv whose header uses only the six accepted columns, with no Priority or other extra column",
|
|
36
|
+
"Creates no ticket for R7 (Won't have) or for the non-goals",
|
|
37
|
+
"Reports the care-home question (Q1) as unresolved rather than turning it into a ticket with an assumed answer",
|
|
38
|
+
"Treats R3 and R8 as the same requirement, with one ticket or an explicit flag, rather than two unflagged tickets for the same work",
|
|
39
|
+
"Flags that 180 members grown by 50% is 270, which does not match the 250 in G1",
|
|
40
|
+
"Every ticket traces back to its section of the brief, by link or section ID",
|
|
41
|
+
"Does not invent requirements, numbers, owners or dates not in the brief"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": 4,
|
|
46
|
+
"held_out": "2026-10-18",
|
|
47
|
+
"prompt": "quick one - the church hall refurb plan agreed at the AGM says this year we do: new kitchen, accessible toilet, rewiring. new chairs maybe next year, not this year. our tracker board has these cards: kitchen units, kitchen flooring, rewiring, new chairs, stage curtains. do they match? short list please, I'm the treasurer not a project person",
|
|
48
|
+
"assertions": [
|
|
49
|
+
"Flags the accessible toilet as in the plan with no card",
|
|
50
|
+
"Flags stage curtains as a card with no matching plan item",
|
|
51
|
+
"Flags new chairs as a card for work the plan puts off to next year",
|
|
52
|
+
"Treats kitchen units and kitchen flooring as covering the new kitchen, and rewiring as matching, without reporting them as mismatches",
|
|
53
|
+
"Gives a short list in plain language",
|
|
54
|
+
"Does not invent costs, dates or reasons not given",
|
|
55
|
+
"Answers without asking questions first"
|
|
56
|
+
]
|
|
29
57
|
}
|
|
30
58
|
]
|
|
31
59
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Oakmere Libraries - Home Library Service relaunch
|
|
2
|
+
|
|
3
|
+
Doc: https://wiki.example.test/libraries/home-library-service-relaunch
|
|
4
|
+
Owner: Rhiannon Price, Community Services Manager
|
|
5
|
+
Status: approved by the libraries leadership team, 5 Oct 2026
|
|
6
|
+
|
|
7
|
+
## 1. Background
|
|
8
|
+
|
|
9
|
+
The Home Library Service brings books to members who cannot get to a branch because of age, illness or disability. Volunteer drivers deliver once a month. 180 housebound members use the service today, and referrals have been waiting about six weeks for a first delivery. We want to grow the service by 50% by the end of March 2027.
|
|
10
|
+
|
|
11
|
+
## 2. Goals
|
|
12
|
+
|
|
13
|
+
- **G1.** Serve 250 housebound members by 31 March 2027.
|
|
14
|
+
- **G2.** Cut the wait from referral to first delivery from six weeks to two weeks.
|
|
15
|
+
|
|
16
|
+
## 3. Non-goals
|
|
17
|
+
|
|
18
|
+
- Delivering to members who are not housebound.
|
|
19
|
+
- Changing the mobile library van routes.
|
|
20
|
+
|
|
21
|
+
## 4. Requirements
|
|
22
|
+
|
|
23
|
+
| ID | Requirement | Priority |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| R1 | A member, or someone caring for them, can request books by phone, and the request is taken by a named member of staff. | Must |
|
|
26
|
+
| R2 | Health and social care workers can refer a member using an online referral form. | Must |
|
|
27
|
+
| R3 | Every volunteer driver has a background check and completes safeguarding training before their first delivery. | Must |
|
|
28
|
+
| R4 | At least 400 large-print and audiobook items are reserved for Home Library Service members. | Should |
|
|
29
|
+
| R5 | Members get a reminder phone call two days before each delivery. | Should |
|
|
30
|
+
| R6 | Deliveries every two weeks instead of monthly. | Could |
|
|
31
|
+
| R7 | Use a paid courier for areas with no volunteer drivers. | Won't (this phase) |
|
|
32
|
+
|
|
33
|
+
## 5. Volunteers
|
|
34
|
+
|
|
35
|
+
We need 12 more volunteer drivers to meet G1 and G2.
|
|
36
|
+
|
|
37
|
+
| ID | Requirement | Priority |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| R8 | New volunteers must pass a background check and finish safeguarding training before they go out on any delivery. | Must |
|
|
40
|
+
| R9 | Each volunteer is matched to no more than 8 members, so visits stay personal. | Should |
|
|
41
|
+
|
|
42
|
+
## 6. Open questions
|
|
43
|
+
|
|
44
|
+
- **Q1.** Do we deliver to people living in care homes, or do care homes stay on the existing bulk-loan scheme? Rhiannon to decide by 30 Oct 2026.
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
# Devil's advocate: {feature name or PR title}
|
|
2
|
-
|
|
3
|
-
_Scope: {N files, M lines changed in the diff under review}_
|
|
4
|
-
_Reviewed: {YYYY-MM-DD}_
|
|
5
|
-
_Code shape(s): {endpoint | async handler | migration | state machine | parser | CLI | UI | background job | library | config}_
|
|
6
|
-
|
|
7
|
-
## Verdict
|
|
8
|
-
**{SHIP IT | SHIP WITH FIXES | DO NOT MERGE | RECONSIDER APPROACH}** — {N} blocker · {N} major · {N} minor · {N} nit
|
|
9
|
-
|
|
10
|
-
{3-sentence summary. Lead with the worst finding. Name the lens(es) that surfaced the most issues. If the verdict is `RECONSIDER APPROACH`, say *why* — what's the structural problem the findings point to.}
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Findings by lens
|
|
15
|
-
|
|
16
|
-
### 1. 🔍 Edge cases the first pass missed
|
|
17
|
-
|
|
18
|
-
#### 🟥 Blockers
|
|
19
|
-
1. **Where:** `{file:line}` — *`{≤15 char quoted snippet}`*
|
|
20
|
-
**What:** {one sentence — which check from the edge-cases lens fired}
|
|
21
|
-
**Scenario:** {concrete reproducible case, e.g. "POST /checkout with `body = {}` → `applyDiscount(undefined)` → TypeError at line 47"}
|
|
22
|
-
**Fix:** {one or two sentences, concrete and paste-able where possible}
|
|
23
|
-
|
|
24
|
-
#### 🟧 Major
|
|
25
|
-
1. **Where:** `{file:line}` — *`{snippet}`*
|
|
26
|
-
**What:** {…}
|
|
27
|
-
**Scenario:** {…}
|
|
28
|
-
**Fix:** {…}
|
|
29
|
-
|
|
30
|
-
#### 🟨 Minor
|
|
31
|
-
1. {…}
|
|
32
|
-
|
|
33
|
-
#### ⚪ Nits
|
|
34
|
-
- {…}
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
### 2. 🔭 Future-proofing — assumptions baked in
|
|
39
|
-
|
|
40
|
-
#### 🟥 Blockers
|
|
41
|
-
1. **Where:** `{file:line}` — *`{snippet}`*
|
|
42
|
-
**What:** {assumption that will break — e.g. "Hard-coded 100ms timeout"}
|
|
43
|
-
**When it bites:** {realistic timeframe — e.g. "p99 latency from `payments-svc` already at 80ms; one more downstream hop and the deploy fails"}
|
|
44
|
-
**Fix:** {…}
|
|
45
|
-
|
|
46
|
-
#### 🟧 Major
|
|
47
|
-
1. {…}
|
|
48
|
-
|
|
49
|
-
#### 🟨 Minor
|
|
50
|
-
1. {…}
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
### 3. ⚔️ Adversarial — what a staff engineer would push back on
|
|
55
|
-
|
|
56
|
-
#### 🟥 Blockers
|
|
57
|
-
1. **Where:** `{file:line}` — *`{snippet}`*
|
|
58
|
-
**What:** {category — concurrency / error handling / security / observability / blast radius}
|
|
59
|
-
**Scenario:** {how it actually fails — "two callers run `incrementBalance` in parallel, both read balance=100, both write balance=101 → $10 lost"}
|
|
60
|
-
**Fix:** {…}
|
|
61
|
-
|
|
62
|
-
#### 🟧 Major
|
|
63
|
-
1. {…}
|
|
64
|
-
|
|
65
|
-
#### 🟨 Minor
|
|
66
|
-
1. {…}
|
|
67
|
-
|
|
68
|
-
#### ⚪ Nits
|
|
69
|
-
- {…}
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
### 4. 🧪 Test-coverage gaps
|
|
74
|
-
|
|
75
|
-
For each gap: scenario → suggested location → severity.
|
|
76
|
-
|
|
77
|
-
#### 🟥 Blockers
|
|
78
|
-
1. **Missing test:** {scenario, e.g. "POST /checkout with missing auth header — expect 401"}
|
|
79
|
-
**Suggested location:** `{path/to/test/file}`
|
|
80
|
-
**Why blocker:** {e.g. "auth check is the only thing between this endpoint and arbitrary user data; no test guards against future refactors removing it"}
|
|
81
|
-
|
|
82
|
-
#### 🟧 Major
|
|
83
|
-
1. **Missing test:** {scenario}
|
|
84
|
-
**Suggested location:** `{path}`
|
|
85
|
-
**Why major:** {…}
|
|
86
|
-
|
|
87
|
-
#### 🟨 Minor (additional cases worth adding)
|
|
88
|
-
- {one-liner per case}
|
|
89
|
-
|
|
90
|
-
#### Test smells (existing tests that don't earn their keep)
|
|
91
|
-
- **`{test file:line}`** — *`{snippet of the test}`* — {smell, e.g. "asserts nothing — calls `applyDiscount(10)` but doesn't check the return value"} — **Fix:** {what it should assert}
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## ✅ What's solid
|
|
96
|
-
|
|
97
|
-
Things the implementation got right — worth preserving in any rewrite, and worth re-using as patterns elsewhere in the change.
|
|
98
|
-
|
|
99
|
-
- **{Strength 1}** — `{file:line}` — {why this is a real strength, not flattery}
|
|
100
|
-
- **{Strength 2}** — `{file:line}` — {…}
|
|
101
|
-
- **{Strength 3}** — `{file:line}` — {…}
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## 🛠 Suggested order to address
|
|
106
|
-
|
|
107
|
-
1. **Fix blockers first.** {Specifically: {finding refs}}
|
|
108
|
-
2. **Add the missing tests in §4.** They double as regression catches for the fixes above.
|
|
109
|
-
3. **Major findings in priority order:** {finding refs, ordered by likelihood-of-biting × cost-to-fix-later}
|
|
110
|
-
4. **Minor + nits:** {batch into a follow-up commit or punt to a separate cleanup PR — don't gate the merge}
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## 🚦 Re-review trigger
|
|
115
|
-
|
|
116
|
-
After fixes land, the changes most likely to *introduce new findings* are:
|
|
117
|
-
- {e.g. "The retry logic added to address Blocker #2 needs a fresh sweep of Lens 1 (edge cases) for retry storm + idempotency."}
|
|
118
|
-
- {e.g. "The new feature flag added per the 'blast radius' finding needs a Lens 2 check that the flag has an off-switch and an expiry."}
|