Back to Phase 1

Skill Definition WF1 - Dossier

Source: c92 skill-definition — wireframe 1. Argument: the definition is a document; read it where you read everything else about the skill. Frontmatter as a fact grid, the body rendered, raw one switch away, the supporting files a ledger beneath.

fixture
/inventory/skills/detail?skill=pdf
Harness Inventory › Skills › pdf
✦pdf
configured/claude-cli/ never invoked at runtime
Installs
12
Metadata
NamepdfDescriptionUse this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.Harness typesclaude-cliPeople9
Show all metadata
Installs
12
with this skill configured
People
9
who own those installs
Sessions
31
on those installs · could have run it, not did
Invocations
0
no harness emits skill calls yet
DefinitionBundleInstallsSessionsSurface← new sections in bold

Definition

SKILL.md · 314 lines · 7.9 KB · within the 500-line guidance

What the harness reads when this skill triggers, as scanned on the canonical install (~/.claude/skills/pdf). Frontmatter first, body beneath.

frontmatter
namepdfdescription(above)licenseProprietary. LICENSE.txt has complete terms
derived
invocationmodel + user (no disable-model-invocation / user-invocable)tools(unrestricted — no allowed-tools)scopeuser · ~/.claude/skills/pdfstandardagentskills.io SKILL.md
PDF Processing Guide
Overview

This guide covers essential PDF processing operations using Python libraries and command-line tools. For advanced features, JavaScript libraries, and detailed examples, see REFERENCE.md. If you need to fill out a PDF form, read FORMS.md and follow its instructions.

Quick Start
from pypdf import PdfReader, PdfWriter

# Read a PDF
reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")

# Extract text
text = ""
for page in reader.pages:
    text += page.extract_text()
Python Libraries
pypdf - Basic Operations

Merge PDFs

writer = PdfWriter()
for pdf_file in ["doc1.pdf", "doc2.pdf"]:
    reader = PdfReader(pdf_file)
    for page in reader.pages:
        writer.add_page(page)
with open("merged.pdf", "wb") as output:
    writer.write(output)
pdfplumber - Text and Table Extraction

Use scripts/extract_form_structure.py to dump the field tree before filling a form, and scripts/check_bounding_boxes.py to validate placement afterwards.

Command-Line Tools
  • pdftotext -layout in.pdf out.txt keeps column layout
  • qpdf --decrypt --password=… in.pdf out.pdf strips owner encryption
  • gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook compresses for email
Scanned PDFs

Run OCR (ocrmypdf --skip-text) first; the extraction recipes above only see the text layer.

abridged in this wireframe · production shows the whole body with a "show all 314 lines" fold at ~80 lines

Bundle

12 files · 48.8 KB

Everything else in the skill directory — references the body points to, scripts it can run, assets it copies. Open a row for the raw file.

pathrolesizelinesreferencedmode
Installs — 12 with this skill configured
as built (providers-skills, 2026-09-22) — unchanged by this option
Sessions — 31 on those installs, past 7 days
as built (providers-skills, 2026-09-22) — unchanged by this option
Surface
as built (providers-skills, 2026-09-22) — unchanged by this option

Readout

Strongest default. It keeps the page one reading column and the ledger idiom every sibling detail page already has, so a multi-file skill is just one more ledger with a preview drawer. Rendered-first matches how a person reads instructions; raw is a mode, not a place. Weakest on drift — it assumes one definition per name (WF4's problem) and on load-order literacy (WF3's).

Costs: the inspector must ship the SKILL.md body (capped), every frontmatter field verbatim, and a file inventory (path, bytes, lines, mode, referenced-from-line) per install; previews of supporting files are a second, on-demand fetch.

Qpoint Brand Style Guide