CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

acf

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

Quality

69%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

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

Quality

Content

67%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 solid, command-driven guide: nearly every section gives runnable Membrane CLI commands, and the connection workflow includes real validation via polling and state-based error handling. Its main flaws are padding (the ACF definition paragraph and Membrane promotional asides), a broken step numbering ('skip to Step 2' with no Step 2, a '1b' with no '1a'), and inconsistent CLI invocation between 'membrane' and 'npx @membranehq/cli'.

Suggestions

Delete or compress the opening paragraph explaining what ACF is and trim the Membrane endorsements ('handles authentication... so you can focus', 'will burn less tokens') to bare factual statements.

Fix the workflow numbering: label the sections as explicit Steps 1–3 (connect, wait for READY, discover/run actions) so 'skip to Step 2' and the '1b' subsection resolve to real anchors.

Standardize on one CLI invocation ('membrane' vs 'npx @membranehq/cli') and show one worked example that extracts the connection id from the 'connection ensure --json' output and uses it in 'action list'/'action run'.

DimensionReasoningScore

Conciseness

The body is mostly efficient but includes unnecessary explanation: 'ACF is a WordPress plugin that allows developers to add custom fields...' explains a concept Claude already knows, and lines like 'Membrane handles authentication and credentials refresh automatically — so you can focus on the integration logic rather than auth plumbing' and 'This will burn less tokens and make communication more secure' are endorsement padding. This fits 'Mostly efficient but includes some unnecessary explanation or could be tightened' — not 4, because there are several (not just minor) instances of padding; not 2, because the bulk is concrete command documentation rather than verbose tutorial prose.

3 / 5

Actionability

The content supplies executable, copy-paste-ready commands throughout: 'npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://advancedcustomfields.com" --json', 'membrane action run <actionId> --connectionId=CONNECTION_ID --input {...} --json', plus a concrete proxy flag table. It is not 5 because CONNECTION_ID/actionId remain unresolvable placeholders (no worked example of extracting an id from the ensure output), and the CLI invocation is inconsistent ('membrane' vs 'npx @membranehq/cli' in the polling step). It is clearly above 3, which would require pseudocode or missing key details.

4 / 5

Workflow Clarity

The sequence (install → login → connection ensure → poll until READY → search actions → run actions → proxy fallback) is clear and includes genuine validation checkpoints: '--wait' long-polling, state-based branching on READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR, and 'After the user completes the action... poll again'. This matches 'Clear sequence with most checkpoints present; minor validation gaps' — the gap is the dangling 'skip to Step 2' reference where no section is labeled Step 2 (and a '1b' without a '1a'), which makes the numbered flow incoherent at one point. No destructive/batch-operation cap applies, so it stays above 3.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and none are referenced, so there are no broken or nested references; the single page is organized into clearly headed sections (Install, Authentication, Connecting, Searching, Running, Proxy, Best practices). With no external references the structure is evaluated on its own organization, which fits 'Good structure; most content is appropriately placed; minor organization gaps' — the proxy flag table and clientAction state-machine detail are candidates for a reference file if the skill grows. It is not 5 because at ~140 lines with no pointers to deeper material, some inline content (proxy options, error-state details) is denser than an overview should be.

4 / 5

Total

15

/

20

Passed

Description

57%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 has the right structure (a what statement plus an explicit 'Use when' clause) and a clearly distinct niche in ACF. Its weaknesses are generic capability phrasing ('Manage data, records, and automate workflows') and a trigger vocabulary limited to 'ACF', omitting the natural terms (WordPress, Advanced Custom Fields, custom fields, field groups) users would say.

Suggestions

Replace the generic 'Manage data, records, and automate workflows' with concrete ACF operations, e.g. 'Manage ACF field groups, fields, and entry data, and run workflows against them'.

Expand the trigger clause with natural synonyms and fuller names: 'Use when the user wants to interact with ACF data in WordPress — custom fields, Advanced Custom Fields, field groups, or flexible content'.

Mention WordPress in the 'what' portion so the skill is discoverable from the ecosystem name, not just the 'ACF' abbreviation.

DimensionReasoningScore

Specificity

The description names the domain ('ACF integration') but its actions are generic: 'Manage data, records, and automate workflows' could describe almost any data tool, with no mention of concrete operations like custom fields, field groups, or entries. It matches the anchor 'Names the domain but actions are minimal or generic' — not 3, which requires 1-2 genuinely concrete actions; not 1, because the domain is at least clearly named.

2 / 5

Completeness

Both parts are present: the 'what' is 'Manage data, records, and automate workflows' and the 'when' is the explicit 'Use when the user wants to interact with ACF data.' This matches 'Has both what and when; when could be more explicit or specific' — the when-clause is circular (it restates the domain rather than naming concrete triggers), so it falls short of the 5 anchor. It is above 3 because the 'when' is explicitly stated, not merely implied.

4 / 5

Trigger Term Quality

'ACF' and 'ACF data' are relevant trigger terms, but the description omits the natural phrases a user would actually say: 'WordPress', 'Advanced Custom Fields', 'custom fields', or 'field groups'. This fits 'Some relevant keywords but missing common variations or synonyms' — not 4, since much more than 'a few' natural terms are missing; not 2, because the terms present are on-topic rather than generic filler.

3 / 5

Distinctiveness Conflict Risk

'ACF' is a distinct niche term and the trigger ('interact with ACF data') is unlikely to fire for unrelated skills, giving minimal conflict risk — matching 'Mostly distinct; minor overlap risk'. It is not 5 because the generic 'Manage data, records, and automate workflows' phrasing could overlap with other data-integration or workflow-automation skills; it is well above 3's overlap-with-similar-skills level.

4 / 5

Total

13

/

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/acf/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.