Microsoft Outlook 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 Outlook. Routes through Apideck with serviceId "microsoft-outlook".
84
82%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Quality
Discovery
92%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 well-structured description that clearly states what the skill does and when to use it, with good trigger term coverage across CRM entities. Its main weakness is potential conflict with other Apideck CRM connector skills, since the description explicitly acknowledges the methods are identical across connectors. The description uses proper third-person voice and is concise without unnecessary padding.
Suggestions
Emphasize what makes Microsoft Outlook distinct from other Apideck CRM connectors — mention Outlook-specific capabilities or data types if any exist, to reduce conflict risk with sibling connector skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'read, write, or search contacts, companies, leads, opportunities, activities, and pipelines.' Also specifies the integration mechanism (Apideck's CRM unified API) and the serviceId parameter. | 3 / 3 |
Completeness | Clearly answers both 'what' (Microsoft Outlook integration via Apideck CRM API for reading, writing, searching CRM entities) and 'when' (explicit 'Use when the user wants to read, write, or search contacts, companies, leads, opportunities, activities, and pipelines in Microsoft Outlook'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Microsoft Outlook', 'contacts', 'companies', 'leads', 'opportunities', 'activities', 'pipelines', 'CRM', and 'Apideck'. These cover the main entities a user would mention when working with Outlook CRM data. | 3 / 3 |
Distinctiveness Conflict Risk | While it specifies Microsoft Outlook and the serviceId 'microsoft-outlook', the description notes 'same methods work across every connector in CRM', which means other Apideck CRM skills likely share identical actions and entity types. The only distinguishing factor is the serviceId and 'Microsoft Outlook' name, creating potential overlap with other Apideck CRM connector skills. | 2 / 3 |
Total | 11 / 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 moderate verbosity (marketing-style language about portability advantages, over-explanation of when to activate) and a workflow that could be more explicitly sequenced with validation checkpoints for the coverage-check-then-call pattern.
Suggestions
Trim the 'Portable across 21 CRM connectors' section — the portability point is already made in the intro; the 'compounding advantage' paragraph is marketing copy that wastes tokens.
Restructure the implicit workflow (verify coverage → call unified API → handle errors → fall back to proxy) as an explicit numbered sequence with validation checkpoints.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill contains some unnecessary verbosity — e.g., explaining what Apideck does ('handles auth, pagination, rate limiting'), the 'compounding advantage' paragraph, and the 'When to use this skill' section which over-explains activation triggers Claude can infer. However, it's not egregiously padded and most sections carry useful information. | 2 / 3 |
Actionability | Provides fully executable TypeScript code for listing contacts, concrete curl commands for coverage verification and proxy API usage, specific serviceId strings, and real URLs. The examples are copy-paste ready with clear environment variable references. | 3 / 3 |
Workflow Clarity | There's an implicit workflow (check coverage → use unified API → fall back to proxy if unsupported), but it's not presented as a clear sequential process with explicit validation checkpoints. The coverage verification step exists but isn't integrated into a numbered workflow with error recovery loops. | 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 — the skill doesn't inline SDK details or full API references. | 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.