CharlieHR 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 CharlieHR. Routes through Apideck with serviceId "charliehr".
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 integration target (CharlieHR via Apideck), lists specific data domains (employees, departments, payrolls, time-off records), and includes an explicit 'Use when' clause with natural trigger terms. The description is concise, uses third person voice, and is highly distinguishable from other potential HRIS integration skills due to the explicit serviceId and product name references.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'read or sync employees, departments, payrolls, and time-off records in CharlieHR.' Also mentions the technical mechanism (Apideck's HRIS unified API, serviceId). | 3 / 3 |
Completeness | Clearly answers both 'what' (CharlieHR integration via Apideck HRIS unified API for reading/syncing employees, departments, payrolls, time-off) and 'when' ('Use when the user wants to read or sync employees, departments, payrolls, and time-off records in CharlieHR'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'CharlieHR', 'employees', 'departments', 'payrolls', 'time-off records', 'HRIS', 'Apideck', and 'sync'. These cover common variations of what a user needing this integration would mention. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — specifically targets CharlieHR via Apideck with serviceId 'charliehr'. The mention that the same methods work across HRIS connectors but are distinguished by serviceId makes it clear when this skill applies vs. other Apideck HRIS connectors. | 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 solid connector-specific skill with good actionability (executable code, concrete commands) and excellent progressive disclosure to related skills and references. Its main weaknesses are verbosity — particularly the repeated portability messaging and marketing-style language — and the lack of a clearly sequenced workflow with explicit validation checkpoints for the setup-to-usage path.
Suggestions
Consolidate the portability message into a single sentence in the intro and remove the dedicated 'Portable across 58 HRIS connectors' section, which repeats the same point with a marketing tone.
Add a numbered workflow (e.g., 1. Configure Vault → 2. Verify coverage → 3. Call unified API or fall back to Proxy) with explicit decision points and validation steps.
Remove the 'When to use this skill' section — Claude can infer activation triggers from the skill description and context; this section mostly restates the intro.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill contains several sections that are unnecessarily verbose for Claude — the 'Portable across 58 HRIS connectors' section repeats the portability concept already stated in the intro, the 'When to use this skill' section over-explains activation triggers, and the marketing-style language ('compounding advantage') adds no actionable value. However, the code examples and quick facts are reasonably tight. | 2 / 3 |
Actionability | The skill provides fully executable TypeScript code for listing employees, a concrete curl command for verifying coverage, and a complete proxy API escape hatch with real headers. The serviceId, auth type, and setup links are all specific and immediately usable. | 3 / 3 |
Workflow Clarity | There's an implicit workflow (set up auth → verify coverage → call unified API → fall back to proxy if unsupported), but it's never presented as a clear sequence with validation checkpoints. The coverage verification step is mentioned but not integrated into a numbered workflow with explicit decision points for what to do when coverage is missing. | 2 / 3 |
Progressive Disclosure | The skill is well-structured as an overview with clear one-level-deep references to SDK skills, best practices, connector coverage, OpenAPI specs, and official docs. Navigation is easy with well-signaled links throughout, and detailed content is appropriately delegated to sibling skills. | 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.