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.
Files changed (371) hide show
  1. package/agents/devils-advocate.md +34 -22
  2. package/bin/skilldrop.js +18 -4
  3. package/catalogue.json +2 -1
  4. package/model-routing.json +219 -215
  5. package/package.json +1 -1
  6. package/packs/ai-engineering/skills/agent-adoption-stage/evals/evals.json +28 -0
  7. package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/agent-telemetry.csv +7 -0
  8. package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/cto-offsite-memo.md +9 -0
  9. package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/dev-survey-summary.md +9 -0
  10. package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/engineering-policy.md +15 -0
  11. package/packs/ai-engineering/skills/agent-budget/evals/evals.json +27 -0
  12. package/packs/ai-engineering/skills/agent-budget/evals/files/3/finance-note.md +10 -0
  13. package/packs/ai-engineering/skills/agent-budget/evals/files/3/pipeline.md +18 -0
  14. package/packs/ai-engineering/skills/agent-budget/evals/files/3/price-sheet.md +9 -0
  15. package/packs/ai-engineering/skills/agent-budget/evals/files/3/september-usage.csv +7 -0
  16. package/packs/ai-engineering/skills/agent-loop-design/evals/evals.json +28 -0
  17. package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/design-guide-extract.md +13 -0
  18. package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/legal-advice.md +9 -0
  19. package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/request-from-head-of-planning.md +11 -0
  20. package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/trial-notes.md +13 -0
  21. package/packs/ai-engineering/skills/agent-threat-model/evals/evals.json +27 -0
  22. package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/agent-config.yaml +19 -0
  23. package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/agent-spec.md +17 -0
  24. package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/previous-review.md +10 -0
  25. package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/vendor-security-note.md +4 -0
  26. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/evals.json +28 -0
  27. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/cno-brief.md +17 -0
  28. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/education-capacity.md +5 -0
  29. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/pilot-report.md +14 -0
  30. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/survey-summary.md +7 -0
  31. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/union-letter.md +8 -0
  32. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/evals.json +28 -0
  33. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/ceo-note.md +5 -0
  34. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/governance-status.md +6 -0
  35. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/interview-notes.md +18 -0
  36. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/it-inventory.md +12 -0
  37. package/packs/ai-engineering/skills/ai-usage-report/evals/evals.json +27 -0
  38. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/draftwell-events.csv +249 -0
  39. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/export-note.md +9 -0
  40. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/published-assets.csv +44 -0
  41. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/team-roster.md +10 -0
  42. package/packs/ai-engineering/skills/ai-use-case-triage/evals/evals.json +27 -0
  43. package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/data-team.md +5 -0
  44. package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/finance-notes.md +7 -0
  45. package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/ideas.csv +10 -0
  46. package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/legal-note.md +7 -0
  47. package/packs/ai-engineering/skills/llm-eval-harness/evals/evals.json +28 -0
  48. package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/current-tests.md +6 -0
  49. package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/feature-brief.md +14 -0
  50. package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/incident-log.md +8 -0
  51. package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/pm-request.md +10 -0
  52. package/packs/ai-engineering/skills/subagent-design/evals/evals.json +27 -0
  53. package/packs/ai-engineering/skills/subagent-design/evals/files/3/current-process.md +11 -0
  54. package/packs/ai-engineering/skills/subagent-design/evals/files/3/director-proposal.md +6 -0
  55. package/packs/ai-engineering/skills/subagent-design/evals/files/3/scoring-rubric.md +9 -0
  56. package/packs/ai-engineering/skills/subagent-design/evals/files/3/trial-and-round-notes.md +11 -0
  57. package/packs/api-builder/skills/eval-harness-generator/evals/evals.json +27 -0
  58. package/packs/api-builder/skills/eval-harness-generator/evals/files/2/SKILL.md +35 -0
  59. package/packs/api-builder/skills/prompt-caching-advisor/evals/evals.json +25 -0
  60. package/packs/api-builder/skills/prompt-caching-advisor/evals/files/2/build_request.py +40 -0
  61. package/packs/api-builder/skills/prompt-caching-advisor/evals/files/2/notes.md +10 -0
  62. package/packs/api-builder/skills/token-budget-estimator/evals/evals.json +27 -0
  63. package/packs/api-builder/skills/token-budget-estimator/evals/files/2/pilot-usage.csv +17 -0
  64. package/packs/api-builder/skills/token-budget-estimator/evals/files/2/workflow.md +42 -0
  65. package/packs/career/pack.json +1 -1
  66. package/packs/career/skills/job-fit-analysis/SKILL.md +2 -1
  67. package/packs/career/skills/job-fit-analysis/manifest.json +3 -2
  68. package/packs/career/skills/role-shortlist/SKILL.md +107 -0
  69. package/packs/career/skills/role-shortlist/evals/eval_queries.json +34 -0
  70. package/packs/career/skills/role-shortlist/evals/evals.json +75 -0
  71. package/packs/career/skills/role-shortlist/evals/files/1/careers-index.html +22 -0
  72. package/packs/career/skills/role-shortlist/evals/files/1/cv.md +44 -0
  73. package/packs/career/skills/role-shortlist/evals/files/1/postings/clinical-coding-officer-bramwick.md +23 -0
  74. package/packs/career/skills/role-shortlist/evals/files/1/postings/data-and-performance-analyst.html +28 -0
  75. package/packs/career/skills/role-shortlist/evals/files/1/postings/estates-maintenance-electrician-bramwick.md +20 -0
  76. package/packs/career/skills/role-shortlist/evals/files/1/postings/healthcare-support-worker-nights-corrin-bay.md +20 -0
  77. package/packs/career/skills/role-shortlist/evals/files/1/postings/medical-secretary-cardiology-elsford.html +30 -0
  78. package/packs/career/skills/role-shortlist/evals/files/1/postings/outpatient-booking-team-leader-bramwick.md +23 -0
  79. package/packs/career/skills/role-shortlist/evals/files/1/postings/patient-pathway-coordinator-bramwick.md +30 -0
  80. package/packs/career/skills/role-shortlist/evals/files/1/postings/patient-pathway-coordinator-elsford.md +30 -0
  81. package/packs/career/skills/role-shortlist/evals/files/1/postings/reception-and-admin-assistant-corrin-bay.md +21 -0
  82. package/packs/career/skills/role-shortlist/evals/files/1/postings/senior-care-coordinator.md +25 -0
  83. package/packs/career/skills/role-shortlist/evals/files/2/cv.md +33 -0
  84. package/packs/career/skills/role-shortlist/evals/files/2/job-board-export.csv +11 -0
  85. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10422.md +26 -0
  86. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10431.md +25 -0
  87. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10455.md +27 -0
  88. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10468.md +25 -0
  89. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10476.md +25 -0
  90. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10490.md +24 -0
  91. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10587.md +26 -0
  92. package/packs/career/skills/role-shortlist/evals/files/4/brackwater-careers.html +118 -0
  93. package/packs/career/skills/role-shortlist/evals/files/4/mere-castell-cv.md +44 -0
  94. package/packs/career/skills/role-shortlist/evals/files/4/tradesboard-export.csv +6 -0
  95. package/packs/career/skills/role-shortlist/manifest.json +38 -0
  96. package/packs/converters/skills/file-to-markdown/evals/evals.json +27 -0
  97. package/packs/converters/skills/file-to-markdown/evals/files/3/harbourline-shift-policy.docx +0 -0
  98. package/packs/converters/skills/file-to-markdown/evals/files/4/seed-swap-2026.csv +10 -0
  99. package/packs/converters/skills/md-to-docx/evals/evals.json +28 -0
  100. package/packs/converters/skills/md-to-docx/evals/files/3/brand.json +12 -0
  101. package/packs/converters/skills/md-to-docx/evals/files/3/img/team-photo.png +0 -0
  102. package/packs/converters/skills/md-to-docx/evals/files/3/tender-response.md +51 -0
  103. package/packs/converters/skills/md-to-html/evals/evals.json +26 -0
  104. package/packs/converters/skills/md-to-html/evals/files/2/brand.json +13 -0
  105. package/packs/converters/skills/md-to-html/evals/files/2/img/kick-net.png +0 -0
  106. package/packs/converters/skills/md-to-html/evals/files/2/river-survey-guide.md +53 -0
  107. package/packs/converters/skills/md-to-html/evals/files/3/nanas-lentil-soup.md +21 -0
  108. package/packs/converters/skills/md-to-html/evals/files/3/pot.png +0 -0
  109. package/packs/converters/skills/md-to-xlsx/evals/evals.json +26 -0
  110. package/packs/converters/skills/md-to-xlsx/evals/files/3/depot-costs-q3.md +20 -0
  111. package/packs/converters/skills/md-to-xlsx/evals/files/4/hollowmere-5k-results.json +7 -0
  112. package/packs/converters/skills/mermaid-render/evals/evals.json +26 -0
  113. package/packs/converters/skills/mermaid-render/evals/files/2/dispensing-diagrams.md +39 -0
  114. package/packs/core/skills/brief-intake/evals/evals.json +27 -0
  115. package/packs/core/skills/brief-intake/evals/files/2/ops-meeting-notes.md +18 -0
  116. package/packs/core/skills/brief-intake/evals/files/2/thread.txt +40 -0
  117. package/packs/core/skills/council-review/evals/evals.json +28 -0
  118. package/packs/core/skills/council-review/evals/files/2/compliance-note.md +11 -0
  119. package/packs/core/skills/council-review/evals/files/2/link-outages-q3.csv +11 -0
  120. package/packs/core/skills/council-review/evals/files/2/proposal.md +39 -0
  121. package/packs/core/skills/council-review/evals/files/2/vendor-letter.txt +12 -0
  122. package/packs/core/skills/doc-critique/evals/evals.json +27 -0
  123. package/packs/core/skills/doc-critique/evals/files/2/exec-summary.md +43 -0
  124. package/packs/core/skills/output-hygiene/evals/evals.json +27 -0
  125. package/packs/core/skills/output-hygiene/evals/files/3/newsletter.md +17 -0
  126. package/packs/data-analytics/skills/dashboard-spec/evals/evals.json +27 -0
  127. package/packs/data-analytics/skills/dashboard-spec/evals/files/2/data-inventory.md +16 -0
  128. package/packs/data-analytics/skills/dashboard-spec/evals/files/2/request-email.md +28 -0
  129. package/packs/data-analytics/skills/sql-review/evals/evals.json +27 -0
  130. package/packs/data-analytics/skills/sql-review/evals/files/2/context.md +10 -0
  131. package/packs/data-analytics/skills/sql-review/evals/files/2/monthly_donor_revenue.sql +16 -0
  132. package/packs/data-analytics/skills/sql-review/evals/files/2/schema.md +20 -0
  133. package/packs/design/skills/brand-kit/evals/evals.json +26 -0
  134. package/packs/design/skills/brand-kit/evals/files/2/brand-guidelines.md +32 -0
  135. package/packs/design/skills/brand-kit/evals/files/2/contact-sheet.txt +6 -0
  136. package/packs/design/skills/brand-kit/evals/files/2/logo.svg +5 -0
  137. package/packs/design/skills/brand-kit/evals/files/2/website-colours.css +9 -0
  138. package/packs/design/skills/brand-kit/evals/files/3/muddy-paws-logo.png +0 -0
  139. package/packs/design/skills/deck-builder/evals/evals.json +27 -0
  140. package/packs/design/skills/deck-builder/evals/files/4/ashby-vale-board-notes.md +36 -0
  141. package/packs/design/skills/marketing-flyer/evals/evals.json +27 -0
  142. package/packs/design/skills/marketing-flyer/evals/files/2/brand.json +14 -0
  143. package/packs/design/skills/marketing-flyer/evals/files/2/larchfield-logo.svg +4 -0
  144. package/packs/design/skills/marketing-flyer/evals/files/2/manager-email.txt +6 -0
  145. package/packs/design/skills/marketing-flyer/evals/files/2/open-day-brief.md +15 -0
  146. package/packs/design/skills/slide-outliner/evals/evals.json +26 -0
  147. package/packs/design/skills/slide-outliner/evals/files/2/uv-dosing-design-notes.md +38 -0
  148. package/packs/dev-team/skills/accessibility-audit/evals/evals.json +27 -0
  149. package/packs/dev-team/skills/accessibility-audit/evals/files/2/booking.html +79 -0
  150. package/packs/dev-team/skills/accessibility-audit/evals/files/2/scan-report.txt +23 -0
  151. package/packs/dev-team/skills/accessibility-audit/evals/files/2/styles.css +56 -0
  152. package/packs/dev-team/skills/agents-md-generator/evals/evals.json +27 -0
  153. package/packs/dev-team/skills/agents-md-generator/evals/files/5/.github/workflows/ci.yml +12 -0
  154. package/packs/dev-team/skills/agents-md-generator/evals/files/5/CONTRIBUTING.md +20 -0
  155. package/packs/dev-team/skills/agents-md-generator/evals/files/5/README.md +15 -0
  156. package/packs/dev-team/skills/agents-md-generator/evals/files/5/data/raw/README.md +7 -0
  157. package/packs/dev-team/skills/agents-md-generator/evals/files/5/pyproject.toml +23 -0
  158. package/packs/dev-team/skills/agents-md-generator/evals/files/5/scripts/deploy.sh +6 -0
  159. package/packs/dev-team/skills/agents-md-generator/evals/files/5/src/sensor_ingest/__init__.py +1 -0
  160. package/packs/dev-team/skills/agents-md-generator/evals/files/5/src/sensor_ingest/parse.py +20 -0
  161. package/packs/dev-team/skills/agents-md-generator/evals/files/5/tests/test_gateway.py +10 -0
  162. package/packs/dev-team/skills/agents-md-generator/evals/files/5/tests/test_parse.py +7 -0
  163. package/packs/dev-team/skills/agents-md-generator/evals/files/6/clean_marks.R +5 -0
  164. package/packs/dev-team/skills/agents-md-generator/evals/files/6/grades_final.csv +6 -0
  165. package/packs/dev-team/skills/agents-md-generator/evals/files/6/make_report.R +7 -0
  166. package/packs/dev-team/skills/agents-md-generator/evals/files/6/notes.txt +8 -0
  167. package/packs/dev-team/skills/agents-md-generator/evals/files/6/raw_marks.csv +6 -0
  168. package/packs/dev-team/skills/bug-triage/evals/evals.json +27 -0
  169. package/packs/dev-team/skills/bug-triage/evals/files/2/payments-log.csv +15 -0
  170. package/packs/dev-team/skills/bug-triage/evals/files/2/slack-thread.txt +16 -0
  171. package/packs/dev-team/skills/bug-triage/evals/files/2/ticket.txt +10 -0
  172. package/packs/dev-team/skills/devils-advocate/SKILL.md +65 -124
  173. package/packs/dev-team/skills/devils-advocate/evals/evals.json +27 -0
  174. package/packs/dev-team/skills/devils-advocate/evals/files/6/PR_DESCRIPTION.md +20 -0
  175. package/packs/dev-team/skills/devils-advocate/evals/files/6/redeem.py +102 -0
  176. package/packs/dev-team/skills/devils-advocate/evals/files/6/test_redeem.py +54 -0
  177. package/packs/dev-team/skills/devils-advocate/examples/rate-limiter-review.md +36 -16
  178. package/packs/dev-team/skills/devils-advocate/manifest.json +3 -3
  179. package/packs/dev-team/skills/feature-implement-loop/evals/evals.json +27 -0
  180. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/TICKET.md +20 -0
  181. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/closures.csv +5 -0
  182. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/desk.py +11 -0
  183. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/fees.py +14 -0
  184. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/tests/test_fees.py +26 -0
  185. package/packs/dev-team/skills/feature-implement-loop/evals/files/3/away.txt +5 -0
  186. package/packs/dev-team/skills/feature-implement-loop/evals/files/3/members.txt +8 -0
  187. package/packs/dev-team/skills/feature-implement-loop/evals/files/3/rota.py +12 -0
  188. package/packs/dev-team/skills/launch-readiness/evals/evals.json +27 -0
  189. package/packs/dev-team/skills/launch-readiness/evals/files/2/launch-brief.md +32 -0
  190. package/packs/dev-team/skills/launch-readiness/evals/files/2/load-test-summary.txt +11 -0
  191. package/packs/dev-team/skills/launch-readiness/evals/files/2/privacy-signoff.txt +9 -0
  192. package/packs/dev-team/skills/launch-readiness/evals/files/2/sms-template.txt +2 -0
  193. package/packs/dev-team/skills/migration-plan/evals/evals.json +27 -0
  194. package/packs/dev-team/skills/migration-plan/evals/files/2/context.md +27 -0
  195. package/packs/dev-team/skills/migration-plan/evals/files/2/deferral-codes.csv +8 -0
  196. package/packs/dev-team/skills/migration-plan/evals/files/2/field-mapping.csv +11 -0
  197. package/packs/dev-team/skills/migration-plan/evals/files/2/trial-import-summary.txt +9 -0
  198. package/packs/dev-team/skills/pr-description-writer/evals/evals.json +27 -0
  199. package/packs/dev-team/skills/pr-description-writer/evals/files/4/changes.diff +64 -0
  200. package/packs/dev-team/skills/pr-description-writer/evals/files/4/commits.txt +2 -0
  201. package/packs/dev-team/skills/pre-merge-review/evals/evals.json +28 -0
  202. package/packs/dev-team/skills/pre-merge-review/evals/files/3/CHANGE.md +12 -0
  203. package/packs/dev-team/skills/pre-merge-review/evals/files/3/CONTRIBUTING.md +5 -0
  204. package/packs/dev-team/skills/pre-merge-review/evals/files/3/change.diff +53 -0
  205. package/packs/dev-team/skills/pre-merge-review/evals/files/3/clinic_dosing/__init__.py +1 -0
  206. package/packs/dev-team/skills/pre-merge-review/evals/files/3/clinic_dosing/dosing.py +30 -0
  207. package/packs/dev-team/skills/pre-merge-review/evals/files/3/clinic_dosing/drugs.py +6 -0
  208. package/packs/dev-team/skills/pre-merge-review/evals/files/3/tests/__init__.py +0 -0
  209. package/packs/dev-team/skills/pre-merge-review/evals/files/3/tests/test_dosing.py +29 -0
  210. package/packs/dev-team/skills/sonar-onboard/evals/evals.json +27 -0
  211. package/packs/dev-team/skills/sonar-onboard/evals/files/2/.github/workflows/ci.yml +10 -0
  212. package/packs/dev-team/skills/sonar-onboard/evals/files/2/.gitlab-ci.yml +32 -0
  213. package/packs/dev-team/skills/sonar-onboard/evals/files/2/README.md +11 -0
  214. package/packs/dev-team/skills/sonar-onboard/evals/files/2/pyproject.toml +16 -0
  215. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/__init__.py +1 -0
  216. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/_generated/__init__.py +0 -0
  217. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/_generated/stops_pb2.py +4 -0
  218. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/timetable.py +12 -0
  219. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/vendor/__init__.py +0 -0
  220. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/vendor/gtfs_lite/__init__.py +3 -0
  221. package/packs/dev-team/skills/sonar-onboard/evals/files/2/tests/test_timetable.py +14 -0
  222. package/packs/dev-team/skills/sonar-onboard/evals/files/2/web/package.json +20 -0
  223. package/packs/dev-team/skills/sonar-onboard/evals/files/2/web/src/board.test.ts +9 -0
  224. package/packs/dev-team/skills/sonar-onboard/evals/files/2/web/src/board.ts +8 -0
  225. package/packs/dev-team/skills/sonar-review/evals/evals.json +27 -0
  226. package/packs/dev-team/skills/sonar-review/evals/files/2/changed-files.txt +5 -0
  227. package/packs/dev-team/skills/sonar-review/evals/files/2/hotspots.json +7 -0
  228. package/packs/dev-team/skills/sonar-review/evals/files/2/issues.json +26 -0
  229. package/packs/dev-team/skills/sonar-review/evals/files/2/quality-gate.json +19 -0
  230. package/packs/dev-team/skills/tech-debt-register/evals/evals.json +28 -0
  231. package/packs/dev-team/skills/tech-debt-register/evals/files/4/incidents.csv +7 -0
  232. package/packs/dev-team/skills/tech-debt-register/evals/files/4/retro-notes.md +21 -0
  233. package/packs/dev-team/skills/test-plan-generator/evals/evals.json +27 -0
  234. package/packs/dev-team/skills/test-plan-generator/evals/files/2/permit-renewal-spec.md +40 -0
  235. package/packs/dev-team/skills/user-story-splitter/evals/evals.json +27 -0
  236. package/packs/dev-team/skills/user-story-splitter/evals/files/2/prd-shift-swap.md +38 -0
  237. package/packs/experience-design/skills/content-design/evals/evals.json +27 -0
  238. package/packs/experience-design/skills/content-design/evals/files/2/contact-centre-notes.md +18 -0
  239. package/packs/experience-design/skills/content-design/evals/files/2/current-page.md +17 -0
  240. package/packs/experience-design/skills/content-design/evals/files/2/policy-extract.md +17 -0
  241. package/packs/experience-design/skills/design-system-spec/evals/evals.json +27 -0
  242. package/packs/experience-design/skills/design-system-spec/evals/files/2/designer-notes.md +23 -0
  243. package/packs/experience-design/skills/design-system-spec/evals/files/2/eng-thread.md +11 -0
  244. package/packs/experience-design/skills/design-system-spec/evals/files/2/tokens.json +27 -0
  245. package/packs/experience-design/skills/information-architecture/evals/evals.json +27 -0
  246. package/packs/experience-design/skills/information-architecture/evals/files/2/page-inventory.csv +28 -0
  247. package/packs/experience-design/skills/information-architecture/evals/files/2/search-log.csv +16 -0
  248. package/packs/experience-design/skills/information-architecture/evals/files/2/stakeholder-notes.md +13 -0
  249. package/packs/experience-design/skills/service-blueprint/evals/evals.json +27 -0
  250. package/packs/experience-design/skills/service-blueprint/evals/files/2/complaints-summary.md +14 -0
  251. package/packs/experience-design/skills/service-blueprint/evals/files/2/process-notes.md +15 -0
  252. package/packs/experience-design/skills/service-blueprint/evals/files/2/timings.csv +5 -0
  253. package/packs/experience-design/skills/ux-writing/evals/evals.json +27 -0
  254. package/packs/experience-design/skills/ux-writing/evals/files/2/brand-notes.md +8 -0
  255. package/packs/experience-design/skills/ux-writing/evals/files/2/error-codes.csv +6 -0
  256. package/packs/experience-design/skills/ux-writing/evals/files/2/screens.md +26 -0
  257. package/packs/grc/skills/dpia/evals/evals.json +27 -0
  258. package/packs/grc/skills/dpia/evals/files/2/legal-notes.md +6 -0
  259. package/packs/grc/skills/dpia/evals/files/2/project-brief.md +17 -0
  260. package/packs/grc/skills/dpia/evals/files/2/vendor-factsheet.md +8 -0
  261. package/packs/grc/skills/risk-register/evals/evals.json +27 -0
  262. package/packs/grc/skills/risk-register/evals/files/2/committee-notes.md +8 -0
  263. package/packs/grc/skills/risk-register/evals/files/2/risks-draft.csv +9 -0
  264. package/packs/grc/skills/risk-register/evals/files/2/scoring-scale.md +12 -0
  265. package/packs/grc/skills/security-questionnaire-response/evals/evals.json +27 -0
  266. package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/business-continuity-plan.md +7 -0
  267. package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/information-security-policy.md +10 -0
  268. package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/pentest-summary-2026.md +10 -0
  269. package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/staff-handbook-extract.md +3 -0
  270. package/packs/grc/skills/security-questionnaire-response/evals/files/4/instructions.md +10 -0
  271. package/packs/grc/skills/security-questionnaire-response/evals/files/4/questionnaire.csv +11 -0
  272. package/packs/grc/skills/soc2-evidence-map/evals/evals.json +27 -0
  273. package/packs/grc/skills/soc2-evidence-map/evals/files/2/audit-scope.md +10 -0
  274. package/packs/grc/skills/soc2-evidence-map/evals/files/2/controls.csv +13 -0
  275. package/packs/grc/skills/soc2-evidence-map/evals/files/2/tooling-notes.md +8 -0
  276. package/packs/infra-as-code/skills/terraform-module/evals/evals.json +27 -0
  277. package/packs/infra-as-code/skills/terraform-module/evals/files/3/requirements.md +23 -0
  278. package/packs/infra-as-code/skills/terraform-plan-review/evals/evals.json +27 -0
  279. package/packs/infra-as-code/skills/terraform-plan-review/evals/files/3/plan.txt +87 -0
  280. package/packs/product-manager/skills/business-case/evals/evals.json +27 -0
  281. package/packs/product-manager/skills/business-case/evals/files/2/hollin_vale_inputs.md +46 -0
  282. package/packs/product-manager/skills/okr-cascade/evals/evals.json +27 -0
  283. package/packs/product-manager/skills/okr-cascade/evals/files/3/quillfield_2027.md +45 -0
  284. package/packs/product-manager/skills/prd-draft/evals/evals.json +27 -0
  285. package/packs/product-manager/skills/prd-draft/evals/files/2/brief.md +7 -0
  286. package/packs/product-manager/skills/prd-draft/evals/files/2/call_center_notes.md +7 -0
  287. package/packs/product-manager/skills/prd-draft/evals/files/2/meter_facts.md +6 -0
  288. package/packs/product-manager/skills/prfaq/evals/evals.json +26 -0
  289. package/packs/product-manager/skills/prfaq/evals/files/3/drone_notes.md +25 -0
  290. package/packs/product-manager/skills/requirements-interview/evals/evals.json +27 -0
  291. package/packs/product-manager/skills/requirements-interview/evals/files/2/project_brief.md +29 -0
  292. package/packs/product-manager/skills/strategy-analysis/evals/evals.json +27 -0
  293. package/packs/product-manager/skills/strategy-analysis/evals/files/4/market_notes.md +21 -0
  294. package/packs/product-manager/skills/success-metrics/evals/evals.json +28 -0
  295. package/packs/product-manager/skills/success-metrics/evals/files/3/brief.md +21 -0
  296. package/packs/product-manager/skills/user-journey-map/evals/evals.json +26 -0
  297. package/packs/product-manager/skills/user-journey-map/evals/files/3/research_notes.md +30 -0
  298. package/packs/research/skills/hypothesis-comparison/evals/evals.json +27 -0
  299. package/packs/research/skills/hypothesis-comparison/evals/files/2/season_notes.md +29 -0
  300. package/packs/research/skills/research-plan/evals/evals.json +28 -0
  301. package/packs/research/skills/research-plan/evals/files/3/request.md +19 -0
  302. package/packs/skill-engineering/skills/skill-author/evals/evals.json +27 -0
  303. package/packs/skill-engineering/skills/skill-author/evals/files/2/constraints.md +7 -0
  304. package/packs/skill-engineering/skills/skill-author/evals/files/2/example-discharge.md +22 -0
  305. package/packs/skill-engineering/skills/skill-author/evals/files/2/process.md +15 -0
  306. package/packs/skill-engineering/skills/skill-review/evals/evals.json +27 -0
  307. package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/SKILL.md +20 -0
  308. package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/evals/evals.json +12 -0
  309. package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/scripts/send_reminders.py +46 -0
  310. package/packs/solution-architect/skills/adr-generator/evals/evals.json +27 -0
  311. package/packs/solution-architect/skills/adr-generator/evals/files/2/integration-notes.md +23 -0
  312. package/packs/solution-architect/skills/adr-generator/evals/files/2/larchway-quote.txt +10 -0
  313. package/packs/solution-architect/skills/api-contract-draft/evals/evals.json +27 -0
  314. package/packs/solution-architect/skills/api-contract-draft/evals/files/2/booking-brief.md +18 -0
  315. package/packs/solution-architect/skills/api-contract-draft/evals/files/2/facilities-policy-excerpt.md +7 -0
  316. package/packs/solution-architect/skills/architecture-diagrams/evals/evals.json +27 -0
  317. package/packs/solution-architect/skills/architecture-diagrams/evals/files/2/telemetry-overview.md +23 -0
  318. package/packs/solution-architect/skills/data-contract/evals/evals.json +27 -0
  319. package/packs/solution-architect/skills/data-contract/evals/files/2/grain_deliveries.sql +15 -0
  320. package/packs/solution-architect/skills/data-contract/evals/files/2/publisher-notes.md +14 -0
  321. package/packs/solution-architect/skills/data-contract/evals/files/2/sample_rows.csv +6 -0
  322. package/packs/solution-architect/skills/figma-diagrams/evals/evals.json +26 -0
  323. package/packs/solution-architect/skills/figma-diagrams/evals/files/2/signage-file.json +373 -0
  324. package/packs/solution-architect/skills/nfr-spec/evals/evals.json +27 -0
  325. package/packs/solution-architect/skills/nfr-spec/evals/files/2/vehicle-booking-brief.md +21 -0
  326. package/packs/solution-architect/skills/reverse-architecture/evals/evals.json +28 -0
  327. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/README.md +11 -0
  328. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/docker-compose.yml +42 -0
  329. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/env.example +3 -0
  330. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/nginx.conf +15 -0
  331. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/worker-requirements.txt +4 -0
  332. package/packs/solution-architect/skills/threat-model/evals/evals.json +28 -0
  333. package/packs/solution-architect/skills/threat-model/evals/files/2/permits-design.md +23 -0
  334. package/packs/sre-oncall/skills/capacity-cost-model/evals/evals.json +28 -0
  335. package/packs/sre-oncall/skills/capacity-cost-model/evals/files/2/brief.md +22 -0
  336. package/packs/sre-oncall/skills/capacity-cost-model/evals/files/2/price-sheet.md +13 -0
  337. package/packs/sre-oncall/skills/capacity-cost-model/evals/files/2/rollout-plan.md +27 -0
  338. package/packs/sre-oncall/skills/cloud-cost-review/evals/evals.json +28 -0
  339. package/packs/sre-oncall/skills/cloud-cost-review/evals/files/3/cost-export-2026-09.csv +25 -0
  340. package/packs/sre-oncall/skills/cloud-cost-review/evals/files/3/notes.md +11 -0
  341. package/packs/sre-oncall/skills/cloud-cost-review/evals/files/3/utilisation-2026-09.csv +12 -0
  342. package/packs/sre-oncall/skills/delivery-metrics-report/evals/evals.json +27 -0
  343. package/packs/sre-oncall/skills/delivery-metrics-report/evals/files/3/deploys.csv +68 -0
  344. package/packs/sre-oncall/skills/delivery-metrics-report/evals/files/3/incidents.csv +7 -0
  345. package/packs/sre-oncall/skills/delivery-metrics-report/evals/files/3/prs.csv +46 -0
  346. package/packs/sre-oncall/skills/incident-comms/evals/evals.json +27 -0
  347. package/packs/sre-oncall/skills/incident-comms/evals/files/2/comms-rules.md +6 -0
  348. package/packs/sre-oncall/skills/incident-comms/evals/files/2/incident-channel.txt +17 -0
  349. package/packs/sre-oncall/skills/incident-comms/evals/files/2/last-status-update.md +5 -0
  350. package/packs/sre-oncall/skills/observability-plan/evals/evals.json +27 -0
  351. package/packs/sre-oncall/skills/observability-plan/evals/files/2/constraints.md +9 -0
  352. package/packs/sre-oncall/skills/observability-plan/evals/files/2/current-alerts.csv +10 -0
  353. package/packs/sre-oncall/skills/observability-plan/evals/files/2/service-overview.md +27 -0
  354. package/packs/sre-oncall/skills/runbook-generator/evals/evals.json +27 -0
  355. package/packs/sre-oncall/skills/runbook-generator/evals/files/2/deploy.sh +14 -0
  356. package/packs/sre-oncall/skills/runbook-generator/evals/files/2/handover-chat.txt +8 -0
  357. package/packs/sre-oncall/skills/runbook-generator/evals/files/2/service-notes.md +26 -0
  358. package/packs/sre-oncall/skills/runbook-generator/evals/files/2/standing-order.md +3 -0
  359. package/packs/stakeholder-comms/skills/audience-profile/evals/evals.json +26 -0
  360. package/packs/stakeholder-comms/skills/decision-log/evals/evals.json +26 -0
  361. package/packs/stakeholder-comms/skills/decision-log/evals/files/2/committee-meeting-2026-09-03.txt +23 -0
  362. package/packs/stakeholder-comms/skills/decision-log/evals/files/2/followup-thread.txt +6 -0
  363. package/packs/stakeholder-comms/skills/exec-summary/evals/evals.json +26 -0
  364. package/packs/stakeholder-comms/skills/exec-summary/evals/files/2/library-branches-options-paper.md +67 -0
  365. package/packs/trackers/skills/backlog-triage/evals/evals.json +27 -0
  366. package/packs/trackers/skills/backlog-triage/evals/files/3/parks-backlog.csv +19 -0
  367. package/packs/trackers/skills/team-status-report/evals/evals.json +28 -0
  368. package/packs/trackers/skills/team-status-report/evals/files/3/larkspur-week-42.csv +15 -0
  369. package/packs/trackers/skills/tracker-brief-sync/evals/evals.json +28 -0
  370. package/packs/trackers/skills/tracker-brief-sync/evals/files/3/brief-home-delivery.md +44 -0
  371. package/packs/dev-team/skills/devils-advocate/templates/challenge.md +0 -118
