CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

actblue

Actblue integration. Manage data, records, and automate workflows. Use when the user wants to interact with Actblue data.

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

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

Quality

Content

75%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 body is a lean, command-first guide with genuinely good handling of the trickiest part — connection state branching and re-authentication flows — and concrete executable commands throughout. Its main weaknesses are the dangling 'Step 2' references that break the numbered flow, an unnecessary ActBlue background paragraph, and the total absence of ActBlue-specific action examples, which leaves the guide reading like generic Membrane boilerplate rather than an ActBlue skill.

Suggestions

Define or remove the 'Step 2' references — either number the workflow steps (1. Install, 2. Authenticate, 3. Connect, ...) or rename the target sections so the 'skip to Step 2' pointers resolve.

Add one concrete ActBlue example, e.g. membrane action list --intent "list recent contributions" --connectionId=... --json plus a sample action run with realistic input and output, so action usage is not purely placeholder-driven.

Trim the opening paragraph about what ActBlue is and who uses it (Claude already knows this), and either explain the bare 'Overview' entity list (Contribution Form, Line Item, Recurring Contribution Series, User) or cut it.

DimensionReasoningScore

Conciseness

The body is mostly lean, command-first content with a dense flag table and little padding. Minor instances of over-explanation could be trimmed — the opening paragraph explaining what ActBlue is and who uses it ('ActBlue is an online fundraising platform for Democratic candidates... It's primarily used by Democratic campaigns, progressive non-profits...') is background Claude already knows, and the 'Agent Types' aside is awkwardly written. This matches anchor 4 rather than 3 because the padding is minor relative to the document's overall density.

4 / 5

Actionability

Concrete, copy-paste-ready commands cover the full path: 'npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://secure.actblue.com/" --json', and 'membrane action run <actionId> --connectionId=CONNECTION_ID --input {...} --json', plus a proxy flag table. It matches anchor 4 rather than 5 because no ActBlue-specific example appears — every action example uses placeholders or a generic '{"key": "value"}' input instead of a realistic contribution query, so the common cases are not covered.

4 / 5

Workflow Clarity

The setup sequence (install → login → connection ensure → poll/branch by state → search actions → run) is clear, with an explicit state-branching feedback loop for connection readiness ('CLIENT_ACTION_REQUIRED — the user or agent needs to do something' followed by 'poll again with membrane connection get <id> --json to check if the state moved to READY'). It is anchor 4 rather than 5 because 'Step 2' is referenced twice ('skip to Step 2') but never defined, and the core action-run and proxy steps have no error-handling or output-validation guidance.

4 / 5

Progressive Disclosure

A single ~150-line file with clear section headers ('## Working with Actblue', '### Proxy requests', '## Best practices') and appropriately scoped content; no bundle files exist and none are strictly required. This matches anchor 4's 'good structure; most content appropriately placed' — it is not 5 because the under-50-line simple-skill exception does not apply, and detail-heavy material such as the clientAction state reference and the proxy flag table would sit naturally in a separate reference file.

4 / 5

Total

16

/

20

Passed

Description

66%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 names a distinctive platform and includes an explicit use-when trigger, but its capability statement is generic template language ('Manage data, records, and automate workflows') and it omits the domain vocabulary — donations, fundraising, contributions — that users would most naturally say. It is serviceable but does not communicate what this skill concretely does.

Suggestions

Replace 'Manage data, records, and automate workflows' with concrete actions drawn from the skill's own entities, e.g. 'Search and manage contributions, recurring donation series, and contribution forms'.

Extend the trigger clause with natural domain terms: 'Use when the user mentions ActBlue, donations, fundraising, or recurring contributions'.

Ground the buzzword 'automate workflows' in a concrete example (e.g. 'automate donation reporting workflows') or drop it.

DimensionReasoningScore

Specificity

It names the domain ('Actblue integration') and enumerates a few capability areas ('Manage data, records, and automate workflows'), but every action phrase is generic — no concrete operations like 'search contributions' or 'manage recurring donation series'. This sits between anchor 2 (actions minimal or generic) and anchor 3 (1-2 concrete actions), landing at 3 because multiple capability areas are at least enumerated.

3 / 5

Completeness

Both parts are explicitly present: what ('Manage data, records, and automate workflows') and when ('Use when the user wants to interact with Actblue data'). It matches anchor 4 rather than 5 because the 'when' is a single circular condition ('interact with Actblue data') without concrete trigger phrases, and the 'what' remains generic.

4 / 5

Trigger Term Quality

The natural keyword present is essentially just 'Actblue' (plus generic 'data' and 'records'); the terms users of this domain would actually say — 'donations', 'fundraising', 'contributions', 'contribution forms' — are all missing. This matches anchor 3: some relevant keywords but missing common variations and synonyms.

3 / 5

Distinctiveness Conflict Risk

'Actblue' is a distinctive proper noun naming one specific fundraising platform, giving a clear niche with minimal conflict risk against other skills — matching anchor 5. It is not merely anchor 4 because there is no realistic overlap with closely related skills; the only weakness is reliance on a single term rather than a set of distinct triggers.

5 / 5

Total

15

/

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.

Validation — 15 / 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

Path

skills/actblue/SKILL.md

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.