CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf-processor

Process PDFs - extract text, tables, and structured data from documents

56

Quality

70%

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/research-tools/capabilities/pdf-processor/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 skill body is efficient and well-structured with concrete API commands, but most of the substantive curl payloads are syntactically broken (truncated -d arguments), making the core workflow non-executable as written. Validation is also relegated to tips rather than explicit workflow checkpoints.

Suggestions

Fix the malformed JSON payloads: complete the -d '{...}' argument so Steps 2-3 and both Example Usage commands are valid, copy-paste-executable curl calls.

Promote verification into the workflow as an explicit step (e.g. "Step 5: Verify extracted figures against the source document before reporting") instead of a tip.

Remove the duplicated Example Usage commands or differentiate them meaningfully, and clean up the Discover More section (drop the stray `api show riveter` fragment and the broken trailing example).

DimensionReasoningScore

Conciseness

The body is dominated by executable curl commands with almost no explanation of concepts Claude already knows, matching "efficient; minor instances that could be trimmed." It is not 5 because the line "Extract text, tables, and structured data from PDF documents" repeats the description and the Example Usage section largely duplicates Steps 2-3; not 3 because the padding is minor rather than whole unnecessary explanatory sections.

4 / 5

Actionability

Commands are concrete curl calls with real endpoints, but several payloads are malformed and not executable as written — Step 2, Step 3, and both Example Usage blocks end the -d argument early (`-d '{"api":"scrapegraph","path":"/v1/smartscraper"}'` followed by unquoted stray JSON like `"website_url": ...}`), so copy-paste runs fail. This matches "some concrete guidance but incomplete; missing key details" rather than 4, since the breakage affects most of the workflow's key commands, not a minor gap.

3 / 5

Workflow Clarity

Steps 1-4 are clearly sequenced under headings, but validation is only implicit — verification appears as a Tip ("Verify extracted numbers against source") rather than a workflow checkpoint, and Step 1's Linkup fetch result is never connected to the later extraction steps. This fits "steps listed but validation gaps; checkpoints missing or implicit," above 2 because the sequence itself is well defined.

3 / 5

Progressive Disclosure

The body is organized into clear sections (Setup, Workflow, Example Usage, Tips, Discover More) with content appropriately inline for an API-usage skill and no bundle files to reference, matching "good structure; most content is appropriately placed; minor organization gaps." It is not 5 because the duplicated Example Usage section and the muddled Discover More section (a stray `api show riveter` fragment and a broken details example) leave minor organization gaps.

4 / 5

Total

14

/

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 delivers a concrete, specific statement of what the skill does with good natural trigger terms, but omits any "Use when..." guidance, leaving Claude without explicit invocation triggers. This is the main gap and directly caps completeness.

Suggestions

Append an explicit trigger clause, e.g. "Use when the user mentions PDFs, .pdf files, reports, or asks to extract text/tables/data from documents."

Add natural variations and file extensions to broaden trigger coverage: ".pdf", "PDF files", "invoices", "financial reports".

Reflect the markdown-conversion capability shown in the body to round out the capability list.

DimensionReasoningScore

Specificity

The description lists several concrete actions — "extract text, tables, and structured data" — anchored to the PDF domain, matching the anchor for several specific actions with minor gaps. It falls short of 5 because coverage is extraction-only (no form filling, merging, or conversion, and the body's markdown conversion is unmentioned), and above 3 because it goes beyond the 1-2 actions in that anchor.

4 / 5

Completeness

The "what" is clear ("Process PDFs - extract text, tables, and structured data from documents") but there is no "Use when..." clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. It is above 2 because the "what" is concrete rather than vague, and below 4 because the "when" is entirely missing rather than just under-specified.

3 / 5

Trigger Term Quality

Natural terms users would say are present: "Process PDFs", "extract text, tables", "documents", matching good coverage with a few natural terms missing. Not 5 because common variations like ".pdf" file extension, "PDF files", and synonyms such as "invoice" or "report" are absent; not 3 because coverage is broader than the single-phrase anchor examples.

4 / 5

Distinctiveness Conflict Risk

The PDF-specific focus ("Process PDFs - extract text, tables, and structured data") carves a mostly distinct niche with only minor overlap risk against generic document-processing skills. It is not 5 because the trailing "from documents" broadens scope slightly and no explicit triggers distinguish it; not 3 because it is far more specific than the "Works with document files" anchor.

4 / 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
gooseworks-ai/goose-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.