@@ -14,6 +14,31 @@
14
14
  "Gives a cache strategy summary paragraph with what is cached, why, expected hit rate, and the dominant cost driver before and after",
15
15
  "Does not invent prompt sections, request volumes, or models beyond those in the prompt"
16
16
  ]
17
+ },
18
+ {
19
+ "id": 2,
20
+ "held_out": "2026-10-18",
21
+ "prompt": "Our nursing-school tutor builds every Claude request with build_request.py, and notes.md has our usage and what the team wants. Where should the cache breakpoints go? Send back a corrected build_request function and a short note explaining the changes, under 250 words.",
22
+ "assertions": [
23
+ "Identifies that the first system block holds the user's name and role plus a timestamp, which change on every request and sit at the very start, so nothing after them can be reused; the fix moves them after the cached content or out of the cached prefix",
24
+ "Notes that the tools list differs by role and comes before the system prompt in the cached prefix, so students and instructors get separate cache entries, or recommends one stable tools list",
25
+ "Does not adopt the dev lead's breakpoint-on-everything plan; the corrected function uses no more than four breakpoints and the note gives the per-request limit as the reason",
26
+ "Puts a breakpoint after the shared static content (handbook and few-shot examples) and one on the latest conversation turn, or the case study, so each 12-turn session reuses its earlier turns",
27
+ "Does not give an exact monthly saving, since the files give no daily request volume or prices; any figure is tied to stated assumptions",
28
+ "Provides a corrected build_request, and the note is under 250 words"
29
+ ]
30
+ },
31
+ {
32
+ "id": 3,
33
+ "held_out": "2026-10-18",
34
+ "prompt": "I use Claude through a little script my son set up to help edit my novel. Every time, it sends the whole 300-page manuscript plus my style guide, and then one question about a chapter. The bill is huge. Someone said 'prompt caching'. What do I change? Two or three sentences, I'm not technical.",
35
+ "assertions": [
36
+ "Says to keep the unchanging part (style guide and manuscript) at the start of every request and mark it to be cached, with the changing question after it",
37
+ "Warns that editing the manuscript between questions means the cached copy no longer matches and has to be rebuilt, or that the cache expires after a few minutes unused, so it pays to ask several questions in one sitting on an unchanged draft",
38
+ "Does not invent a dollar figure or percentage saving for their bill",
39
+ "Uses two or three sentences in plain language",
40
+ "Answers without first asking questions"
41
+ ]
17
42
  }
