Microsoft Dynamics CRM integration via Apideck's CRM unified API — same methods work across every connector in CRM, switch by changing `serviceId`. Use when the user wants to read, write, or search contacts, companies, leads, opportunities, activities, and pipelines in Microsoft Dynamics CRM. Routes through Apideck with serviceId "microsoft-dynamics".
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 CRM platform (Microsoft Dynamics), the integration mechanism (Apideck unified API with serviceId), concrete actions (read, write, search), and specific entity types. It includes an explicit 'Use when' clause with natural trigger terms and is highly distinguishable from other potential CRM integration skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions ('read, write, or search') and specific entities ('contacts, companies, leads, opportunities, activities, and pipelines'). Also specifies the integration mechanism (Apideck unified API, serviceId). | 3 / 3 |
Completeness | Clearly answers both 'what' (Microsoft Dynamics CRM integration via Apideck for reading, writing, searching CRM entities) and 'when' ('Use when the user wants to read, write, or search contacts, companies, leads, opportunities, activities, and pipelines in Microsoft Dynamics CRM'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Microsoft Dynamics CRM', 'contacts', 'companies', 'leads', 'opportunities', 'activities', 'pipelines', 'Apideck', and the specific serviceId. These cover the terms a user would naturally use when requesting CRM operations. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — specifies 'Microsoft Dynamics CRM' as the target system, the specific serviceId 'microsoft-dynamics', and routes through Apideck. This clearly distinguishes it from other CRM skills or other Apideck 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 well-structured connector skill with strong actionability and excellent progressive disclosure to related skills and references. Its main weaknesses are moderate verbosity from marketing-style language and repeated points about portability, plus a workflow that could be more explicitly sequenced with validation checkpoints for the setup and integration process.
Suggestions
Remove or condense the 'Portable across 21 CRM connectors' section — the portability point is already made in the intro and the code example speaks for itself.
Add an explicit numbered workflow (e.g., 1. Configure Vault connection → 2. Verify coverage → 3. Call unified API → 4. If UnsupportedOperationError, use proxy) with validation at each step.
Trim the 'When to use this skill' section to just the activation triggers and SDK cross-references — Claude doesn't need to be told what the skill teaches it.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill contains some unnecessary verbosity — the 'Portable across 21 CRM connectors' section repeats the marketing pitch from the intro, and phrases like 'This is the compounding advantage of using Apideck over integrating Microsoft Dynamics CRM directly' are sales copy, not actionable instruction. The 'When to use this skill' section also over-explains. However, the code examples and reference sections are reasonably tight. | 2 / 3 |
Actionability | The skill provides fully executable TypeScript code for listing contacts, a concrete curl command for verifying coverage, and a complete proxy API escape hatch with real headers. The serviceId, auth type, and SDK references are all specific and copy-paste ready. | 3 / 3 |
Workflow Clarity | There's an implicit workflow (set up auth → verify coverage → call API → use proxy if needed) but it's not explicitly sequenced with numbered steps or validation checkpoints. The coverage verification step is present but not integrated into a clear workflow with error recovery beyond a reference to another skill. | 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 referenced 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.