Microsoft Dynamics 365 Human Resources integration via Apideck's HRIS unified API — same methods work across every connector in HRIS, switch by changing `serviceId`. Use when the user wants to read or sync employees, departments, payrolls, and time-off records in Microsoft Dynamics 365 Human Resources. Routes through Apideck with serviceId "microsoft-dynamics-hr".
87
86%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Quality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly identifies the specific integration target (Microsoft Dynamics 365 Human Resources via Apideck), lists concrete data entities (employees, departments, payrolls, time-off records), and provides an explicit 'Use when' clause with natural trigger terms. The description is concise, uses third-person voice, and is highly distinctive with specific product names and serviceId references.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'read or sync employees, departments, payrolls, and time-off records' and specifies the integration mechanism (Apideck's HRIS unified API, serviceId). Also mentions the cross-connector pattern. | 3 / 3 |
Completeness | Clearly answers both 'what' (Microsoft Dynamics 365 HR integration via Apideck HRIS unified API for employees, departments, payrolls, time-off) and 'when' (explicit 'Use when the user wants to read or sync employees, departments, payrolls, and time-off records in Microsoft Dynamics 365 Human Resources'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Microsoft Dynamics 365 Human Resources', 'employees', 'departments', 'payrolls', 'time-off records', 'HRIS', 'Apideck', and the specific serviceId 'microsoft-dynamics-hr'. Good coverage of both product names and domain terms. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive due to the specific product name 'Microsoft Dynamics 365 Human Resources', the specific serviceId 'microsoft-dynamics-hr', and the Apideck HRIS API context. Unlikely to conflict with other skills unless there are multiple Dynamics 365 HR integrations. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
72%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured connector skill with strong actionability and excellent progressive disclosure to related skills and documentation. Its main weaknesses are verbosity from excessive repetition of the full product name and over-explanation of concepts like portability and OAuth that Claude already understands. The workflow could benefit from explicit validation checkpoints, particularly around connection state verification before API calls.
Suggestions
Abbreviate 'Microsoft Dynamics 365 Human Resources' to 'Dynamics 365 HR' or 'D365 HR' after the first mention to significantly reduce token count.
Trim the 'Portable across 58 HRIS connectors' section — the code example already demonstrates portability; the explanatory paragraph restates what's obvious from the example.
Add a brief validation step in the workflow, e.g., check connection status is 'callable' before making API calls, and show how to handle common errors like UnsupportedOperationError inline.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill repeats the 'Microsoft Dynamics 365 Human Resources' full name excessively (~20+ times) when abbreviation would suffice after first mention. The portability section belabors the point about switching serviceId, which is already clear from the quick facts and example. The authentication section explains OAuth concepts Claude already knows. | 2 / 3 |
Actionability | Provides fully executable TypeScript code for listing employees, a concrete curl command for verifying coverage, and a concrete proxy API curl example. The serviceId, environment variables, and API endpoints are all specific and copy-paste ready. | 3 / 3 |
Workflow Clarity | The skill covers a clear sequence (setup → use unified API → verify coverage → fallback to proxy), but lacks explicit validation checkpoints. There's no guidance on checking connection state before making calls, no error handling examples, and the coverage verification step is presented separately rather than as part of an integrated workflow. | 2 / 3 |
Progressive Disclosure | Excellent progressive disclosure with a concise overview and well-signaled one-level-deep references to SDK skills, best practices, connector coverage, OpenAPI specs, and official docs. Content is appropriately split between this skill and referenced materials. | 3 / 3 |
Total | 10 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_field | 'metadata' should map string keys to string values | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
9e04d86
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.