18
43
  ]
19
44
  }
@@ -0,0 +1,40 @@
1
+ """Builds each Claude API request for Calder Tutor, the study assistant at the Calder School of
2
+ Nursing (invented). Called once per student or instructor turn."""
3
+ import datetime
4
+
5
+ from tutor.config import MODEL
6
+ from tutor.content import FEW_SHOT, load_case_study, load_handbook
7
+ from tutor.tools import INSTRUCTOR_TOOLS, STUDENT_TOOLS
8
+
9
+
10
+ def build_request(user, session, question):
11
+ system = [
12
+ {
13
+ "type": "text",
14
+ "text": (
15
+ f"You are Calder Tutor. Current user: {user.name} ({user.role}). "
16
+ f"Request time: {datetime.datetime.now().isoformat()}."
17
+ ),
18
+ },
19
+ # Clinical skills handbook, about 110,000 characters. Revised once per term.
20
+ {"type": "text", "text": load_handbook()},
21
+ # Eight worked question-and-answer examples, about 14,000 characters. Fixed.
22
+ {"type": "text", "text": FEW_SHOT},
23
+ ]
24
+
25
+ # Students get 3 tools; instructors get those 3 plus 2 grading tools.
26
+ tools = INSTRUCTOR_TOOLS if user.role == "instructor" else STUDENT_TOOLS
27
+
28
+ # The student picks one patient case study (about 6,000 characters) at the start of a session.
29
+ # It is sent as the first user message and stays for the whole session.
30
+ messages = [{"role": "user", "content": load_case_study(session.case_id)}]
31
+ messages += session.history # all earlier turns, user and assistant, in order
32
+ messages.append({"role": "user", "content": question})
33
+
34
+ return {
35
+ "model": MODEL,
36
+ "max_tokens": 1024,
37
+ "system": system,
38
+ "tools": tools,
39
+ "messages": messages,
40
+ }
@@ -0,0 +1,10 @@
1
+ # Calder Tutor: usage and the caching ask
2
+
3
+ - About 1,800 students and 60 instructors use the tutor.
4
+ - A typical session is 12 turns, with a turn every 1 to 3 minutes. Sessions are spread through the
5
+ day; there are long gaps overnight.
6
+ - The handbook changes once per term. The few-shot examples have not changed since launch.
7
+ - Our dev lead's plan: put a cache_control breakpoint on every block — the user line, the
8
+ handbook, the few-shot examples, the tools, the case study, and every user turn — "so nothing is
9
+ ever reprocessed".
10
+ - Finance wants the exact monthly saving from caching before we ship it.
@@ -13,6 +13,33 @@
13
13
  "The rough cost estimate states its pricing-tier assumption rather than guessing silently",
