CtrlK
BlogDocsLog inGet started
Tessl Logo

oma-pdf

Convert PDF files to Markdown using opendataloader-pdf. Extracts text, tables, headings, lists, and images with correct reading order. Use for PDF parsing, PDF to Markdown conversion, document extraction, and AI-ready data preparation.

64

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./benchmarks/runs/oma/.agents/skills/oma-pdf/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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 well structured with concrete executable commands, a clear scene-based workflow, explicit validation and retry loops, and honest exit criteria. Its main weaknesses are padded meta-framework jargon that costs tokens without operational value, and a References section whose files do not exist in the bundle.

Suggestions

Remove or compress the meta-framework sections ("Scheduling" wrapper, "Intent signature", "Control-flow features", "SSL primitive" table, "Resource scope") into plain operational steps, keeping only content that changes what Claude executes.

Ship the referenced files in the bundle or inline the essential command sequences; as written, guardrail 5 defers detail to resources/execution-protocol.md which does not exist.

Give the ACQUIRE scene a concrete text-layer probe command (e.g. a pdftotext or uvx preview invocation) and define what "readable structure" means in VERIFY so both checkpoints are executable.

DimensionReasoningScore

Conciseness

The operational core (canonical commands, transitions, failure/recovery table) is efficient, but meta-framework sections such as "Scheduling", "Intent signature", "Control-flow features", the "SSL primitive" column, and "Resource scope" are padded scaffolding that could be tightened or removed.

3 / 5

Actionability

The canonical command path gives executable uvx commands for both standard and hybrid OCR modes, and the failure table names concrete flags (--use-struct-tree, --ocr-lang ko,en), but the text-layer probe step ("extracting a text preview") and quality inspection lack the specific commands to run, and detailed sequences are deferred elsewhere.

4 / 5

Workflow Clarity

The PREPARE/ACQUIRE/ACT/VERIFY/FINALIZE sequence with a retry-oriented failure table and explicit exit criteria (including partial success) is strong, but the ACQUIRE text-layer check and the VERIFY "inspect for readable structure" step are implicit checkpoints without concrete validation criteria, leaving minor validation gaps.

4 / 5

Progressive Disclosure

The References section is clearly signaled and one level deep, but all four referenced paths (resources/execution-protocol.md, config/pdf-config.yaml, ../_shared/core/context-loading.md, ../_shared/core/quality-principles.md) are absent from the bundle, so the deferred content is unreachable and guardrail 5 pushes detail into a missing file.

3 / 5

Total

14

/

20

Passed

Description

88%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 description that names concrete capabilities, a specific tool, and explicit trigger phrases in third person. The only weaknesses are the absence of file-extension/synonym triggers (.pdf, PDFs) and slightly broad closing phrases that dilute distinctiveness.

Suggestions

Add file-extension and synonym triggers, e.g. "Use for PDF parsing, PDF to Markdown conversion, or when the user mentions PDFs, .pdf files, or document extraction."

Consider trimming the vague "AI-ready data preparation" phrase or anchoring it to a concrete use case such as preparing PDF content for LLM context or RAG.

DimensionReasoningScore

Specificity

"Convert PDF files to Markdown" plus "Extracts text, tables, headings, lists, and images with correct reading order" lists multiple specific concrete actions with comprehensive coverage of the conversion/extraction scope, matching the top anchor rather than the 'minor gaps' level below.

5 / 5

Completeness

It clearly states what it does (converts PDFs to Markdown, extracts text/tables/headings/lists/images with correct reading order) and explicitly says when to use it via the "Use for PDF parsing, PDF to Markdown conversion, document extraction" trigger clause, matching the top anchor.

5 / 5

Trigger Term Quality

"Use for PDF parsing, PDF to Markdown conversion, document extraction" covers good natural phrases users would say, but misses file extensions (.pdf) and common synonyms such as "PDFs" or "read this PDF", so it falls just short of comprehensive.

4 / 5

Distinctiveness Conflict Risk

"Convert PDF files to Markdown using opendataloader-pdf" carves a clear PDF-conversion niche, but the broader phrases "document extraction" and "AI-ready data preparation" create minor overlap risk with other document-processing skills, keeping it just below the minimal-conflict anchor.

4 / 5

Total

18

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
first-fluke/oh-my-agent
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.