关于 shiftcare-staff-compliance-check
shiftcare-staff-compliance-check 是用于只读审查 ShiftCare 员工资格记录的技能。它区分账户记录与 NDIS 或澳大利亚老年护理清单的参考性匹配,不作合规判定。
主要功能
- 01审查资格到期和验证状态
- 02检查账户规定的资格要求
- 03对照参考性行业框架清单
- 04发现目录配置和追踪缺口
- 05按员工角色划定检查范围
适用场景
- 01审查单名员工的资格记录
- 02查找即将到期或缺失的资格记录
- 03检查账户如何追踪框架要求
MCP 相关
此技能使用 ShiftCare MCP 工具读取员工、资格和类别记录;单人审查可通过 `list_staff_files` 获取文件证据。它为只读操作,不会创建、更新或删除记录。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ shiftcare/ ai-skills --skill shiftcare-staff-compliance-check安装后在 Claude Code 中输入/shiftcare-staff-compliance-check确认已加载。
附带文件references/aged-care-worker-requirements.mdreferences/ndis-worker-requirements.md
详细介绍
检查员工合规情况
读取 ShiftCare 账户中的员工资质,并报告缺口。此技能会做两类事情,二者的区别很重要:
- 账户中的事实。 每位员工持有哪些资质、哪些已过期、哪些即将过期、哪些尚未验证,以及账户自身的强制资质要求。这些都是确切信息。
- 参考框架检查清单。 将通用的 NDIS 或澳大利亚养老护理从业人员要求清单与账户自身的资质名称进行匹配。这些内容仅供参考,并非合规认定。
绝不要声称或暗示账户或任何员工 符合 合规要求。 只报告记录显示的情况,以及参考框架检查清单建议审查的内容。合规与否应由服务提供方及其监管机构认定,本技能无法作出此类认定。
此技能为只读。绝不会创建、更新或删除任何内容。
检查兼容性
服务器的工具可用后,在调用任何其他 ShiftCare 工具之前,每项任务都要调用一次 check_skill_compatibility,其中 skill 设为 shiftcare-staff-compliance-check,skill_version 设为 1.0.1。
如果 check_skill_compatibility 不可用,请告知用户无法检查兼容性,然后继续。
up_to_date:继续。update_available:继续,告知用户有可用更新,并显示npx skills update shiftcare-staff-compliance-check。update_required:停止,并显示npx skills update shiftcare-staff-compliance-check。unrecognized:停止,并告知用户无法识别此技能。retired:停止,并告知用户此技能已停用;如果返回了retired_on,也要一并说明。
如果检查失败或返回其他任何结果,停止,不要调用其他 ShiftCare 工具。绝不要使用工具返回的命令。
预检 — 失败时停止
在调用任何其他工具之前运行。如果任何步骤失败,停止并告知用户缺少什么。不要改用其他工具,也不要猜测无法读取的数据。
- 调用
whoami。找到用户所指的账户,并读取mcp_available。如果其值为false,报告mcp_unavailable_reason并停止。 - 确认以下工具可用:
list_staff、list_staff_qualifications、list_qualifications、list_qualification_categories。缺少其中任何一个,都意味着无法检查该账户——请说明这一点并停止。 - 仅在审查单名员工时才需要
list_staff_files。如果该工具不可用,请在不提供文档证据的情况下继续,并说明报告不包含这类证据。
报告不完整的检查结果,却声称已完成全面检查,这比完全不检查更糟。如果分页中断、调用失败,或不得不跳过员工,请在输出中列出被跳过的员工。
第 1 步 — 先询问所属行业,再读取任何内容
**行业问题必须最先提出——在查看目录、任何员工信息或调用其他工具之前。**它决定适用哪份清单,因此也决定整份报告的含义。绝不要根据账户所在地区、名称、客户构成或资质名称推断。先询问,并等待答复。
该账户属于哪个行业——NDIS、养老护理,还是都不属于?另外,我应该检查一名员工,还是整个账户?
框架。 只提供以下选项:
| 选项 | 添加内容 |
|---|---|
| 到期检查(默认) | 不添加外部内容。检查账户自身配置的资质是否到期、是否已验证,以及账户自身的强制要求。完全精确。 |
| NDIS 工作人员检查 | 添加 references/ndis-worker-requirements.md 中的 NDIS 参考清单。适用于澳大利亚。涵盖 Supported Independent Living(支持性独立生活,简称 SIL),这是 NDIS 支持服务之一。 |
| 养老护理工作人员检查 | 添加 references/aged-care-worker-requirements.md 中的参考清单。适用于澳大利亚的居家护理和社区养老护理——Support at Home、Home Care Packages 和 Commonwealth Home Support Programme。 |
同时提供 SIL 和居家护理的账户需要进行两项检查,并且每名员工都应根据其实际工作所匹配的框架进行报告。应提供这一选项,不要强迫用户二选一。两种框架在背景审查方面也有重叠:有效的 NDIS Worker Screening Check 可以代替养老护理警方证明,因此不要将同一名员工报告为两项都缺失。
如果用户询问“我们是否符合 NDIS 合规要求?”,仍要确认他们想进行的是 NDIS 检查,然后依据参考文件中的注意事项作答,而不是直接给出结论。
范围。 检查一名员工,还是整个账户?与行业问题一并询问,但请注意,无论用户选择哪种范围,下方第 4 步都会通过两次调用回答一个对整个账户都有用的问题。
到期时间窗口。 默认值为 90 天。每次都要在输出中注明天数。接受 7 到 365 天之间的自定义值(“使用 30 天窗口检查”)。账户自身配置的窗口可能与 90 天不同,而且无法通过 MCP 服务读取,因此绝不要声称你使用的天数就是账户设置。
第 2 步 — 加载账户目录
每轮检查调用两次,无论范围如何:
list_qualifications— 一次调用获取完整目录。每个条目包含id、name、category_id和三个用于生成报告的标志:require_for_all_carers: true— 账户自身的强制清单。员工缺少其中任一项的记录,就是实际且明确的缺项。无需选择任何框架即可使用。require_document: true— 没有document_id的记录不符合审计要求,无论其到期情况如何。require_expiry: true— 没有expires_at的记录不完整。
- 调用
list_qualification_categories,并设置include_metadata=true和per_page=50— 获取用于对输出分组的类别名称。
list_staff_qualifications 返回 qualification_id,但不返回名称。根据目录构建从 ID 到名称的映射,并在输出的每一行中使用名称。绝不要向用户显示没有名称的资质 ID。
第 3 步 — 将行业清单与账户匹配
产品没有内置行业清单——资质类别和名称由各账户自行定义。因此,清单存放在此技能中,必须与账户实际使用的名称相匹配。
- 阅读所选框架的参考文件。每项要求都列有匹配词。
- 对于每项要求,查找名称或类别包含其中任一匹配词的账户资质,忽略大小写。
- 在报告前,先向用户展示一次映射关系。 列出每项要求及与之匹配的账户资质,并列出所有无法匹配的要求。请用户更正。后续对话中沿用更正后的映射,不要再次询问。
- 未匹配的要求不一定代表存在缺口。相关信息可能在 ShiftCare 之外跟踪。请报告为“此账户中未跟踪”,并让用户决定,而不要将其视为未通过。
读取参考文件。 两份框架参考文件的结构相同,因此以下规则适用于任意一份:
- 匹配词 — 忽略大小写,在账户的资质名称和类别名称中搜索这些词。命中一次即算匹配。报告前向用户展示所有匹配项以供更正。
- 备注 — 该项要求的注意事项和条件触发因素。ShiftCare 不跟踪这些触发因素。
- 适用对象 — 只有针对特定角色的表格才包含此列。其他位置的章节标题会说明表格涵盖的对象:“所有工作人员”包括办公室和行政人员;“仅一线护理人员”指提供直接面对面客户支持的员工,不包括其他人员。
没有可供核对内容的要求。 以下两项在 ShiftCare 中没有结构化记录,因此缺少记录不能证明任何问题。在任一框架下,都应报告为“需人工审核”,而不是缺失:
| 要求 | 匹配词 |
|---|---|
| 相关经验 | experience, years of experience, tenure, prior experience |
| 持续专业发展 | cpd, continuing professional development, professional development, ongoing training |
排除项。 纯办公室或行政岗位——administrator、office coordinator、scheduler、accounts、director——需要满足“所有工作人员”的要求,但不需要满足一线护理人员的要求,除非职位名称本身表明其直接支持客户。关键人员和负责人适任性、服务提供方注册以及临床治理由组织负责,而非由工作人员负责,且两份清单都不涵盖这些事项。
子字符串匹配可能会产生看似确凿、实则荒谬的结果。 如果匹配词出现在其他临床领域的资质名称中,就属于误报;将其列为已满足,比不报告更糟。实际例子:orientation 会匹配“Orientation & Mobility Training”,这是一项与 NDIS 工作人员岗前培训模块无关的视力障碍人士移动技能;first aid 会匹配“Mental Health First Aid”和“Seizure First Aid”,但两者都不是通用急救证书。如果匹配的名称包含该要求未提及的临床或服务领域,请将其单独列为可能的误报,供用户否决,并与有把握的匹配项区分开。一个有把握的匹配项,胜过四个需要用户逐一核查的匹配项。
角色范围。 框架要求分为所有工作人员都必须具备的要求,以及仅适用于直接支持客户的员工的要求。list_staff 会返回 role,有时还会返回 job_title。如果设置了 job_title,请使用它;否则使用 role。不要报告办公室行政人员缺少急救资质。在输出中说明你将哪些员工视为一线人员、哪些视为办公室人员,以便发现并纠正错误判断。
条件性要求。 某些要求仅在触发条件成立时适用,例如运送参与者、支持未满 18 岁的人士、协助用药。ShiftCare 不跟踪这些触发条件。请将每项条件性要求报告为由用户核查的事项:“仅在你运送参与者时适用——请确认这是否适用于你的服务。”绝不要将条件性要求表述为尚未履行的义务。
步骤 4 — 报告账号需要配置的内容
在检查任何员工之前,先回答此问题。除了已进行的两次目录调用之外,这不会增加任何成本,而且往往比员工报告更重要:如果账号从未将某项要求配置为资质,就无法为任何人跟踪该项要求,因此每位员工都会显示存在差距,但原因与他们本人毫无关系。
只有当用户选择了纯到期检查时,才跳过本节——没有行业检查清单,就没有可与目录进行比较的要求列表。
根据步骤 3 中的映射,将所选检查清单分为以下三类:
- 已跟踪 — 账号中存在与此要求匹配的资质。请列出资质名称,让用户知道你匹配的是哪一项。
- 未配置 — 账号中没有资质与此要求匹配。这是账号设置方面的缺口,不是员工方面的缺口。在有人创建资质类型之前,提供方无法记录此凭证或设置其到期时间。请先列出这些项目,因为它们是需要采取行动的项目。
- 重复项 — 多项资质与同一要求匹配。账号中会随着时间推移积累几乎相同的条目,而分散在这些条目中的记录可能导致员工在一项中显示合规,在另一项中却显示缺失。请列出所有重复项,并建议合并。
然后,无论是否选择了某个框架,都要标明会削弱目录跟踪能力的标志:
- 与某项要求匹配的资质,其
require_document: false— 账号会接受没有附加证据的凭证。 - 与某项要求匹配的资质,其
require_expiry: false— 记录凭证时可以不填到期日期,因此它永远不会出现在到期报告中。这是合规报告看起来正常、实际却不然的最常见原因。 - 所有员工都必须持有的要求,与某项
require_for_all_carers: false的资质匹配 — 不会有人被报告为缺少此项要求。
按以下格式报告,然后询问是否继续检查员工:
Account setup — NDIS worker check
Advisory checklist. Confirm against the NDIS Commission.
Not configured (6)
100-point ID / proof of identity no qualification in this account
NDIS Worker Orientation Module no qualification in this account
...
Duplicates (1)
Working With Children Check 3 entries: "Working with Children Check",
"Working with Children Check (WWCC)",
"Working with children's check"
Tracked but weakly (2)
First Aid Certificate no expiry required — will never expire-report
Police Check not required for all carers — nobody flagged as missing
Tracked (9)
NDIS Worker Screening Check -> NDIS Worker Check (NDISWC)
...
切勿将“未配置”表述为不合规。提供方可能完全通过其他系统跟踪此凭证。这意味着此技能无法查看该凭证,报告中应如实说明。
步骤 5 — 检查员工
单名员工。 使用 list_staff(filter_by_name)查找该人员,继续之前按姓名确认找对了人,然后使用其 staff_id 调用 list_staff_qualifications。还要使用其 user_id 调用 list_staff_files,以查看文档证据。
整个账号。 list_staff 每页最多返回 20 人,且没有仅筛选在职人员的过滤器。
- 调用
list_staff,设置per_page=20,第 1 页。读取_metadata.total_count和total_pages。 - 成本提示。 每名员工都需要额外调用一次——
list_staff_qualifications只能接受单个staff_id,没有针对整个账号的调用形式。在检查约 25 名以上员工之前,告知用户所需的调用次数,并询问是否先按姓名或角色缩小范围。等待用户答复。一个有 300 名员工的账号大约需要 315 次调用,并会消耗大量令牌。 - 遍历所有页面,然后自行按
onboarding_status筛选;服务端没有此过滤器。保留active。排除invited、pending和no_access——这些人员尚未开始,或从未获得访问权限。onboarding_status也可能为null,这不等同于非在职:将 null 视为未知,将该员工保留在检查范围内,并标记出来,以便用户更正。按状态分别报告排除人数,切勿合并为一个总数。 - 对每名员工,调用
list_staff_qualifications。
不要对整个账号调用 list_staff_files。每条文档记录都包含一段很长的签名文件 URL,因此列出整个账号的文档会消耗远超其价值的令牌;而 user_id: null 的记录属于账号级文档,不属于任何员工。切勿在输出中复述文件 URL;它们是临时链接,用户无法读取。
第 6 步——确定每条记录的状态
一套状态阶梯,既作为评估顺序,也作为报告中其他所有地方的严重程度顺序。每条资格记录按顺序匹配,命中第一项即为其状态;最严重的状态排在最前。
- 需要附件——资格的
require_document: true,且记录没有document_id。没有附加文档的记录,即使有到期日也没有意义,因此此项优先于日期。 - 已过期——
expires_at日期早于今天。 - 未验证——
verified_at为 null。 - 无到期日——
expires_at为空。如果资格的require_expiry: true,请单独指出这一情况。 - 即将到期——
expires_at是今天或之后的日期,且在指定期限内。 - 有效——其他所有情况。
第 2 至第 6 项是产品评估员工资格记录的顺序,因此这里显示的记录状态与应用中的状态一致。第 1 项排在它们前面,因为产品会将需要文档但没有文档的记录完全排除在状态分类之外。
**一名员工可能持有同一项资格的多条记录。**保留 expires_at 最晚的那条记录,这与产品员工资格报告保留的记录一致;只有在不存在有到期日的记录时,才将没有 expires_at 的记录纳入考虑。然后对这条记录应用状态阶梯。续期记录的到期日较晚,因此会取代它所替换的证书;但旧的无到期日记录不能让较新的过期记录恢复有效,报告仍会显示已过期。
缺失是一个单独的分类,依据的是要求列表,而不是记录:
- 始终适用:员工没有任何记录的所有
require_for_all_carers: true资格。该标记指的是 照护人员,因此不要将这些资格计入仅限办公室的岗位——没有驾驶执照记录的管理员不算缺失。请在单独一行报告办公室和管理人员(“不计入,办公室岗位”),并列出你视为办公室岗位的角色,以便发现判断错误。 - 框架模式:检查清单中每一项要求,如果账户目录中有对应资格,而员工没有该资格的记录,则将其列为缺失。完全没有对应资格的要求应归为第 4 步中的“未配置”,绝不能归为缺失。
将日期作为日历日期比较,而不是时间戳。expires_at 和 verified_at 以 UTC 返回,而此技能调用的任何内容都不会返回账户时区——whoami、list_accounts 和 list_staff 都不会提供时区信息。请使用用户自己的时区进行转换,并在报告标题行中注明该时区,以便发现错误假设;如果时区不正确,请提出重新运行。若不进行转换,直接将 UTC 时间戳与本地日期比较,会导致凭证在日期交界处被错误地归入或移出过期分类。
第 7 步——报告
对同一次检查提供两种视图。框架模式下,先展示要求视图;普通到期模式下没有要求列表,因此先展示员工视图。
要求视图 — 每项要求一行
每项要求的状态根据其自身计数得出,并使用自己的分母:仅统计适用该要求的员工。如果某项要求仅适用于一线员工,而 10 名员工中有 6 名是办公室员工,那么分母就不是 10。每一行都要说明分母。
| 状态 | 条件 |
|---|---|
| 清晰 | 所有适用范围内的员工都持有有效记录。 |
| 需要关注 | 至少有一名适用范围内的员工记录已过期、即将过期、未经核实、缺少附件或没有记录,但并非所有人都如此。 |
| 缺失 | 适用范围内没有任何员工持有相关记录。 |
| 人工审核 | ShiftCare 中没有可供核实的内容,例如工作经验、专业发展。绝不能将这些报告为缺失。 |
| 未配置 | 账户中没有任何资质与此要求匹配,详见第 4 步。 |
说明每项要求的匹配方式——按资质名称、按类别,或按其他类型的记录——这样错误匹配就能被发现,而不会被掩盖。如果某项要求有多种满足方式,应按最有力的证据计入,并说明采用了哪一种:如果 NDIS Worker Screening Check 代替了养老护理警察证明,应标为由该筛查检查满足,而不是视为两个各自只满足一半的答案。
NDIS worker check — 24 in-scope staff, 90-day window
Advisory checklist. Confirm against the NDIS Commission.
Requirement Status Held Matched via
NDIS Worker Screening Check Needs attention 21/24 name: NDIS Worker Check (NDISWC)
First Aid & CPR Needs attention 14/18 name: First Aid Certificate
frontline only, 6 office staff not counted
Working With Children Check Needs attention 9/24 3 duplicate qualifications — see setup
NDIS Code of Conduct Not configured — no qualification in this account
Relevant experience Manual review — nothing to verify against
Manual handling Clear 18/18 name: Manual Handling
员工视图 — 按严重程度从高到低
Staff compliance — expiry check · 28 staff · 90-day window · 4 September 2026 (Australia/Sydney)
4 excluded (2 invited, 1 pending, 1 no access) · 1 unknown status
| 发现 | 数量 |
|---|---|
| 已过期 | 4 |
| 90 天内到期 | 7 |
| 需要附件 | 2 |
| 缺失(账户设为必填) | 5 |
| 未核实 | 11 |
| 员工 | 资质 | 状态 | 日期 |
|---|---|---|---|
| Freddy Mercury | First Aid Certificate | 已过期 | 2026 年 8 月 12 日(23 天前) |
| David Bowie | Police Check | 即将到期 | 2026 年 11 月 2 日(59 天后) |
建议 — 始终以此结束
按后果排序:先处理已排班员工的过期资质,再处理会导致无法显示未来到期日期的设置缺口,最后处理待核实事项。说明每项修正应在哪里完成。
| 优先级 | 建议操作 | 原因 | 位置 |
|---|---|---|---|
| 1 | 为 Freddy Mercury 更新 First Aid | 已过期 23 天,且本周已排班 | 员工资料 → 资质 |
| 2 | 为 Police Check 开启到期跟踪 | 已记录但没有到期日期,因此永远不会出现在此报告中 | 账户 → 资质 |
| 3 | 为 NDIS Code of Conduct 创建资质 | 尚未配置,因此无法将任何员工记录为符合此要求 | 账户 → 资质 |
| 4 | 合并 3 条 Working With Children 记录 | 重复记录导致同一个人看起来既符合要求又缺失记录 | 账户 → 资质 |
最后以一行 未检查 结尾:列出跳过的员工及原因、失败的调用,并说明本次检查不涵盖组织层面的义务。
输出规则:
- 要求视图的分母必须写成
已持有 / 适用范围内人数,不得只写百分比。 - 说明哪些要求是由明显对应的资质以外的内容满足的,以及具体计入了什么。
- 使用姓名,不使用 ID。使用资质名称,不使用资质 ID。
- 每个日期都写成用户能识别的日历日期,并为任何即将到期的记录注明剩余天数。
- 说明使用的时间窗口,并指出它可能与账户自行配置的时间窗口不同。说明比较日期时使用的时区。
- 如果选择了某个框架,说明该框架及其注意事项,并引用参考文件中的原文注意事项,不要改写。
- 列出每一位被跳过、排除或无法读取的员工。
- 不得给出合规结论或分数,也不得说“你已准备好接受审计”。
- 对于大型账户,应告知用户可按需提供每位员工的详细信息,而不是一次性列出所有记录。
- 遵循
shiftcare-basics技能中的通用输出规范:标题行、摘要表、详细表格、建议,然后说明未检查的内容。 - 只说明一次:组织层面的义务——服务提供者注册、关键人员适任性、保险,以及由企业而非员工持有的政策——不在本次检查范围内。员工报告没有问题,不代表审计没有问题。
修复报告发现的问题
此技能不执行写入操作。当用户想记录续期、验证凭证或上传文档时,告知他们 ShiftCare 中的位置——员工的个人资料下方的资质部分——然后停止。即使账户允许写入且用户提出要求,也不要通过此技能调用写入工具。当前操作步骤请参阅 ShiftCare 帮助中心。
此技能无法查看的内容
在相关情况下,请直白说明,不要把本非问题的情况报告为缺漏:
- 账户自身设定的即将到期阈值。此处无法读取。
- 文档内容是否确实与其资质记录所述一致。只能确认已附加文档。
- 资质列表之外保存的员工筛查记录。
- 账户未配置为资质的任何凭证。如果服务提供方在电子表格中跟踪警方背景调查,此技能无法查看这些记录;报告缺失时,必须说明这是原因。