14
14
  "Does not invent workflow components, session counts, or payload sizes not in the prompt"
15
15
  ]
16
+ },
17
+ {
18
+ "id": 2,
19
+ "held_out": "2026-10-18",
20
+ "prompt": "We're planning the grant-screening workflow in workflow.md, and pilot-usage.csv has the token usage from our pilot. Estimate the token budget and the yearly cost, and tell me whether we're inside finance's cap. One page I can send to finance.",
21
+ "assertions": [
22
+ "Catches that 1,200 applications a round for three rounds is 3,600 a year, not 4,800, and bases the yearly figure on 3,600 (or shows both and flags the error)",
23
+ "Notes that the pilot's scoring stage used the 2,000-character draft rubric, so its measured stage 2 input understates the final 8,000-character rubric (by roughly 1,500 tokens on every model call in the loop), and adjusts for it or flags it",
24
+ "Identifies the scoring stage, on the large model with the history re-sent on every tool-call turn, as the dominant cost",
25
+ "Uses the supplied planning prices, giving roughly $0.07 to $0.13 per application and roughly $250 to $470 a year at 3,600 applications",
26
+ "States whether the estimate fits the $400 annual cap, consistent with its own figures",
27
+ "Does not invent prices, volumes, stages or tool calls that are not in the files",
28
+ "Fits about one page"
29
+ ]
30
+ },
31
+ {
32
+ "id": 3,
33
+ "held_out": "2026-10-18",
34
+ "prompt": "Our school district wants to use an AI to draft report card comments. 600 students, each gets a comment of about 80 words; the teacher pastes in a few notes per student (maybe 50 words), and there's one page of instructions that goes with every request. Roughly how many tokens and how much money is that? Just a few bullets.",
35
+ "assertions": [
36
+ "Gives a rough total for the 600 comments that is consistent with the inputs: on the order of a few hundred thousand tokens in total, not millions",
37
+ "Points out that the page of instructions, sent with every request, makes up most of the input",
38
+ "Any cost figure states the price it assumes and is consistent with that price, coming to a few dollars rather than hundreds",
39
+ "Does not invent extra requirements such as several terms, rewrites or a number of teachers, or marks any such thing clearly as an assumption",
40
+ "Is a few short bullets in plain language",
41
+ "Answers without first asking questions"
42
+ ]
16
43
  }
