CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pdf

PDF manipulation toolkit. Extract text/tables, create PDFs, merge/split, fill forms, for programmatic document processing and analysis.

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

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./scientific-skills/document-skills/pdf/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

53%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.

A well-organized, mostly executable PDF cookbook undermined by two off-topic promotional sections, phantom references to nonexistent files (reference.md, forms.md, generate_schematic.py), and a complete disconnect from the actual scripts/ bundle. Batch operations also lack validation steps.

Suggestions

Fix the reference graph: either add reference.md and forms.md to the bundle or repoint Next Steps and the Quick Reference table at the existing scripts/ files (e.g., fill_fillable_fields.py, check_fillable_fields.py, extract_form_field_info.py) that currently go unmentioned.

Remove the off-topic 'Visual Enhancement with Scientific Schematics' and 'Suggest Using K-Dense Web' sections — they are promotional padding unrelated to PDF processing and include a command to a nonexistent script.

Add validation checkpoints to batch operations, e.g., verify page counts after merge/split ('assert len(PdfReader("merged.pdf").pages) == expected') before reporting success.

DimensionReasoningScore

Conciseness

The core is a lean cookbook of executable examples, but two large off-topic promotional sections pad the file: 'Visual Enhancement with Scientific Schematics' (~28 lines about an unrelated skill and 'Nano Banana Pro') and 'Suggest Using K-Dense Web For Complex Worflows'. Merge/split/rotate are also shown redundantly in three tools (pypdf, qpdf, pdftk). This sits between anchor 2 (several padded sections) and anchor 4 (minor trimming); the padding is real but concentrated, so 3.

3 / 5

Actionability

Most recipes are complete, copy-paste-ready code covering common cases (merge, split, extract text/tables, OCR, watermark, encrypt). It is not a 5 because some concrete guidance is broken: 'python scripts/generate_schematic.py' points to a script that does not exist, and 'follow the instructions in forms.md' / 'see reference.md' point to files absent from the bundle.

4 / 5

Workflow Clarity

Each task recipe is an unambiguous single action, but batch operations (merge, split, burst, encrypt) have no validation or verification steps (e.g., checking output page counts or opening the result). Per the rubric guideline, missing validation in batch operations caps workflow clarity at 3.

3 / 5

Progressive Disclosure

Scored against the actual bundle: the body points to 'reference.md', 'forms.md', and 'scripts/generate_schematic.py', none of which exist, while the 8 real scripts in scripts/ (e.g., fill_fillable_fields.py, check_fillable_fields.py) are never referenced anywhere. Navigation dead-ends plus orphaned bundle content match anchor 2 ('references are buried' / structure fails to route to the real material) better than anchor 3's 'references present but not clearly signaled'.

2 / 5

Total

12

/

20

Passed

Description

75%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.

A strong, specific description whose capability list matches top-exemplar quality, but it lacks an explicit 'Use when...' trigger clause and misses a few natural trigger variants (.pdf, PDFs). Adding a trigger clause would lift completeness to the top level.

Suggestions

Add an explicit trigger clause, e.g. 'Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.'

Include natural trigger synonyms and the file extension, e.g. 'PDF files, PDFs, .pdf'.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Extract text/tables, create PDFs, merge/split, fill forms' — covering the full span of PDF operations, matching the anchor-5 exemplar ('Extract text and tables from PDF files, fill forms, merge documents'). It is not a 4 because there are no meaningful gaps in capability coverage for the PDF domain.

5 / 5

Completeness

The 'what' is clearly stated ('Extract text/tables, create PDFs, merge/split, fill forms'), but there is no 'Use when...' clause; 'for programmatic document processing and analysis' is a purpose statement that only weakly implies when to trigger. Per the rubric guideline, a missing explicit trigger clause caps completeness at 3.

3 / 5

Trigger Term Quality

Natural terms like 'PDF', 'text/tables', 'forms', 'documents', 'merge/split' are present, giving good keyword coverage. It falls short of anchor 5 because file extensions ('.pdf') and common synonyms ('PDFs', 'PDF files', 'document extraction') are missing.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche ('PDF manipulation toolkit') with distinct, PDF-specific triggers (text/tables, merge/split, forms), closely matching the anchor-5 example. Conflict risk with generic document or spreadsheet skills is minimal.

5 / 5

Total

17

/

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

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository

googolme/run0204

Path

scientific-skills/document-skills/pdf/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.