skilldrop-cli 0.16.19 → 0.16.21

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 (362) hide show
  1. package/bin/skilldrop.js +18 -4
  2. package/catalogue.json +2 -1
  3. package/model-routing.json +221 -217
  4. package/package.json +1 -1
  5. package/packs/ai-engineering/skills/agent-adoption-stage/evals/evals.json +28 -0
  6. package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/agent-telemetry.csv +7 -0
  7. package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/cto-offsite-memo.md +9 -0
  8. package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/dev-survey-summary.md +9 -0
  9. package/packs/ai-engineering/skills/agent-adoption-stage/evals/files/2/engineering-policy.md +15 -0
  10. package/packs/ai-engineering/skills/agent-budget/evals/evals.json +27 -0
  11. package/packs/ai-engineering/skills/agent-budget/evals/files/3/finance-note.md +10 -0
  12. package/packs/ai-engineering/skills/agent-budget/evals/files/3/pipeline.md +18 -0
  13. package/packs/ai-engineering/skills/agent-budget/evals/files/3/price-sheet.md +9 -0
  14. package/packs/ai-engineering/skills/agent-budget/evals/files/3/september-usage.csv +7 -0
  15. package/packs/ai-engineering/skills/agent-loop-design/evals/evals.json +28 -0
  16. package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/design-guide-extract.md +13 -0
  17. package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/legal-advice.md +9 -0
  18. package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/request-from-head-of-planning.md +11 -0
  19. package/packs/ai-engineering/skills/agent-loop-design/evals/files/3/trial-notes.md +13 -0
  20. package/packs/ai-engineering/skills/agent-threat-model/evals/evals.json +27 -0
  21. package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/agent-config.yaml +19 -0
  22. package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/agent-spec.md +17 -0
  23. package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/previous-review.md +10 -0
  24. package/packs/ai-engineering/skills/agent-threat-model/evals/files/4/vendor-security-note.md +4 -0
  25. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/evals.json +28 -0
  26. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/cno-brief.md +17 -0
  27. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/education-capacity.md +5 -0
  28. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/pilot-report.md +14 -0
  29. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/survey-summary.md +7 -0
  30. package/packs/ai-engineering/skills/ai-adoption-rollout/evals/files/2/union-letter.md +8 -0
  31. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/evals.json +28 -0
  32. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/ceo-note.md +5 -0
  33. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/governance-status.md +6 -0
  34. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/interview-notes.md +18 -0
  35. package/packs/ai-engineering/skills/ai-readiness-assessment/evals/files/2/it-inventory.md +12 -0
  36. package/packs/ai-engineering/skills/ai-usage-report/evals/evals.json +27 -0
  37. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/draftwell-events.csv +249 -0
  38. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/export-note.md +9 -0
  39. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/published-assets.csv +44 -0
  40. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/team-roster.md +10 -0
  41. package/packs/ai-engineering/skills/ai-use-case-triage/evals/evals.json +27 -0
  42. package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/data-team.md +5 -0
  43. package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/finance-notes.md +7 -0
  44. package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/ideas.csv +10 -0
  45. package/packs/ai-engineering/skills/ai-use-case-triage/evals/files/2/legal-note.md +7 -0
  46. package/packs/ai-engineering/skills/llm-eval-harness/evals/evals.json +28 -0
  47. package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/current-tests.md +6 -0
  48. package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/feature-brief.md +14 -0
  49. package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/incident-log.md +8 -0
  50. package/packs/ai-engineering/skills/llm-eval-harness/evals/files/2/pm-request.md +10 -0
  51. package/packs/ai-engineering/skills/subagent-design/evals/evals.json +27 -0
  52. package/packs/ai-engineering/skills/subagent-design/evals/files/3/current-process.md +11 -0
  53. package/packs/ai-engineering/skills/subagent-design/evals/files/3/director-proposal.md +6 -0
  54. package/packs/ai-engineering/skills/subagent-design/evals/files/3/scoring-rubric.md +9 -0
  55. package/packs/ai-engineering/skills/subagent-design/evals/files/3/trial-and-round-notes.md +11 -0
  56. package/packs/api-builder/skills/eval-harness-generator/evals/evals.json +27 -0
  57. package/packs/api-builder/skills/eval-harness-generator/evals/files/2/SKILL.md +35 -0
  58. package/packs/api-builder/skills/prompt-caching-advisor/evals/evals.json +25 -0
  59. package/packs/api-builder/skills/prompt-caching-advisor/evals/files/2/build_request.py +40 -0
  60. package/packs/api-builder/skills/prompt-caching-advisor/evals/files/2/notes.md +10 -0
  61. package/packs/api-builder/skills/token-budget-estimator/evals/evals.json +27 -0
  62. package/packs/api-builder/skills/token-budget-estimator/evals/files/2/pilot-usage.csv +17 -0
  63. package/packs/api-builder/skills/token-budget-estimator/evals/files/2/workflow.md +42 -0
  64. package/packs/career/pack.json +1 -1
  65. package/packs/career/skills/job-fit-analysis/SKILL.md +2 -1
  66. package/packs/career/skills/job-fit-analysis/manifest.json +3 -2
  67. package/packs/career/skills/role-shortlist/SKILL.md +118 -0
  68. package/packs/career/skills/role-shortlist/evals/eval_queries.json +34 -0
  69. package/packs/career/skills/role-shortlist/evals/evals.json +105 -0
  70. package/packs/career/skills/role-shortlist/evals/files/1/careers-index.html +22 -0
  71. package/packs/career/skills/role-shortlist/evals/files/1/cv.md +44 -0
  72. package/packs/career/skills/role-shortlist/evals/files/1/postings/clinical-coding-officer-bramwick.md +23 -0
  73. package/packs/career/skills/role-shortlist/evals/files/1/postings/data-and-performance-analyst.html +28 -0
  74. package/packs/career/skills/role-shortlist/evals/files/1/postings/estates-maintenance-electrician-bramwick.md +20 -0
  75. package/packs/career/skills/role-shortlist/evals/files/1/postings/healthcare-support-worker-nights-corrin-bay.md +20 -0
  76. package/packs/career/skills/role-shortlist/evals/files/1/postings/medical-secretary-cardiology-elsford.html +30 -0
  77. package/packs/career/skills/role-shortlist/evals/files/1/postings/outpatient-booking-team-leader-bramwick.md +23 -0
  78. package/packs/career/skills/role-shortlist/evals/files/1/postings/patient-pathway-coordinator-bramwick.md +30 -0
  79. package/packs/career/skills/role-shortlist/evals/files/1/postings/patient-pathway-coordinator-elsford.md +30 -0
  80. package/packs/career/skills/role-shortlist/evals/files/1/postings/reception-and-admin-assistant-corrin-bay.md +21 -0
  81. package/packs/career/skills/role-shortlist/evals/files/1/postings/senior-care-coordinator.md +25 -0
  82. package/packs/career/skills/role-shortlist/evals/files/2/cv.md +33 -0
  83. package/packs/career/skills/role-shortlist/evals/files/2/job-board-export.csv +11 -0
  84. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10422.md +26 -0
  85. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10431.md +25 -0
  86. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10455.md +27 -0
  87. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10468.md +25 -0
  88. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10476.md +25 -0
  89. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10490.md +24 -0
  90. package/packs/career/skills/role-shortlist/evals/files/2/postings/FJ-10587.md +26 -0
  91. package/packs/career/skills/role-shortlist/evals/files/4/brackwater-careers.html +118 -0
  92. package/packs/career/skills/role-shortlist/evals/files/4/mere-castell-cv.md +44 -0
  93. package/packs/career/skills/role-shortlist/evals/files/4/tradesboard-export.csv +6 -0
  94. package/packs/career/skills/role-shortlist/manifest.json +38 -0
  95. package/packs/converters/skills/file-to-markdown/evals/evals.json +27 -0
  96. package/packs/converters/skills/file-to-markdown/evals/files/3/harbourline-shift-policy.docx +0 -0
  97. package/packs/converters/skills/file-to-markdown/evals/files/4/seed-swap-2026.csv +10 -0
  98. package/packs/converters/skills/md-to-docx/evals/evals.json +28 -0
  99. package/packs/converters/skills/md-to-docx/evals/files/3/brand.json +12 -0
  100. package/packs/converters/skills/md-to-docx/evals/files/3/img/team-photo.png +0 -0
  101. package/packs/converters/skills/md-to-docx/evals/files/3/tender-response.md +51 -0
  102. package/packs/converters/skills/md-to-html/evals/evals.json +26 -0
  103. package/packs/converters/skills/md-to-html/evals/files/2/brand.json +13 -0
  104. package/packs/converters/skills/md-to-html/evals/files/2/img/kick-net.png +0 -0
  105. package/packs/converters/skills/md-to-html/evals/files/2/river-survey-guide.md +53 -0
  106. package/packs/converters/skills/md-to-html/evals/files/3/nanas-lentil-soup.md +21 -0
  107. package/packs/converters/skills/md-to-html/evals/files/3/pot.png +0 -0
  108. package/packs/converters/skills/md-to-xlsx/evals/evals.json +26 -0
  109. package/packs/converters/skills/md-to-xlsx/evals/files/3/depot-costs-q3.md +20 -0
  110. package/packs/converters/skills/md-to-xlsx/evals/files/4/hollowmere-5k-results.json +7 -0
  111. package/packs/converters/skills/mermaid-render/evals/evals.json +26 -0
  112. package/packs/converters/skills/mermaid-render/evals/files/2/dispensing-diagrams.md +39 -0
  113. package/packs/core/skills/brief-intake/evals/evals.json +27 -0
  114. package/packs/core/skills/brief-intake/evals/files/2/ops-meeting-notes.md +18 -0
  115. package/packs/core/skills/brief-intake/evals/files/2/thread.txt +40 -0
  116. package/packs/core/skills/council-review/evals/evals.json +28 -0
  117. package/packs/core/skills/council-review/evals/files/2/compliance-note.md +11 -0
  118. package/packs/core/skills/council-review/evals/files/2/link-outages-q3.csv +11 -0
  119. package/packs/core/skills/council-review/evals/files/2/proposal.md +39 -0
  120. package/packs/core/skills/council-review/evals/files/2/vendor-letter.txt +12 -0
  121. package/packs/core/skills/doc-critique/evals/evals.json +27 -0
  122. package/packs/core/skills/doc-critique/evals/files/2/exec-summary.md +43 -0
  123. package/packs/core/skills/output-hygiene/evals/evals.json +27 -0
  124. package/packs/core/skills/output-hygiene/evals/files/3/newsletter.md +17 -0
  125. package/packs/data-analytics/skills/dashboard-spec/evals/evals.json +27 -0
  126. package/packs/data-analytics/skills/dashboard-spec/evals/files/2/data-inventory.md +16 -0
  127. package/packs/data-analytics/skills/dashboard-spec/evals/files/2/request-email.md +28 -0
  128. package/packs/data-analytics/skills/sql-review/evals/evals.json +27 -0
  129. package/packs/data-analytics/skills/sql-review/evals/files/2/context.md +10 -0
  130. package/packs/data-analytics/skills/sql-review/evals/files/2/monthly_donor_revenue.sql +16 -0
  131. package/packs/data-analytics/skills/sql-review/evals/files/2/schema.md +20 -0
  132. package/packs/design/skills/brand-kit/evals/evals.json +26 -0
  133. package/packs/design/skills/brand-kit/evals/files/2/brand-guidelines.md +32 -0
  134. package/packs/design/skills/brand-kit/evals/files/2/contact-sheet.txt +6 -0
  135. package/packs/design/skills/brand-kit/evals/files/2/logo.svg +5 -0
  136. package/packs/design/skills/brand-kit/evals/files/2/website-colours.css +9 -0
  137. package/packs/design/skills/brand-kit/evals/files/3/muddy-paws-logo.png +0 -0
  138. package/packs/design/skills/deck-builder/evals/evals.json +27 -0
  139. package/packs/design/skills/deck-builder/evals/files/4/ashby-vale-board-notes.md +36 -0
  140. package/packs/design/skills/marketing-flyer/evals/evals.json +27 -0
  141. package/packs/design/skills/marketing-flyer/evals/files/2/brand.json +14 -0
  142. package/packs/design/skills/marketing-flyer/evals/files/2/larchfield-logo.svg +4 -0
  143. package/packs/design/skills/marketing-flyer/evals/files/2/manager-email.txt +6 -0
  144. package/packs/design/skills/marketing-flyer/evals/files/2/open-day-brief.md +15 -0
  145. package/packs/design/skills/slide-outliner/evals/evals.json +26 -0
  146. package/packs/design/skills/slide-outliner/evals/files/2/uv-dosing-design-notes.md +38 -0
  147. package/packs/dev-team/skills/accessibility-audit/evals/evals.json +27 -0
  148. package/packs/dev-team/skills/accessibility-audit/evals/files/2/booking.html +79 -0
  149. package/packs/dev-team/skills/accessibility-audit/evals/files/2/scan-report.txt +23 -0
  150. package/packs/dev-team/skills/accessibility-audit/evals/files/2/styles.css +56 -0
  151. package/packs/dev-team/skills/agents-md-generator/evals/evals.json +27 -0
  152. package/packs/dev-team/skills/agents-md-generator/evals/files/5/.github/workflows/ci.yml +12 -0
  153. package/packs/dev-team/skills/agents-md-generator/evals/files/5/CONTRIBUTING.md +20 -0
  154. package/packs/dev-team/skills/agents-md-generator/evals/files/5/README.md +15 -0
  155. package/packs/dev-team/skills/agents-md-generator/evals/files/5/data/raw/README.md +7 -0
  156. package/packs/dev-team/skills/agents-md-generator/evals/files/5/pyproject.toml +23 -0
  157. package/packs/dev-team/skills/agents-md-generator/evals/files/5/scripts/deploy.sh +6 -0
  158. package/packs/dev-team/skills/agents-md-generator/evals/files/5/src/sensor_ingest/__init__.py +1 -0
  159. package/packs/dev-team/skills/agents-md-generator/evals/files/5/src/sensor_ingest/parse.py +20 -0
  160. package/packs/dev-team/skills/agents-md-generator/evals/files/5/tests/test_gateway.py +10 -0
  161. package/packs/dev-team/skills/agents-md-generator/evals/files/5/tests/test_parse.py +7 -0
  162. package/packs/dev-team/skills/agents-md-generator/evals/files/6/clean_marks.R +5 -0
  163. package/packs/dev-team/skills/agents-md-generator/evals/files/6/grades_final.csv +6 -0
  164. package/packs/dev-team/skills/agents-md-generator/evals/files/6/make_report.R +7 -0
  165. package/packs/dev-team/skills/agents-md-generator/evals/files/6/notes.txt +8 -0
  166. package/packs/dev-team/skills/agents-md-generator/evals/files/6/raw_marks.csv +6 -0
  167. package/packs/dev-team/skills/bug-triage/evals/evals.json +27 -0
  168. package/packs/dev-team/skills/bug-triage/evals/files/2/payments-log.csv +15 -0
  169. package/packs/dev-team/skills/bug-triage/evals/files/2/slack-thread.txt +16 -0
  170. package/packs/dev-team/skills/bug-triage/evals/files/2/ticket.txt +10 -0
  171. package/packs/dev-team/skills/feature-implement-loop/evals/evals.json +27 -0
  172. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/TICKET.md +20 -0
  173. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/closures.csv +5 -0
  174. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/desk.py +11 -0
  175. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/fees.py +14 -0
  176. package/packs/dev-team/skills/feature-implement-loop/evals/files/2/tests/test_fees.py +26 -0
  177. package/packs/dev-team/skills/feature-implement-loop/evals/files/3/away.txt +5 -0
  178. package/packs/dev-team/skills/feature-implement-loop/evals/files/3/members.txt +8 -0
  179. package/packs/dev-team/skills/feature-implement-loop/evals/files/3/rota.py +12 -0
  180. package/packs/dev-team/skills/launch-readiness/evals/evals.json +27 -0
  181. package/packs/dev-team/skills/launch-readiness/evals/files/2/launch-brief.md +32 -0
  182. package/packs/dev-team/skills/launch-readiness/evals/files/2/load-test-summary.txt +11 -0
  183. package/packs/dev-team/skills/launch-readiness/evals/files/2/privacy-signoff.txt +9 -0
  184. package/packs/dev-team/skills/launch-readiness/evals/files/2/sms-template.txt +2 -0
  185. package/packs/dev-team/skills/migration-plan/evals/evals.json +27 -0
  186. package/packs/dev-team/skills/migration-plan/evals/files/2/context.md +27 -0
  187. package/packs/dev-team/skills/migration-plan/evals/files/2/deferral-codes.csv +8 -0
  188. package/packs/dev-team/skills/migration-plan/evals/files/2/field-mapping.csv +11 -0
  189. package/packs/dev-team/skills/migration-plan/evals/files/2/trial-import-summary.txt +9 -0
  190. package/packs/dev-team/skills/pr-description-writer/evals/evals.json +27 -0
  191. package/packs/dev-team/skills/pr-description-writer/evals/files/4/changes.diff +64 -0
  192. package/packs/dev-team/skills/pr-description-writer/evals/files/4/commits.txt +2 -0
  193. package/packs/dev-team/skills/pre-merge-review/evals/evals.json +28 -0
  194. package/packs/dev-team/skills/pre-merge-review/evals/files/3/CHANGE.md +12 -0
  195. package/packs/dev-team/skills/pre-merge-review/evals/files/3/CONTRIBUTING.md +5 -0
  196. package/packs/dev-team/skills/pre-merge-review/evals/files/3/change.diff +53 -0
  197. package/packs/dev-team/skills/pre-merge-review/evals/files/3/clinic_dosing/__init__.py +1 -0
  198. package/packs/dev-team/skills/pre-merge-review/evals/files/3/clinic_dosing/dosing.py +30 -0
  199. package/packs/dev-team/skills/pre-merge-review/evals/files/3/clinic_dosing/drugs.py +6 -0
  200. package/packs/dev-team/skills/pre-merge-review/evals/files/3/tests/__init__.py +0 -0
  201. package/packs/dev-team/skills/pre-merge-review/evals/files/3/tests/test_dosing.py +29 -0
  202. package/packs/dev-team/skills/sonar-onboard/evals/evals.json +27 -0
  203. package/packs/dev-team/skills/sonar-onboard/evals/files/2/.github/workflows/ci.yml +10 -0
  204. package/packs/dev-team/skills/sonar-onboard/evals/files/2/.gitlab-ci.yml +32 -0
  205. package/packs/dev-team/skills/sonar-onboard/evals/files/2/README.md +11 -0
  206. package/packs/dev-team/skills/sonar-onboard/evals/files/2/pyproject.toml +16 -0
  207. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/__init__.py +1 -0
  208. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/_generated/__init__.py +0 -0
  209. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/_generated/stops_pb2.py +4 -0
  210. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/timetable.py +12 -0
  211. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/vendor/__init__.py +0 -0
  212. package/packs/dev-team/skills/sonar-onboard/evals/files/2/src/wayline/vendor/gtfs_lite/__init__.py +3 -0
  213. package/packs/dev-team/skills/sonar-onboard/evals/files/2/tests/test_timetable.py +14 -0
  214. package/packs/dev-team/skills/sonar-onboard/evals/files/2/web/package.json +20 -0
  215. package/packs/dev-team/skills/sonar-onboard/evals/files/2/web/src/board.test.ts +9 -0
  216. package/packs/dev-team/skills/sonar-onboard/evals/files/2/web/src/board.ts +8 -0
  217. package/packs/dev-team/skills/sonar-review/evals/evals.json +27 -0
  218. package/packs/dev-team/skills/sonar-review/evals/files/2/changed-files.txt +5 -0
  219. package/packs/dev-team/skills/sonar-review/evals/files/2/hotspots.json +7 -0
  220. package/packs/dev-team/skills/sonar-review/evals/files/2/issues.json +26 -0
  221. package/packs/dev-team/skills/sonar-review/evals/files/2/quality-gate.json +19 -0
  222. package/packs/dev-team/skills/tech-debt-register/evals/evals.json +28 -0
  223. package/packs/dev-team/skills/tech-debt-register/evals/files/4/incidents.csv +7 -0
  224. package/packs/dev-team/skills/tech-debt-register/evals/files/4/retro-notes.md +21 -0
  225. package/packs/dev-team/skills/test-plan-generator/evals/evals.json +27 -0
  226. package/packs/dev-team/skills/test-plan-generator/evals/files/2/permit-renewal-spec.md +40 -0
  227. package/packs/dev-team/skills/user-story-splitter/evals/evals.json +27 -0
  228. package/packs/dev-team/skills/user-story-splitter/evals/files/2/prd-shift-swap.md +38 -0
  229. package/packs/experience-design/skills/content-design/evals/evals.json +27 -0
  230. package/packs/experience-design/skills/content-design/evals/files/2/contact-centre-notes.md +18 -0
  231. package/packs/experience-design/skills/content-design/evals/files/2/current-page.md +17 -0
  232. package/packs/experience-design/skills/content-design/evals/files/2/policy-extract.md +17 -0
  233. package/packs/experience-design/skills/design-system-spec/evals/evals.json +27 -0
  234. package/packs/experience-design/skills/design-system-spec/evals/files/2/designer-notes.md +23 -0
  235. package/packs/experience-design/skills/design-system-spec/evals/files/2/eng-thread.md +11 -0
  236. package/packs/experience-design/skills/design-system-spec/evals/files/2/tokens.json +27 -0
  237. package/packs/experience-design/skills/information-architecture/evals/evals.json +27 -0
  238. package/packs/experience-design/skills/information-architecture/evals/files/2/page-inventory.csv +28 -0
  239. package/packs/experience-design/skills/information-architecture/evals/files/2/search-log.csv +16 -0
  240. package/packs/experience-design/skills/information-architecture/evals/files/2/stakeholder-notes.md +13 -0
  241. package/packs/experience-design/skills/service-blueprint/evals/evals.json +27 -0
  242. package/packs/experience-design/skills/service-blueprint/evals/files/2/complaints-summary.md +14 -0
  243. package/packs/experience-design/skills/service-blueprint/evals/files/2/process-notes.md +15 -0
  244. package/packs/experience-design/skills/service-blueprint/evals/files/2/timings.csv +5 -0
  245. package/packs/experience-design/skills/ux-writing/evals/evals.json +27 -0
  246. package/packs/experience-design/skills/ux-writing/evals/files/2/brand-notes.md +8 -0
  247. package/packs/experience-design/skills/ux-writing/evals/files/2/error-codes.csv +6 -0
  248. package/packs/experience-design/skills/ux-writing/evals/files/2/screens.md +26 -0
  249. package/packs/grc/skills/dpia/evals/evals.json +27 -0
  250. package/packs/grc/skills/dpia/evals/files/2/legal-notes.md +6 -0
  251. package/packs/grc/skills/dpia/evals/files/2/project-brief.md +17 -0
  252. package/packs/grc/skills/dpia/evals/files/2/vendor-factsheet.md +8 -0
  253. package/packs/grc/skills/risk-register/evals/evals.json +27 -0
  254. package/packs/grc/skills/risk-register/evals/files/2/committee-notes.md +8 -0
  255. package/packs/grc/skills/risk-register/evals/files/2/risks-draft.csv +9 -0
  256. package/packs/grc/skills/risk-register/evals/files/2/scoring-scale.md +12 -0
  257. package/packs/grc/skills/security-questionnaire-response/evals/evals.json +27 -0
  258. package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/business-continuity-plan.md +7 -0
  259. package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/information-security-policy.md +10 -0
  260. package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/pentest-summary-2026.md +10 -0
  261. package/packs/grc/skills/security-questionnaire-response/evals/files/4/evidence/staff-handbook-extract.md +3 -0
  262. package/packs/grc/skills/security-questionnaire-response/evals/files/4/instructions.md +10 -0
  263. package/packs/grc/skills/security-questionnaire-response/evals/files/4/questionnaire.csv +11 -0
  264. package/packs/grc/skills/soc2-evidence-map/evals/evals.json +27 -0
  265. package/packs/grc/skills/soc2-evidence-map/evals/files/2/audit-scope.md +10 -0
  266. package/packs/grc/skills/soc2-evidence-map/evals/files/2/controls.csv +13 -0
  267. package/packs/grc/skills/soc2-evidence-map/evals/files/2/tooling-notes.md +8 -0
  268. package/packs/infra-as-code/skills/terraform-module/evals/evals.json +27 -0
  269. package/packs/infra-as-code/skills/terraform-module/evals/files/3/requirements.md +23 -0
  270. package/packs/infra-as-code/skills/terraform-plan-review/evals/evals.json +27 -0
  271. package/packs/infra-as-code/skills/terraform-plan-review/evals/files/3/plan.txt +87 -0
  272. package/packs/product-manager/skills/business-case/evals/evals.json +27 -0
  273. package/packs/product-manager/skills/business-case/evals/files/2/hollin_vale_inputs.md +46 -0
  274. package/packs/product-manager/skills/okr-cascade/evals/evals.json +27 -0
  275. package/packs/product-manager/skills/okr-cascade/evals/files/3/quillfield_2027.md +45 -0
  276. package/packs/product-manager/skills/prd-draft/evals/evals.json +27 -0
  277. package/packs/product-manager/skills/prd-draft/evals/files/2/brief.md +7 -0
  278. package/packs/product-manager/skills/prd-draft/evals/files/2/call_center_notes.md +7 -0
  279. package/packs/product-manager/skills/prd-draft/evals/files/2/meter_facts.md +6 -0
  280. package/packs/product-manager/skills/prfaq/evals/evals.json +26 -0
  281. package/packs/product-manager/skills/prfaq/evals/files/3/drone_notes.md +25 -0
  282. package/packs/product-manager/skills/requirements-interview/evals/evals.json +27 -0
  283. package/packs/product-manager/skills/requirements-interview/evals/files/2/project_brief.md +29 -0
  284. package/packs/product-manager/skills/strategy-analysis/evals/evals.json +27 -0
  285. package/packs/product-manager/skills/strategy-analysis/evals/files/4/market_notes.md +21 -0
  286. package/packs/product-manager/skills/success-metrics/evals/evals.json +28 -0
  287. package/packs/product-manager/skills/success-metrics/evals/files/3/brief.md +21 -0
  288. package/packs/product-manager/skills/user-journey-map/evals/evals.json +26 -0
  289. package/packs/product-manager/skills/user-journey-map/evals/files/3/research_notes.md +30 -0
  290. package/packs/research/skills/hypothesis-comparison/evals/evals.json +27 -0
  291. package/packs/research/skills/hypothesis-comparison/evals/files/2/season_notes.md +29 -0
  292. package/packs/research/skills/research-plan/evals/evals.json +28 -0
  293. package/packs/research/skills/research-plan/evals/files/3/request.md +19 -0
  294. package/packs/skill-engineering/skills/skill-author/evals/evals.json +27 -0
  295. package/packs/skill-engineering/skills/skill-author/evals/files/2/constraints.md +7 -0
  296. package/packs/skill-engineering/skills/skill-author/evals/files/2/example-discharge.md +22 -0
  297. package/packs/skill-engineering/skills/skill-author/evals/files/2/process.md +15 -0
  298. package/packs/skill-engineering/skills/skill-review/evals/evals.json +27 -0
  299. package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/SKILL.md +20 -0
  300. package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/evals/evals.json +12 -0
  301. package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/scripts/send_reminders.py +46 -0
  302. package/packs/solution-architect/skills/adr-generator/evals/evals.json +27 -0
  303. package/packs/solution-architect/skills/adr-generator/evals/files/2/integration-notes.md +23 -0
  304. package/packs/solution-architect/skills/adr-generator/evals/files/2/larchway-quote.txt +10 -0
  305. package/packs/solution-architect/skills/api-contract-draft/evals/evals.json +27 -0
  306. package/packs/solution-architect/skills/api-contract-draft/evals/files/2/booking-brief.md +18 -0
  307. package/packs/solution-architect/skills/api-contract-draft/evals/files/2/facilities-policy-excerpt.md +7 -0
  308. package/packs/solution-architect/skills/architecture-diagrams/evals/evals.json +27 -0
  309. package/packs/solution-architect/skills/architecture-diagrams/evals/files/2/telemetry-overview.md +23 -0
  310. package/packs/solution-architect/skills/data-contract/evals/evals.json +27 -0
  311. package/packs/solution-architect/skills/data-contract/evals/files/2/grain_deliveries.sql +15 -0
  312. package/packs/solution-architect/skills/data-contract/evals/files/2/publisher-notes.md +14 -0
  313. package/packs/solution-architect/skills/data-contract/evals/files/2/sample_rows.csv +6 -0
  314. package/packs/solution-architect/skills/figma-diagrams/evals/evals.json +26 -0
  315. package/packs/solution-architect/skills/figma-diagrams/evals/files/2/signage-file.json +373 -0
  316. package/packs/solution-architect/skills/nfr-spec/evals/evals.json +27 -0
  317. package/packs/solution-architect/skills/nfr-spec/evals/files/2/vehicle-booking-brief.md +21 -0
  318. package/packs/solution-architect/skills/reverse-architecture/evals/evals.json +28 -0
  319. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/README.md +11 -0
  320. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/docker-compose.yml +42 -0
  321. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/env.example +3 -0
  322. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/nginx.conf +15 -0
  323. package/packs/solution-architect/skills/reverse-architecture/evals/files/2/worker-requirements.txt +4 -0
  324. package/packs/solution-architect/skills/threat-model/evals/evals.json +28 -0
  325. package/packs/solution-architect/skills/threat-model/evals/files/2/permits-design.md +23 -0
  326. package/packs/sre-oncall/skills/capacity-cost-model/evals/evals.json +28 -0
  327. package/packs/sre-oncall/skills/capacity-cost-model/evals/files/2/brief.md +22 -0
  328. package/packs/sre-oncall/skills/capacity-cost-model/evals/files/2/price-sheet.md +13 -0
  329. package/packs/sre-oncall/skills/capacity-cost-model/evals/files/2/rollout-plan.md +27 -0
  330. package/packs/sre-oncall/skills/cloud-cost-review/evals/evals.json +28 -0
  331. package/packs/sre-oncall/skills/cloud-cost-review/evals/files/3/cost-export-2026-09.csv +25 -0
  332. package/packs/sre-oncall/skills/cloud-cost-review/evals/files/3/notes.md +11 -0
  333. package/packs/sre-oncall/skills/cloud-cost-review/evals/files/3/utilisation-2026-09.csv +12 -0
  334. package/packs/sre-oncall/skills/delivery-metrics-report/evals/evals.json +27 -0
  335. package/packs/sre-oncall/skills/delivery-metrics-report/evals/files/3/deploys.csv +68 -0
  336. package/packs/sre-oncall/skills/delivery-metrics-report/evals/files/3/incidents.csv +7 -0
  337. package/packs/sre-oncall/skills/delivery-metrics-report/evals/files/3/prs.csv +46 -0
  338. package/packs/sre-oncall/skills/incident-comms/evals/evals.json +27 -0
  339. package/packs/sre-oncall/skills/incident-comms/evals/files/2/comms-rules.md +6 -0
  340. package/packs/sre-oncall/skills/incident-comms/evals/files/2/incident-channel.txt +17 -0
  341. package/packs/sre-oncall/skills/incident-comms/evals/files/2/last-status-update.md +5 -0
  342. package/packs/sre-oncall/skills/observability-plan/evals/evals.json +27 -0
  343. package/packs/sre-oncall/skills/observability-plan/evals/files/2/constraints.md +9 -0
  344. package/packs/sre-oncall/skills/observability-plan/evals/files/2/current-alerts.csv +10 -0
  345. package/packs/sre-oncall/skills/observability-plan/evals/files/2/service-overview.md +27 -0
  346. package/packs/sre-oncall/skills/runbook-generator/evals/evals.json +27 -0
  347. package/packs/sre-oncall/skills/runbook-generator/evals/files/2/deploy.sh +14 -0
  348. package/packs/sre-oncall/skills/runbook-generator/evals/files/2/handover-chat.txt +8 -0
  349. package/packs/sre-oncall/skills/runbook-generator/evals/files/2/service-notes.md +26 -0
  350. package/packs/sre-oncall/skills/runbook-generator/evals/files/2/standing-order.md +3 -0
  351. package/packs/stakeholder-comms/skills/audience-profile/evals/evals.json +26 -0
  352. package/packs/stakeholder-comms/skills/decision-log/evals/evals.json +26 -0
  353. package/packs/stakeholder-comms/skills/decision-log/evals/files/2/committee-meeting-2026-09-03.txt +23 -0
  354. package/packs/stakeholder-comms/skills/decision-log/evals/files/2/followup-thread.txt +6 -0
  355. package/packs/stakeholder-comms/skills/exec-summary/evals/evals.json +26 -0
  356. package/packs/stakeholder-comms/skills/exec-summary/evals/files/2/library-branches-options-paper.md +67 -0
  357. package/packs/trackers/skills/backlog-triage/evals/evals.json +27 -0
  358. package/packs/trackers/skills/backlog-triage/evals/files/3/parks-backlog.csv +19 -0
  359. package/packs/trackers/skills/team-status-report/evals/evals.json +28 -0
  360. package/packs/trackers/skills/team-status-report/evals/files/3/larkspur-week-42.csv +15 -0
  361. package/packs/trackers/skills/tracker-brief-sync/evals/evals.json +28 -0
  362. package/packs/trackers/skills/tracker-brief-sync/evals/files/3/brief-home-delivery.md +44 -0
