CtrlK
BlogDocsLog inGet started
Tessl Logo

blackbaud

Blackbaud 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 Blackbaud. Routes through Apideck with serviceId "blackbaud".

87

Quality

86%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

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 platform (Blackbaud), the integration mechanism (Apideck CRM unified API), concrete actions (read, write, search), and specific entity types. It includes an explicit 'Use when' clause with natural trigger terms and is highly distinctive due to the platform-specific naming. The description is concise yet comprehensive.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and entities: 'read, write, or search contacts, companies, leads, opportunities, activities, and pipelines in Blackbaud.' Also mentions technical details like switching by changing `serviceId` and routing through Apideck.

3 / 3

Completeness

Clearly answers both 'what' (Blackbaud integration via Apideck's CRM unified API for reading, writing, searching various CRM entities) and 'when' ('Use when the user wants to read, write, or search contacts, companies, leads, opportunities, activities, and pipelines in Blackbaud').

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'Blackbaud', 'contacts', 'companies', 'leads', 'opportunities', 'activities', 'pipelines', 'CRM', 'Apideck'. These cover the domain well and match what users would naturally mention.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive — specifically targets Blackbaud via Apideck with serviceId 'blackbaud'. The combination of the specific platform (Blackbaud), the integration layer (Apideck), and the serviceId makes it very unlikely to conflict with other CRM skills unless there are other Blackbaud-specific 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 well-structured connector skill with strong progressive disclosure and actionable code examples. Its main weaknesses are marketing-style verbosity (the portability section and activation triggers) and a workflow that could be more explicitly sequenced, especially given the beta status and the need to verify coverage before making calls.

Suggestions

Remove or drastically shorten the 'Portable across 21 CRM connectors' section — the portability point is already made in the intro and the code example showing serviceId swapping could be a one-liner note.

Restructure the implicit workflow (verify coverage → call unified API → handle UnsupportedOperationError → fall back to proxy) as an explicit numbered sequence with validation checkpoints.

Trim the 'When to use this skill' section to 1-2 lines — Claude doesn't need detailed activation trigger explanations.

DimensionReasoningScore

Conciseness

The skill contains some unnecessary verbosity — the 'Portable across 21 CRM connectors' section is marketing-style explanation that Claude doesn't need, and phrases like 'This is the compounding advantage of using Apideck over integrating Blackbaud directly' are filler. The 'When to use this skill' section also over-explains activation triggers. However, the core content is 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 escape hatch with real headers. The serviceId, auth type, and setup steps are all specific and copy-paste ready.

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 sequenced process with validation checkpoints. The beta caveat mentions verifying coverage but doesn't provide a feedback loop for handling failures beyond referencing another skill.

2 / 3

Progressive Disclosure

Excellent progressive disclosure — the skill provides a concise overview with well-signaled one-level-deep references to SDK skills, best practices, connector coverage, and the OpenAPI spec. The 'See also' section is clean and navigable.

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.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

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

Repository
apideck-libraries/api-skills
Reviewed

Table of Contents

Is this your skill?

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.