CtrlK
BlogDocsLog inGet started
Tessl Logo

blackbaud

Blackbaud integration. Manage Constituents, Opportunities, Funds, Campaigns. Use when the user wants to interact with Blackbaud data.

52

Quality

59%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/blackbaud/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is highly actionable, with executable Membrane CLI commands and a clear, validated connection workflow including a state machine and feedback loops. Its chief weakness is verbosity: a large entity bullet list and a 'No description' actions table consume tokens that should be trimmed or moved into reference files.

Suggestions

Trim or remove the ~80-item 'Blackbaud Overview' bullet list and the 'Popular actions' table whose rows all read 'No description', since Membrane's action search surfaces this dynamically.

Drop the introductory paragraph defining what Blackbaud is (Claude already knows the product) to reclaim tokens.

Move the bulky entity/action catalog into a references/ file and link to it one level deep to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body pads tokens with an ~80-item bullet list of entity names (many generic CRM items like Cases, Leads, Incidents) and a 'Popular actions' table where every row says 'No description', plus an introductory paragraph explaining what Blackbaud is, fitting 'noticeably verbose; several padded sections'.

2 / 5

Actionability

Concrete, copy-pasteable CLI commands are provided throughout (install, login, connection ensure, action list/run, request) with flags and JSON examples, but placeholders like <actionId> and CONNECTION_ID and a few under-specified cases leave minor gaps.

4 / 5

Workflow Clarity

The connection setup is a clear sequence (install -> login -> connection ensure -> poll for state -> search -> run) with an explicit state machine (READY/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR) and a feedback loop (re-poll after the user acts), with only minor validation gaps before destructive action runs.

4 / 5

Progressive Disclosure

Sections are reasonably organized with headers, but no bundle files exist and bulky inline content (the ~80-item entity list and the Popular actions table) that would belong in a separate reference file is inlined, fitting 'some structure but could be better organized'.

3 / 5

Total

13

/

20

Passed

Description

62%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is well-formed: third-person, names the domain and key entities, and includes an explicit 'Use when' trigger. Its main weaknesses are a single generic action verb ('Manage') and limited trigger-term variation, which keep specificity and trigger quality at mid-range.

Suggestions

Replace the generic verb 'Manage' with 2-3 concrete actions (e.g., 'Create, update, and list Constituents, Opportunities, Funds, and Campaigns') to lift specificity.

Add natural trigger synonyms or phrasings users might say (e.g., 'donor records', 'fundraising opportunities', 'gifts') to broaden trigger-term coverage.

Tighten the 'when' clause to specify scope (e.g., 'Use when the user wants to query or update donor, gift, or fundraising data in Blackbaud').

DimensionReasoningScore

Specificity

Names the Blackbaud domain and lists concrete entities ('Constituents, Opportunities, Funds, Campaigns') but relies on a single generic verb ('Manage') rather than several specific concrete actions, so it sits between the 3 and 4 anchors and leans to 3.

3 / 5

Completeness

It states both the 'what' ('Blackbaud integration. Manage Constituents, Opportunities, Funds, Campaigns.') and an explicit 'when' ('Use when the user wants to interact with Blackbaud data.'), though the 'when' could be more specific about which interactions, fitting the 4 anchor.

4 / 5

Trigger Term Quality

'Blackbaud' and 'interact with Blackbaud data' are relevant natural keywords, but there are no common variations, synonyms, or file/extension terms, matching the 'some relevant keywords but missing variations' anchor.

3 / 5

Distinctiveness Conflict Risk

The named product 'Blackbaud' gives it a clear niche with minimal conflict risk, but the generic 'interact with data' phrasing leaves minor overlap risk, so it is mostly distinct rather than fully so.

4 / 5

Total

14

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
membranedev/application-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.