@@ -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,118 @@
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. Only the posting decides what is required: an item it
23
+ calls preferred, desirable, a plus or nice to have never takes a role out.
24
+ - **One role is one role.** The same job posted in three cities, or reposted with a new
25
+ reference number, is one entry with its locations listed. A posting marked closed, or past
26
+ its closing date, is noted and not ranked.
27
+
28
+ ## How to respond
29
+
30
+ 1. **Gather the postings.** Use what you were given: saved pages, a pasted list, an export, a
31
+ folder of files. When you were given a careers-page link and can open it, read the listing
32
+ and then each posting. When you can't open something, say so once and ask for the text or
33
+ saved pages; never fill it in from what you know about the employer.
34
+
35
+ 2. **Read the person's evidence.** Their resume, and any other file of theirs that sits beside
36
+ it or that they point to. Nothing is credited because people in that line of work usually
37
+ have it. Note any constraint they stated themselves: where they can work, hours, salary,
38
+ the kind of role they want.
39
+
40
+ 3. **Check each posting for what could screen them out first.** For every role, find the
41
+ requirements the posting makes a condition: what it calls required, essential or a must,
42
+ and the facts of the job itself (where it is, the hours or shift, a licence the work needs).
43
+ Mark whether the person's material meets them. Any unmet one sends the role to **Skip**,
44
+ named in a few words: "requires HCPC registration". An item the posting calls preferred,
45
+ desirable or a plus is not one of these, even a degree or a licence; it is a gap to weigh in
46
+ step 4, and the role stays in.
47
+
48
+ 4. **Rank the rest from the posting's own requirements.** For each remaining role, compare
49
+ the required and preferred items with the person's evidence, and say in one line why it
50
+ fits and what is missing. Use the posting's wording for requirements and the person's for
51
+ evidence. Similar is not the same: a named system, qualification or setting the posting
52
+ requires is met only if the person's material names it.
53
+
54
+ 5. **Give the shortlist, answer first.** Open with the two or three roles worth applying for
55
+ and why, in a sentence or two. Then the roles under these groups, using only the groups that
56
+ have a role in them. A heading with nothing under it, or with "none", is not shown: when every
57
+ posting was read and none is closed, there is no Not read or Closed group.
58
+ - **Apply**: roles where nothing screening is unmet and most of what's required is met.
59
+ - **Maybe**: roles worth applying for if one named question has the right answer ("if your
60
+ forklift licence is current").
61
+ - **Skip**: each with the requirement that rules it out.
62
+ - **Not read**: each with why (link wouldn't open, title only, page was empty).
63
+ - **Closed or duplicate**: one line each.
64
+
65
+ One line per role. Every role you were given appears exactly once, so the person can see
66
+ nothing was dropped.
67
+
68
+ 6. **Close with what to do next**, in two or three lines: which role to check in full first,
69
+ the one or two questions whose answers would move a role between groups, and which unread
70
+ postings to fetch.
71
+
72
+ 7. **Fit the size and format they asked for.** "Just the top two" gets two, each with its
73
+ reason and anything to check first, then the rest in a line or two: which were ruled out and
74
+ by what, and any that couldn't be read. No groups and no headings; the person asked for two
75
+ names, not a sorted list. A list for a spreadsheet gets one row per role. The whole answer
76
+ is in the reply unless they ask for a file.
77
+
78
+ 8. **Deliver from what you have.** With postings and a few lines about the person, shortlist
79
+ against those and say a resume would settle the rest. When each role is only a line or two,
80
+ say the picks rest on those lines and the full postings come next. With a resume and no
81
+ postings, ask for the postings in one line.
82
+
83
+ ## Quality bar
84
+
85
+ - **No role is ranked without its posting text having been read.** Unread roles are listed as
86
+ unread, with no verdict.
87
+ - **A role with an unmet screening requirement is never under Apply,** and the requirement is
88
+ named. An item the posting calls preferred is never treated as one.
89
+ - **Every role given appears exactly once;** duplicates are merged, closed ones are noted.
90
+ - **Every "fits" rests on the person's own material,** and a similar thing is not counted as
91
+ the named one.
92
+ - **The answer opens the reply,** and the size is the one asked for, with no empty groups.
93
+
94
+ ## When to use this skill
95
+
96
+ - ✅ "Here's the careers page export for this company — which should I go for?"
97
+ - ✅ "I've saved twelve postings in this folder. Shortlist them against my CV."
98
+ - ✅ Narrowing a long list of openings to the few worth a full application
99
+
100
+ ## When NOT to use this skill
101
+
102
+ - ❌ A full, requirement-by-requirement check of one posting — use `job-fit-analysis` on the role this shortlist puts first
103
+ - ❌ Rewriting the resume for a role — use `resume-tailor`
104
+ - ❌ Searching the internet for jobs to apply for — this reads the postings you have or point to
105
+
106
+ ## Anti-patterns to avoid
107
+
108
+ - ❌ **Ranking from titles.** "Operations Lead sounds like a good fit" with the posting unread.
109
+ - ❌ **Guessing an unread posting** from what the employer or the job title usually means.
110
+ - ❌ **A strong fit over an unmet licence.** Screening requirements decide first.
111
+ - ❌ **A preferred item as a requirement.** "Degree preferred" is a gap to weigh, not a reason to skip.
112
+ - ❌ **Empty groups.** A "Not read: none" heading, or the full five groups for a top-two answer.
113
+ - ❌ **Counting a duplicate twice,** or ranking a closed posting.
114
+ - ❌ **Dropping roles silently.** A list that covers 9 of 12 postings without saying so.
115
+ - ❌ **Crediting the usual.** "As a nurse you'll have used Epic" is an invention.
116
+ - ❌ **Percentages and scores.** "82% match" hides which requirement is the problem.
117
+ - ❌ **Judging the person.** No remarks on age, gaps, family, health or anything an employer may
118
+ 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,105 @@
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
+ "id": 6,
76
+ "held_out": "2026-10-18",
77
+ "prompt": "which 2 of these should i go for? bit about me: 3 yrs as a nursery assistant at a day nursery, level 3 childcare diploma, enhanced DBS. i dont drive. want term time / school hours, no weekends, 30ish hrs a week or more. based in Harwick.\n\n- Teaching Assistant, Elmfield Primary, Harwick - Year 2 reading and small groups, term time 8:30-3:30. Level 3 childcare or TA qualification required. Phonics experience a plus.\n- SEN Teaching Assistant, Brookside Academy, Harwick - 1:1 support for a Reception pupil with autism, term time 8:45-3:15. Must have experience in an early years or school setting. Makaton desirable.\n- Nursery Practitioner, Little Acorns, Harwick - full time, 7:30-6 shifts, working alternate Saturdays is a requirement. Level 3 required.\n- Forest School Assistant, Greenway Primary - outdoor learning across 3 sites, term time. Full driving licence and own vehicle essential.\n- Midday Supervisor, Harwick Junior School - 11:45-1:15 term time, lunchtime play and dinner hall. No experience needed.\n- Teaching Assistant, Ashby Lane Primary, Harwick - Year 4 maths and reading groups, term time 8:30-3:30, permanent. Previous TA experience in KS2 essential.",
78
+ "assertions": [
79
+ "Exactly two roles are given as picks, and they are the Elmfield Primary Teaching Assistant and the Brookside Academy SEN Teaching Assistant; no third role is offered as a pick",
80
+ "The Little Acorns Nursery Practitioner role is named as out because working alternate Saturdays is a requirement and she said no weekends, even though she meets its Level 3 requirement",
81
+ "The Greenway Primary Forest School Assistant role is named as out because a full driving licence and own vehicle are essential and she does not drive",
82
+ "The Ashby Lane Primary Teaching Assistant role is named as out or not met because previous KS2 TA experience is essential and her experience is as a nursery assistant, not a KS2 teaching assistant",
83
+ "Neither pick is ruled out or dropped over a preferred item: Makaton (desirable) at Brookside and phonics experience (a plus) at Elmfield may be noted as gaps or unknowns, but not as reasons she cannot apply",
84
+ "The Harwick Junior School Midday Supervisor role is not a pick, and the reason given is its hours (about 1.5 hours a day) against the 30-ish hours a week she asked for, not a missing qualification",
85
+ "The reply is short and contains no heading, section or line for unread, closed or duplicate roles (no 'Unread: none', 'Duplicates: none' or similar placeholder)",
86
+ "It says it judged from the short blurbs rather than full postings, does not say or assume she has phonics experience, Makaton, a driving licence or KS2 experience, and gives no percentage, score or match rating for any role"
87
+ ]
88
+ },
89
+ {
90
+ "id": 7,
91
+ "held_out": "2026-10-18",
92
+ "prompt": "I would be grateful for your advice on which one of the following vacancies I should prioritise. I hold a BSc (Hons) in Biomedical Science, awarded with a 2:1 in 2025, and completed a twelve-month placement year in a hospital microbiology laboratory before my final year. I am not yet HCPC registered. I live in Corlow, am seeking a permanent position, and owing to caring responsibilities I am able to work day shifts only, not nights.\n\n1. Biomedical Scientist (Band 5), Corlow General Hospital, Microbiology. Permanent; days with a weekend rota. HCPC registration as a Biomedical Scientist is essential.\n2. Laboratory Technician, Fenwick Water Services, Corlow. Permanent; Monday to Friday, days. Microbiological testing of drinking water samples. A degree in a biological science is required; experience in a UKAS ISO 17025-accredited laboratory is desirable.\n3. Medical Laboratory Assistant, Corlow General Hospital, Blood Sciences. Permanent. Sample reception and processing; a rotating shift pattern including nights is a requirement of the post.\n4. QC Microbiology Analyst, Treloar Pharmaceuticals, Corlow. Permanent; days. Environmental monitoring in a GMP facility. A minimum of two years' post-graduate experience in a GMP quality control laboratory is essential.\n5. Research Technician, University of Corlow, Cell Biology. Fixed-term contract of six months; days. Tissue culture support. A degree in a life science is required.",
93
+ "assertions": [
94
+ "Exactly one role is given as the recommendation, and it is the Laboratory Technician post at Fenwick Water Services",
95
+ "The Fenwick Water Services post is not ruled out or demoted because ISO 17025-accredited laboratory experience is not shown; that item is treated as desirable and may be noted as a gap or something to address, not as a bar",
96
+ "The Corlow General Hospital Biomedical Scientist post is named as out because HCPC registration is essential and she is not yet registered, even though it matches her microbiology placement",
97
+ "The Corlow General Hospital Medical Laboratory Assistant post is named as out because a rotating pattern including nights is required and she can work days only",
98
+ "The Treloar Pharmaceuticals QC Microbiology Analyst post is named as out because two years' post-graduate GMP QC experience is essential; the reply does not count her pre-final-year placement as post-graduate GMP experience",
99
+ "The University of Corlow Research Technician post is not the recommendation, and the reason given is that it is a six-month fixed-term contract when she asked for a permanent position",
100
+ "The reply is concise and contains no heading, section or line for unread, closed or duplicate roles (no 'Unread: none', 'Duplicates: none' or similar placeholder)",
101
+ "It says it worked from brief summaries rather than full postings, does not say or assume she has ISO 17025, GMP or accredited-laboratory experience, and gives no percentage, score or match rating for any role"
102
+ ]
103
+ }
104
+ ]
105
+ }
@@ -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>