Act 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 Act. Routes through Apideck with serviceId "act".
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-crafted description that clearly states what the skill does, when to use it, and includes relevant trigger terms. Its main weakness is potential overlap with other Apideck CRM connector skills, since the description pattern and entity types are likely identical across connectors, differentiated only by the service name 'Act'. The technical context about serviceId switching is a nice touch for disambiguation.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'read, write, or search contacts, companies, leads, opportunities, activities, and pipelines.' Also explains the integration mechanism (Apideck unified API, serviceId switching). | 3 / 3 |
Completeness | Clearly answers both 'what' (Act integration via Apideck's 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 Act'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Act', 'CRM', 'contacts', 'companies', 'leads', 'opportunities', 'activities', 'pipelines', 'Apideck'. These cover the domain well and match natural user language. | 3 / 3 |
Distinctiveness Conflict Risk | While 'Act' and 'serviceId "act"' provide some distinctiveness, the description mentions generic CRM operations (contacts, companies, leads, etc.) that would overlap heavily with other CRM connector skills using the same Apideck unified API pattern. The only differentiator is the service name. | 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 references. Its main weaknesses are some marketing-style verbosity (the portability section repeats itself) and a lack of explicit workflow sequencing with validation checkpoints for the coverage-check-then-call pattern.
Suggestions
Remove or significantly trim the 'Portable across 21 CRM connectors' section — the intro already explains portability, and the code example showing serviceId switching could be folded into the minimal example.
Add an explicit numbered workflow: 1. Verify connection state is 'callable', 2. Check coverage for the target resource, 3. Make the API call, 4. If UnsupportedOperationError → use proxy escape hatch.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes some unnecessary verbosity — e.g., the 'Portable across 21 CRM connectors' section repeats the serviceId-switching concept already explained in the intro and quick example. The 'compounding advantage' paragraph is marketing copy that doesn't help Claude execute tasks. However, most sections are reasonably focused. | 2 / 3 |
Actionability | Provides fully executable TypeScript code for listing contacts, a concrete curl command for verifying coverage, and a complete proxy API curl example with all required headers. The serviceId, auth setup, and SDK initialization are all 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 mentioned but not integrated into a clear workflow with feedback loops for handling unsupported operations. | 2 / 3 |
Progressive Disclosure | Excellent progressive disclosure with a concise overview in the main file and well-signaled one-level-deep references to SDK skills, best practices, connector coverage, OpenAPI specs, and API Explorer. Navigation is clear and references are consistently formatted. | 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.