17
44
  ]
18
45
  }
@@ -0,0 +1,17 @@
1
+ # Pilot run, September 2026, 5 applications. Stage 2 used the 2,000-character draft rubric, not the final 8,000-character rubric.
2
+ application,stage,input_tokens,output_tokens
3
+ A-101,extract,5180,410
4
+ A-101,score,17420,790
5
+ A-101,summary,4860,395
6
+ A-102,extract,4950,388
7
+ A-102,score,17050,812
8
+ A-102,summary,4700,402
9
+ A-103,extract,15820,455
10
+ A-103,score,18300,840
11
+ A-103,summary,15400,410
12
+ A-104,extract,5400,402
13
+ A-104,score,17900,775
14
+ A-104,summary,5050,388
15
+ A-105,extract,5010,396
16
+ A-105,score,16880,801
17
+ A-105,summary,4790,399
@@ -0,0 +1,42 @@
1
+ # Grant application screening: planned Claude workflow
2
+
3
+ Merrow Arts Foundation (invented). Each application arrives as a PDF, is converted to plain text,
4
+ then goes through three stages.
5
+
6
+ ## Stage 1: extract (small model)
7
+
8
+ - Input: extraction instructions (about 3,000 characters) plus the full application text.
9
+ Applications average about 18,000 characters; the largest we have seen was about 60,000.
10
+ - Output: a JSON record of the applicant, project, amount and dates, about 1,200 characters.
11
+ - max_tokens is currently set to 4,096.
12
+
13
+ ## Stage 2: score (large model, agent loop)
14
+
15
+ - System prompt: scoring instructions (about 4,000 characters) plus the scoring rubric
16
+ (about 8,000 characters).
17
+ - First user message: the stage 1 JSON record.
18
+ - The model calls the check_eligibility tool about 4 times per application. Each tool result is
19
+ about 2,000 characters of JSON. Each tool-call turn produces about 150 output tokens.
20
+ - The full conversation history is kept and re-sent on every turn.
21
+ - The final turn returns a score and justification of about 600 characters.
22
+
23
+ ## Stage 3: summary (small model)
24
+
25
+ - Input: summary instructions (about 1,000 characters), the stage 2 score and justification, and
26
+ the full application text again.
27
+ - Output: a 300-word summary for the grants panel.
28
+ - max_tokens is currently set to 4,096.
29
+
30
+ ## Volume
31
+
32
+ About 1,200 applications per funding round, three rounds a year, so about 4,800 applications a
33
+ year.
34
+
35
+ ## Planning prices (from finance, per million tokens)
36
+
37
+ | Model | Input | Output |
38
+ |-------|-------|--------|
39
+ | small | $0.80 | $4.00 |
40
+ | large | $3.00 | $15.00 |
41
+
42
+ Finance has approved a cap of $400 a year for this workflow.
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "One job application, for any occupation: an honest check of your resume against the posting, a tailored resume and a cover letter that say nothing you didn't, the application form's answers drafted from your resume, and a script that lists every figure and name in a draft that your own resume doesn't contain.",
2
+ "description": "Job applications, for any occupation: a shortlist of which of an employer's roles to go for, an honest check of your resume against the posting, a tailored resume and a cover letter that say nothing you didn't, the application form's answers drafted from your resume, and a script that lists every figure and name in a draft that your own resume doesn't contain.",
3
3
  "display_name": "Job applications",
