CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

adobe-pdf-services

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

Quality

56%

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/adobe-pdf-services/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 delivers strong, executable CLI guidance (install, auth, connection lifecycle, action discovery/execution, proxy fallback) with genuine error-state handling for connections. Its weaknesses are padding that explains things Claude already knows, a broken internal reference to a nonexistent 'Step 2', and the absence of any worked PDF-operation example or output validation for destructive operations like page deletion.

Suggestions

Fix the workflow numbering: either add explicit Step 1/Step 2 headings or rewrite "skip to Step 2" as "skip to Searching for actions", and reconcile the orphaned "1b" heading.

Add one worked end-to-end example (e.g. combining two PDFs or exporting a PDF to DOCX) showing a real action id, its --input JSON, and how to read the output field, plus a verification step for destructive operations like Delete Pages.

Trim known-concept filler — the introductory paragraph about what Adobe PDF Services is, the 'fastest way to get a connection' sentence, and the vague Agent Types note — to tighten token efficiency.

DimensionReasoningScore

Conciseness

The body is mostly efficient CLI guidance, but includes unnecessary padding Claude doesn't need: the opening paragraph explaining what Adobe PDF Services is ("a suite of APIs that allow developers to integrate PDF functionality into their applications"), the filler sentence "This is the fastest way to get a connection. The URL is normalized to a domain...", and the rambling Agent Types note ending in "etc. Those will be used to adjust tooling to be used best with your harness". Fits 'Mostly efficient but includes some unnecessary explanation or could be tightened'; not 4 because several such passages could be trimmed.

3 / 5

Actionability

Concrete, runnable commands throughout: `npm install -g @membranehq/cli@latest`, `membrane login`, `membrane connection ensure ... --json`, the polling command, `membrane action run <actionId> --input '{"key": "value"}' --json`, plus a full proxy flag table. Not 5 because there is no worked example of an actual PDF operation (e.g. a real `action run` with the input a create/combine-PDF action expects), so the user must discover schemas at runtime; placeholders like CONNECTION_ID and <actionId> are never concretized.

4 / 5

Workflow Clarity

The install → login → connection → discover → run sequence is present and the connection flow has explicit state-based checkpoints (READY/BUILDING/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR with re-polling), but "If the returned connection has state: READY, skip to Step 2" references a numbered step that doesn't exist anywhere (there is no Step 1 heading either, only a stray "1b"), and there is no validation of action outcomes for the destructive operations the skill lists (Delete Pages, Replace Pages). Fits 'Steps listed but validation gaps; sequence present but checkpoints missing or implicit', and the missing-verification cap for destructive operations rules out 4.

3 / 5

Progressive Disclosure

The single ~150-line SKILL.md has clear section headers and no nested references (there are no bundle files at all), so navigation is shallow by construction. However, the dangling "skip to Step 2" cross-reference is a navigation defect, and inline material like the operations catalog and proxy flag table could live in a reference file. Fits 'Some structure but could be better organized'; not 4 because the broken step reference and unsplit catalog keep organization short of clean.

3 / 5

Total

13

/

20

Passed

Description

37%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 the Adobe PDF Services domain and includes an explicit 'Use when' clause, but the capabilities described are generic ('manage data, records, and automate workflows') and the trigger guidance is circular, restating the product name rather than listing natural user intents like merging, converting, or compressing PDFs. It reads as a template placeholder rather than a tailored description for this skill.

Suggestions

Replace 'Manage data, records, and automate workflows' with the concrete operations the skill actually supports, e.g. 'Create PDFs from documents, export PDFs to other formats, combine, compress, protect, split, and reorder pages'.

Rewrite the 'when' clause with natural user triggers, e.g. 'Use when the user wants to create, convert, merge, compress, or edit PDF files, or mentions Adobe PDF Services'.

Add common synonyms and file extensions (PDF, PDFs, .pdf) so the description triggers on the phrases users actually say, not just the brand name.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the domain ("Adobe PDF Services integration") but the actions are entirely generic — no concrete operations like create, combine, compress, or export PDF are listed, matching the 'Names the domain but actions are minimal or generic' anchor. Not 3 because no 1-2 genuinely concrete actions appear; not 1 because the domain is clearly named.

2 / 5

Completeness

A 'when' clause is present ("Use when the user wants to interact with Adobe PDF Services data") but it is circular — it restates the skill name rather than giving concrete triggers — and the 'what' ("Manage data, records, and automate workflows") is vague. Falls between the vague-'what' anchor (2) and the both-present-but-could-be-more-explicit anchor (4); the explicit but tautological 'when' keeps it from dropping to 2.

3 / 5

Trigger Term Quality

The only keyword is the product name "Adobe PDF Services" (repeated twice), plus generic words like "data" and "records"; natural user phrases such as "merge PDFs", "convert to PDF", "compress", or file extensions like ".pdf" are missing. Fits 'One or two generic keywords; missing the natural phrases users say'; not 3 because there is no coverage of common variations beyond the brand name itself.

2 / 5

Distinctiveness Conflict Risk

Naming the specific product "Adobe PDF Services" gives it a clear niche, but "Manage data, records, and automate workflows" is generic data-management language that overlaps with any records/database/automation skill, matching 'Somewhat specific but could still overlap with similar skills'. Not 4 because the generic action phrasing creates real overlap risk beyond closely related PDF skills.

3 / 5

Total

10

/

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/adobe-pdf-services/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.