Flexmail 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 Flexmail. Routes through Apideck with serviceId "flexmail".
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 (Flexmail via Apideck), lists concrete actions and entity types, and provides explicit trigger guidance. The mention of the unified API pattern and serviceId switching adds useful context for disambiguation. The description uses proper third-person voice and is concise yet comprehensive.
| 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 pattern. | 3 / 3 |
Completeness | Clearly answers both 'what' (Flexmail integration via Apideck CRM unified 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 Flexmail'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Flexmail', 'contacts', 'companies', 'leads', 'opportunities', 'activities', 'pipelines', 'CRM', 'Apideck', and 'serviceId'. Good coverage of domain-specific terms a user would naturally mention. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive due to the specific mention of 'Flexmail' and 'serviceId "flexmail"'. While it shares the Apideck CRM unified API pattern with other connectors, the Flexmail-specific naming and serviceId make it clearly distinguishable from other CRM connector skills. | 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 integration skill with excellent progressive disclosure and actionable code examples. Its main weaknesses are some marketing-style verbosity about Apideck's portability benefits (which Claude doesn't need to be sold on) and a lack of explicit validation/error-handling workflows for operations that could fail. The structure is well-organized and references are clearly signaled.
Suggestions
Remove or significantly trim the 'Portable across 21 CRM connectors' section — the portability point is already made in the intro and the serviceId swap is shown in the minimal example.
Add an explicit error-handling workflow: what to do when a call returns UnsupportedOperationError or auth failure, with a step-by-step sequence including validation and retry.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill contains some unnecessary verbosity — the 'Portable across 21 CRM connectors' section is largely marketing copy explaining the value proposition of Apideck, which Claude doesn't need. The 'compounding advantage' paragraph and repeated emphasis on portability across connectors adds little actionable value. However, the quick facts and code examples are reasonably tight. | 2 / 3 |
Actionability | 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. All examples are copy-paste ready with clear variable placeholders. | 3 / 3 |
Workflow Clarity | The skill presents a reasonable sequence (authenticate → list contacts → verify coverage → use proxy if needed), but there are no explicit validation checkpoints or error-handling feedback loops. For operations that might fail (e.g., unsupported operations, auth failures), the guidance is mentioned but not structured as a clear workflow with retry/fix steps. | 2 / 3 |
Progressive Disclosure | Excellent use of one-level-deep references to sibling skills (apideck-node, apideck-best-practices, apideck-connector-coverage) and external resources (OpenAPI spec, API Explorer, Flexmail docs). The SKILL.md serves as a clear overview with well-signaled pointers to detailed 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.