4
4
  "keywords": [
5
5
  "resume",
@@ -136,10 +136,11 @@ posting**, ask for the posting in one line: there is nothing to compare against.
136
136
 
137
137
  - ✅ Deciding whether a posting is worth applying for
138
138
  - ✅ Finding the gaps between a resume and a posting before tailoring the resume
139
- - ✅ Checking several postings against one resume to choose where to spend effort
139
+ - ✅ Checking two or three postings against one resume to choose where to spend effort
140
140
 
141
141
  ## When NOT to use this skill
142
142
 
143
+ - ❌ Sorting a long list of openings into which to apply for. Use `role-shortlist`, then come back for the first choice.
143
144
  - ❌ Rewriting the resume for the posting. Use `resume-tailor`.
144
145
  - ❌ Writing the cover letter. Use `cover-letter`.
145
146
  - ❌ Critiquing the resume as a document, with no job in mind. Use `doc-critique`.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "job-fit-analysis",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Compare a job posting with a resume and say honestly whether to apply: each requirement marked met, partly met, not shown or not met, with the resume line it rests on; the requirements an employer screens on listed first; and the questions whose answers would change the picture. Works for any occupation and level. Use when the user asks \"am I a good fit for this job\", \"should I apply for this\", \"how does my resume match this posting\", or wants the gaps between a job description and their CV before applying.",
5
5
  "entrypoint": "SKILL.md",
6
6
  "deps": {
@@ -14,7 +14,8 @@
14
14
  "related": [
15
15
  "cover-letter",
16
16
  "doc-critique",
17
- "resume-tailor"
17
+ "resume-tailor",
18
+ "role-shortlist"
18
19
  ],
19
20
  "tags": [
20
21
  "job-search",
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: role-shortlist
3
+ description: Read every open role on an employer's careers page, a job-board export or a folder of saved postings, and say which ones one person should apply for — each role judged only from its own posting text, roles that couldn't be read listed as unread instead of guessed from their titles, a role whose screening requirement the person doesn't meet named as out whatever else fits, and the same role posted twice counted once. Works for any occupation. Use when the user asks "which of these jobs should I apply for", "go through this company's openings", "shortlist these postings against my CV", or has more postings than they want to check one by one.
4
+ ---
5
+
6
+ # role-shortlist
7
+
8
+ **The rule: a role is judged from its posting, or not at all.** A careers page lists forty
9
+ titles. The agent's habit is to rank them from the titles, the department and what such jobs
10
+ usually ask for, and a ranking built that way looks exactly like one built from the postings.
11
+ "Senior Care Coordinator" may require a nursing registration; "Data Analyst" may be a night
12
+ shift in another country. So each role is ranked only after its own posting text has been
13
+ read. A role whose posting you couldn't open, or that is only a title in a list, goes under
14
+ **Not read**, with no score, no guess and no reason to apply.
15
+
16
+ Two things follow from the rule:
17
+
18
+ - **A screening requirement the person doesn't meet takes a role out.** A licence or
19
+ registration, a degree the posting says is required, a minimum number of years, the right
20
+ to work in a country, a location or shift, a clearance, a language. One of those unmet
21
+ outweighs everything else that fits, so the role goes under **Skip** with that requirement
22
+ named, however good the rest looks.
23
+ - **One role is one role.** The same job posted in three cities, or reposted with a new
24
+ reference number, is one entry with its locations listed. A posting marked closed, or past
25
+ its closing date, is noted and not ranked.
26
+
27
+ ## How to respond
28
+
29
+ 1. **Gather the postings.** Use what you were given: saved pages, a pasted list, an export, a
30
+ folder of files. When you were given a careers-page link and can open it, read the listing
31
+ and then each posting. When you can't open something, say so once and ask for the text or
32
+ saved pages; never fill it in from what you know about the employer.
33
+
34
+ 2. **Read the person's evidence.** Their resume, and any other file of theirs that sits beside
35
+ it or that they point to. Nothing is credited because people in that line of work usually
36
+ have it. Note any constraint they stated themselves: where they can work, hours, salary,
37
+ the kind of role they want.
38
+
39
+ 3. **Check each posting for what could screen them out first.** For every role, find the
40
+ requirements an employer checks before reading the rest, and mark whether the person's
41
+ material meets them. Any unmet one sends the role to **Skip**, named in a few words:
42
+ "requires HCPC registration".
43
+
44
+ 4. **Rank the rest from the posting's own requirements.** For each remaining role, compare
45
+ the required and preferred items with the person's evidence, and say in one line why it
46
+ fits and what is missing. Use the posting's wording for requirements and the person's for
47
+ evidence. Similar is not the same: a named system, qualification or setting the posting
48
+ requires is met only if the person's material names it.
49
+
50
+ 5. **Give the shortlist, answer first.** Open with the two or three roles worth applying for
51
+ and why, in a sentence or two. Then:
52
+ - **Apply**: roles where nothing screening is unmet and most of what's required is met.
53
+ - **Maybe**: roles worth applying for if one named question has the right answer ("if your
54
+ forklift licence is current").
55
+ - **Skip**: each with the requirement that rules it out.
56
+ - **Not read**: each with why (link wouldn't open, title only, page was empty).
57
+ - **Closed or duplicate**: one line each.
58
+
59
+ One line per role. Every role you were given appears exactly once, so the person can see
60
+ nothing was dropped.
61
+
62
+ 6. **Close with what to do next**, in two or three lines: which role to check in full first,
63
+ the one or two questions whose answers would move a role between groups, and which unread
64
+ postings to fetch.
65
+
66
+ 7. **Fit the size and format they asked for.** "Just the top three" gets three, with one line
67
+ saying how many others were reviewed. A list for a spreadsheet gets one row per role. The
68
+ whole answer is in the reply unless they ask for a file.
69
+
70
+ 8. **Deliver from what you have.** With postings and a few lines about the person, shortlist
71
+ against those and say a resume would settle the rest. With a resume and no postings, ask
72
+ for the postings in one line.
73
+
74
+ ## Quality bar
75
+
76
+ - **No role is ranked without its posting text having been read.** Unread roles are listed as
77
+ unread, with no verdict.
78
+ - **A role with an unmet screening requirement is never under Apply,** and the requirement is
79
+ named.
80
+ - **Every role given appears exactly once;** duplicates are merged, closed ones are noted.
81
+ - **Every "fits" rests on the person's own material,** and a similar thing is not counted as
82
+ the named one.
83
+ - **The answer opens the reply,** and the size is the one asked for.
84
+
85
+ ## When to use this skill
86
+
87
+ - ✅ "Here's the careers page export for this company — which should I go for?"
88
+ - ✅ "I've saved twelve postings in this folder. Shortlist them against my CV."
89
+ - ✅ Narrowing a long list of openings to the few worth a full application
90
+
91
+ ## When NOT to use this skill
92
+
93
+ - ❌ A full, requirement-by-requirement check of one posting — use `job-fit-analysis` on the role this shortlist puts first
94
+ - ❌ Rewriting the resume for a role — use `resume-tailor`
95
+ - ❌ Searching the internet for jobs to apply for — this reads the postings you have or point to
96
+
97
+ ## Anti-patterns to avoid
98
+
99
+ - ❌ **Ranking from titles.** "Operations Lead sounds like a good fit" with the posting unread.
100
+ - ❌ **Guessing an unread posting** from what the employer or the job title usually means.
101
+ - ❌ **A strong fit over an unmet licence.** Screening requirements decide first.
102
+ - ❌ **Counting a duplicate twice,** or ranking a closed posting.
103
+ - ❌ **Dropping roles silently.** A list that covers 9 of 12 postings without saying so.
104
+ - ❌ **Crediting the usual.** "As a nurse you'll have used Epic" is an invention.
105
+ - ❌ **Percentages and scores.** "82% match" hides which requirement is the problem.
106
+ - ❌ **Judging the person.** No remarks on age, gaps, family, health or anything an employer may
107
+ not lawfully weigh.
@@ -0,0 +1,34 @@
1
+ [
2
+ {
3
+ "query": "Here are all the open roles at the hospital trust, saved in postings/. Which ones should I actually apply for? My CV is cv.md",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "go through this company's careers page export and shortlist the jobs that fit my resume",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "I have 15 job ads saved, can you tell me which are worth my time",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "which of these openings match my experience? resume attached",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "Am I a good fit for this one posting? Be honest about the gaps",
20
+ "should_trigger": false
21
+ },
22
+ {
23
+ "query": "Tailor my resume for the warehouse supervisor job",
24
+ "should_trigger": false
25
+ },
26
+ {
27
+ "query": "Write a cover letter for the analyst role",
28
+ "should_trigger": false
29
+ },
30
+ {
31
+ "query": "Find me remote data jobs on the internet",
32
+ "should_trigger": false
33
+ }
34
+ ]
@@ -0,0 +1,75 @@
1
+ {
2
+ "skill_name": "role-shortlist",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "I saved the Tamsworth Valley Health Board vacancies page as careers-index.html, and every posting I could open is in the postings folder. My CV is cv.md. Which of these should I actually apply for?",
7
+ "assertions": [
8
+ "The reply opens with Patient Pathway Coordinator and Medical Secretary - Cardiology as the roles to apply for, with a reason for each, before the role-by-role list",
9
+ "Senior Care Coordinator is under Skip, not Apply or Maybe, and the reason named is the professional registration (nurse, occupational therapist, physiotherapist or social worker) that the CV says she does not hold",
10
+ "The two Patient Pathway Coordinator postings (HV-2231-B and HV-2231-E) are one entry that lists both Bramwick and Elsford, not two ranked entries",
11
+ "Outpatient Booking Team Leader (HV-2176) is noted as closed and is not placed under Apply, Maybe or Skip",
12
+ "Waiting List Validation Lead is listed as not read because it is only a title in the listing with no posting saved, and it gets no verdict, no reason to apply and no stated requirements",
13
+ "All 11 vacancies in careers-index.html are accounted for, each appearing exactly once (10 entries once the duplicate is merged)",
14
+ "Data and Performance Analyst is not under Apply, and her Excel spreadsheet work is not counted as SQL or Power BI",
15
+ "It gives no percentage, score or match rating, and does not credit her with any registration, qualification, system or experience that is not in cv.md"
16
+ ]
17
+ },
18
+ {
19
+ "id": 2,
20
+ "prompt": "This is my saved search from the job board: job-board-export.csv. Where I could open the full ad I saved it in the postings folder, named by its reference number. My CV is cv.md. I'm staying in Fenmoor and I can't do night shifts any more. Which of these are worth applying for?",
21
+ "assertions": [
22
+ "Warehouse Team Leader (FJ-10455) is under Skip with the nights-only shift named as the reason, even though the reply may note that his acting team leader experience fits",
23
+ "The two Reach Truck Operator rows (FJ-10422 and FJ-10587) are treated as one role, with both reference numbers noted, not ranked twice",
24
+ "VNA Truck Operator (FJ-10431) is not under Apply, the missing VNA licence is named, and his reach truck licence is not counted as meeting it",
25
+ "Forklift Driver - Days (FJ-10502), Stock Control Lead (FJ-10519) and Transport Clerk (FJ-10533) are listed as not read because only a snippet was saved, with no verdict on fit, and the reply suggests fetching their full postings",
26
+ "Reach Truck Operator is among the roles the reply opens with as worth applying for",
27
+ "For Inventory Controller (FJ-10476), the Korvex requirement is marked as not shown or as the open question, and his StockPilot experience is not presented as Korvex",
28
+ "All 10 rows in the export are accounted for, each appearing exactly once (9 entries once the duplicate is merged)",
29
+ "It does not credit him with a VNA licence, Korvex, multi-drop driving experience or any other licence or experience not in cv.md, and gives no percentage or match score"
30
+ ]
31
+ },
32
+ {
33
+ "id": 3,
34
+ "prompt": "Which should I go for, just the top two? I've worked in hotels for six years, front desk first and night manager for the last two at a 70-room hotel. I run a team of four on nights and do the rota and the end-of-night reports. I want to get back to working days.\n\n1. Guest Services Manager, The Marlowe, Penhallow - lead the front desk and concierge team at a 120-room hotel.\n2. Night Manager, Harbourside Lodge - overnight sole charge of a 90-room hotel, four nights on, four off.\n3. Reservations Supervisor, Ferrand Hotels - run a team of five handling group and online bookings, Monday to Friday days.\n4. Bar and Events Manager, The Old Mill Inn - personal licence holder required; run the bar and the weekend weddings.\n5. Revenue Analyst, Ferrand Hotels - set room rates using our revenue system; degree in a numerate subject preferred.\n6. Housekeeping Supervisor, The Marlowe, Penhallow - supervise 12 room attendants, early starts from 6am.",
35
+ "assertions": [
36
+ "It names exactly two roles as its picks, not a ranked list of all six",
37
+ "Night Manager is not one of the two picks, because the person said they want to work days",
38
+ "Bar and Events Manager is not a pick unless the reply names the personal licence as a question to settle first, since the person did not say they hold one",
39
+ "It says the picks rest on one-line descriptions rather than full postings, and that the full postings should be read before applying",
40
+ "It does not state any requirement, duty, pay or hours for a role beyond what that role's one line says",
41
+ "It says in a line or so that the other four were looked at, without a full write-up of each",
42
+ "It delivers the two picks from what was given, and does not refuse or stop to ask for a CV or the postings first",
43
+ "It gives no percentage or match score, and does not credit the person with a qualification, licence or system they did not mention"
44
+ ]
45
+ },
46
+ {
47
+ "id": 4,
48
+ "held_out": "2026-10-18",
49
+ "prompt": "I'm a heavy diesel tech looking to move on from my current workshop. I saved Brackwater Freight's careers page as brackwater-careers.html and exported my saved TradesBoard listings as tradesboard-export.csv. My CV is mere-castell-cv.md. Which of these should I apply for? I'm staying in Tarnhaven: Marrowby and Port Halloran are both under an hour's drive, Kestrel Flats is about three and a half hours away. Give me my top three at most, ranked, and just a line on each of the others so I know why not. I'll be reading it on my phone at smoko so keep it tight.",
50
+ "assertions": [
51
+ "It recommends no more than three roles, and covers each of the other roles in about a line, not a full write-up",
52
+ "Every role it recommends is one of the Brackwater Heavy Diesel Technician at Tarnhaven (HDT-0412), the Tolley Earthmoving Hydraulics Technician, or the Marrowby Truck & Trailer Brake & Suspension Technician, and it does not set the Tolley or Marrowby role aside over items those postings list only as preferred or desirable (excavator experience, a forklift certificate, CoF inspection experience)",
53
+ "It rules out the Brackwater Senior Fleet Technician because night shifts are a required part of its roster and the CV says day shift only, even though the pay and experience fit; and it rules out the Halloran Haulage Mobile Service Technician (Class 4 licence required at start, she holds Class 2), the Kestrel Flats Workshop Supervisor (must live within 30 minutes of the site, no relocation, and she is staying in Tarnhaven), and the Fleet Reliability Engineer (a mechanical engineering degree is required and the CV shows a trade certificate)",
54
+ "It treats the Brackwater Heavy Diesel Technician on the careers page and the TradesBoard 'Heavy Diesel Mechanic (Tarnhaven depot)' listing as one role (both are ref HDT-0412), not two, while keeping the Port Halloran Heavy Diesel Technician (HDT-0431) as a separate role",
55
+ "For the Port Halloran Heavy Diesel Technician (HDT-0431) it says the saved page has only the title and a link, not the posting, and neither recommends it nor rules it out on the title alone; it suggests reading the full posting first",
56
+ "It accounts for all eight distinct roles across the two files: the three Brackwater featured roles, the Port Halloran listing, and the four other TradesBoard listings",
57
+ "It does not credit Mere with anything her CV does not show, such as a Class 4 licence, an engineering degree, a forklift certificate, CoF inspection experience, supervisory experience beyond mentoring one apprentice, or availability for nights, and it does not state what the Port Halloran posting says"
58
+ ]
59
+ },
60
+ {
61
+ "id": 5,
62
+ "held_out": "2026-10-18",
63
+ "prompt": "ok so my cousin sent me these from the local jobs group, which 2 should i actually go for?? 2 max, i dont have time to do more applications than that\n\nme: line cook 3 yrs at a pub kitchen in Dunmore Quay, food safety level 2 cert, no car so its the bus or nothing, and im on notice til 15 nov so cant start before that\n\n1. Commis chef - The Lantern Room, Dunmore Quay. 4 nights a wk, €15.10/hr, 1 yr kitchen exp, start asap\n2. Breakfast cook, Gullhaven Hotel (Gullhaven). 6am starts, own transport essential (no bus out there before 7). 2 yrs exp, €15.80\n3. chef de partie - Saltmarsh Bistro, Dunmore Quay. 2+ yrs line experience, food safety level 2. starting december. €16.40/hr\n4. Lantern Room Dunmore Quay - commis chef, 4 nights/week, 15.10 ph, kitchen exp 1yr+, start ASAP!!\n5. Head chef, Copperline Catering. food safety level 3 required + 5 yrs supervisory experience, €48k\n6. kitchen porter/cook - Brindle Café, he only sent the link: https://jobs.example.com/brindle-kp",
64
+ "assertions": [
65
+ "It picks no more than two roles, as asked, and keeps the reply short to match the quick question",
66
+ "It recognises that postings 1 and 4 are the same Lantern Room commis chef job and does not count them as two roles or use them as both picks",
67
+ "Its picks include the Saltmarsh Bistro chef de partie, and neither pick is the Gullhaven Hotel, Copperline Catering or Brindle Café job",
68
+ "It says the Gullhaven Hotel job is out because own transport is essential with 6am starts and there is no bus before 7, and the Copperline head chef job is out because it requires a level 3 food safety certificate and five years' supervisory experience, which the person doesn't have",
69
+ "For the Brindle Café job it says only a link was given, so the posting hasn't been read and the job can't be judged from its title; it neither recommends it nor rules it out",
70
+ "It points out that the Lantern Room wants someone to start as soon as possible while the person can't start until after 15 November, as something to raise or weigh, rather than treating the start date as fine",
71
+ "It does not credit the person with anything they didn't say, such as a car or driving licence, a level 3 food safety certificate, supervisory or chef de partie experience, or more than three years in kitchens, and it does not claim to know what the Brindle Café posting says"
72
+ ]
73
+ }
74
+ ]
75
+ }
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head><meta charset="utf-8"><title>Vacancies | Tamsworth Valley Health Board</title></head>
4
+ <body>
5
+ <header><h1>Tamsworth Valley Health Board - Current vacancies</h1></header>
6
+ <p>Showing 11 vacancies. Saved 15 October 2026.</p>
7
+ <ul class="vacancy-list">
8
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2231-B">Patient Pathway Coordinator - Bramwick General Hospital</a></li>
9
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2231-E">Patient Pathway Coordinator - Elsford Community Hospital</a></li>
10
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2240">Senior Care Coordinator - Community Services</a></li>
11
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2198">Medical Secretary - Cardiology, Elsford</a></li>
12
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2176">Outpatient Booking Team Leader - Bramwick</a></li>
13
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2244">Clinical Coding Officer - Bramwick</a></li>
14
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2251">Data and Performance Analyst - Headquarters</a></li>
15
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2253">Healthcare Support Worker (Nights) - Corrin Bay</a></li>
16
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2257">Reception and Admin Assistant - Corrin Bay Health Centre</a></li>
17
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2259">Estates Maintenance Electrician - Bramwick</a></li>
18
+ <li><a href="https://careers.tamsworth-valley.test/jobs/HV-2262">Waiting List Validation Lead - Elsford</a></li>
19
+ </ul>
20
+ <footer><p>Tamsworth Valley Health Board is an equal opportunities employer.</p></footer>
21
+ </body>
22
+ </html>
@@ -0,0 +1,44 @@
1
+ # Rhiannon Talbot
2
+
3
+ Elsford, Tamsworth Valley
4
+
5
+ ## Profile
6
+
7
+ Medical secretary and outpatient administrator with six years in hospital outpatients. I manage
8
+ referral-to-treatment pathways, type clinic letters and keep consultants' clinics running on time.
9
+
10
+ ## Experience
11
+
12
+ **Medical Secretary to the Orthopaedic Team**, Northmoor Health Board, Garrow Hospital
13
+ April 2022 - present
14
+ - Secretary to three orthopaedic consultants; type clinic letters and discharge summaries from
15
+ digital dictation (DictaScribe), turnaround under 5 working days.
16
+ - Track referral-to-treatment (RTT) pathways for about 1,400 patients in MedFlow PAS and flag
17
+ breach risks to the service manager each week.
18
+ - Validate the orthopaedic waiting list each month: contact patients, remove duplicates and
19
+ record outcomes in MedFlow.
20
+ - Book and rebook clinics and theatre lists; handle calls from patients and GP practices.
21
+ - Keep the clinic tracking spreadsheet in Excel (filters, conditional formatting).
22
+
23
+ **Outpatient Administrator**, Northmoor Health Board, Garrow Hospital
24
+ September 2019 - April 2022
25
+ - Booked outpatient appointments in MedFlow PAS for dermatology and rheumatology.
26
+ - Prepared clinic lists and case notes; managed cancellations and the partial booking list.
27
+ - Covered main outpatients reception one day a week.
28
+
29
+ **Receptionist**, Carrick Lane Dental Practice, Garrow
30
+ 2017 - 2019
31
+
32
+ ## Qualifications
33
+
34
+ - Level 3 Diploma in Medical Administration, 2019
35
+ - Audio typing, 70 wpm, tested 2023
36
+ - GCSEs including English and Maths
37
+
38
+ ## Training
39
+
40
+ - Information governance and data protection, renewed 2026
41
+ - Safeguarding adults and children, level 1, 2026
42
+ - Customer care in healthcare (in-house, one day), 2021
43
+
44
+ No professional registration. Full driving licence and own car.
@@ -0,0 +1,23 @@
1
+ # Clinical Coding Officer (Trainee)
2
+
3
+ **Tamsworth Valley Health Board** - Bramwick General Hospital
4
+ Reference: HV-2244 | Band 3, rising to Band 4 on completing training | Permanent, full time
5
+ Salary: £24,100 - £25,600 | Closing date: 20 November 2026
6
+
7
+ ## About the role
8
+
9
+ You will read inpatient case notes and translate diagnoses and procedures into ICD-10 and OPCS-4
10
+ codes. Full training is provided, including the national clinical coding standards course in your
11
+ first year.
12
+
13
+ ## Essential
14
+
15
+ - Good knowledge of medical terminology and anatomy
16
+ - High level of accuracy and attention to detail
17
+ - Experience of working with confidential patient records
18
+ - Able to work to monthly coding deadlines
19
+
20
+ ## Desirable
21
+
22
+ - Previous experience of clinical coding using ICD-10 and OPCS-4
23
+ - Experience using MedFlow PAS
@@ -0,0 +1,28 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head><meta charset="utf-8"><title>Data and Performance Analyst | Tamsworth Valley Health Board</title></head>
4
+ <body>
5
+ <h1>Data and Performance Analyst</h1>
6
+ <p><strong>Tamsworth Valley Health Board</strong> - Headquarters, Bramwick (hybrid, 2 days in office)</p>
7
+ <p>Reference: HV-2251 | Band 6 | Permanent, full time | Salary: £37,300 - £44,900<br>
8
+ Closing date: 9 November 2026</p>
9
+
10
+ <h2>About the role</h2>
11
+ <p>You will produce the board's weekly waiting-time and RTT performance reports, build
12
+ dashboards for service managers and answer ad hoc data requests.</p>
13
+
14
+ <h2>Essential</h2>
15
+ <ul>
16
+ <li>Degree in a numerate subject, or equivalent experience in a data analysis role</li>
17
+ <li>Writing SQL queries against a reporting database</li>
18
+ <li>Building dashboards in Power BI</li>
19
+ <li>Understanding of RTT and waiting-time reporting</li>
20
+ </ul>
21
+
22
+ <h2>Desirable</h2>
23
+ <ul>
24
+ <li>Experience with Python or R</li>
25
+ <li>Experience of health board performance reporting</li>
26
+ </ul>
27
+ </body>
28
+ </html>
@@ -0,0 +1,20 @@
1
+ # Estates Maintenance Electrician
2
+
3
+ **Tamsworth Valley Health Board** - Estates Department, Bramwick General Hospital
4
+ Reference: HV-2259 | Band 5 | Permanent, full time, with on-call rota
5
+ Salary: £30,100 - £36,500 | Closing date: 12 November 2026
6
+
7
+ ## About the role
8
+
9
+ Planned and reactive electrical maintenance across the Bramwick hospital site, including
10
+ emergency lighting, fire alarm and generator testing.
11
+
12
+ ## Essential
13
+
14
+ - Level 3 electrical installation qualification and current wiring regulations certificate
15
+ - Time-served apprenticeship as an electrician
16
+ - Experience of maintenance in a commercial or healthcare building
17
+
18
+ ## Desirable
19
+
20
+ - Experience of healthcare electrical systems
@@ -0,0 +1,20 @@
1
+ # Healthcare Support Worker (Nights)
2
+
3
+ **Tamsworth Valley Health Board** - Corrin Bay Community Hospital, Ward 2
4
+ Reference: HV-2253 | Band 3 | Permanent, 30 hours a week, nights only
5
+ Salary: £24,100 - £25,600 plus unsocial hours enhancement | Closing date: 4 November 2026
6
+
7
+ ## About the role
8
+
9
+ Supporting registered nurses to deliver personal care to older inpatients overnight: washing,
10
+ dressing, repositioning, taking observations and recording them accurately.
11
+
12
+ ## Essential
13
+
14
+ - Care Certificate, or willingness to complete it within 12 weeks of starting
15
+ - Experience of providing personal care in a hospital, care home or home care setting
16
+ - Able to work nights only, including weekends and bank holidays
17
+
18
+ ## Desirable
19
+
20
+ - Level 2 or 3 qualification in health and social care