Skills Explorer Add Skills

photo-to-scanned-pdf

An agent skill by daymade, from daymade/claude-code-skills. Tags: conversion, documents, mobile, pdf, scanning.

What it does

Two pipelines ending at a scanner-look PDF. (1) Phone photos of paper documents (contracts, stamped certificates, receipts, forms, handwritten notes) → clean scanner-quality PDF: perspective rectification + noteshrink whitening + A4 assembly + mandatory whole-document check. Trigger: "把照片 做成扫描件", "photos to scanned PDF", "make this look scanned", "手机拍的 文档转 PDF", "盖章文件扫描", replacing pages in an existing scanned PDF, any CamScanner-like request. (2) A digital document with no signature yet (rendered docx/PDF, confirmation form, contract draft) → make it look hand-signed and scanned: synthesize a handwriting-style signature, composite it onto the signature line, apply the same scan-look post-processing. Trigger: "帮我做个手写签名", "生成签名盖到这份文件上", "做成签过字的扫描件", "synthesize a signature", any request for a document that needs to look signed without a real photographed signature. Do NOT hand-roll levels/contrast enhancement for scan-look — tried and rejected twice; this skill's pipeline is the proven one.

Install

With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:

npx skills add daymade/claude-code-skills --skill photo-to-scanned-pdf

Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):

git clone --depth 1 https://github.com/daymade/claude-code-skills
cp -r claude-code-skills/daymade-docs/photo-to-scanned-pdf ~/.claude/skills/photo-to-scanned-pdf

Safety box score

Grade C, moderate risk: 35 of 100 risk points, rated 2026-10-20. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.

This skill turns photos/PDFs into scanner-style PDFs and also has a branch that synthesizes and composites handwriting-style signatures onto digital documents. The main risks are deceptive document generation, runtime downloads of external tooling, and normal-use execution of local/system binaries.

Category levels, from 0 (none) to 3 (high)
CategoryLevelWhy
Code & shell execution2 (moderate)Normal use runs local Python scripts via `uv run` and calls external commands like `pdftoppm`, `pdftotext`, and `fc-list`, plus `uvx noteshrink`; that is real code execution, though not arbitrary shell eval.
Network access1 (low)The setup and workflow rely on `uvx noteshrink` (first run fetches from the package registry) and `brew install poppler/fontconfig`, so the skill downloads external packages, but it does not upload user documents itself.
Filesystem reach1 (low)It writes outputs such as `scanned.pdf`, `contact.png`, `_pdfpage_*.png`, and sidecar JSONs in the chosen work dirs, and it reads a system font at `/System/Library/Fonts/Hiragino Sans GB.ttc`; it does not delete broadly or touch dotfiles.
Secrets & credentials0 (none)There is no code or text that reads credentials, browser sessions, keychains, `.env` files, or asks the user to paste secrets.
Privilege & persistence2 (moderate)The skill explicitly tells the user to install dependencies with Homebrew (`brew install poppler` and `brew install fontconfig`), which changes the local toolchain, even though it does not request sudo or services.
Instruction hijack surface0 (none)No prompt-injection behavior, hidden instructions, or fetched instructions to follow; the docs instead emphasize explicit human review and explicit filenames.
Irreversible actions2 (moderate)The digital-signature branch is purpose-built to synthesize a signature and composite it into a PDF, so it can produce externally usable signed-looking documents, but it still asks for user selection and a visual check.
Transparency1 (low)Part of the workflow depends on `uvx noteshrink`, which is fetched at runtime from the package registry rather than vendored in the repo, so not all executed code is directly reviewable here.

Before installing

Rated 2026-10-20 by an automated review of 6 files from the skill's repository.

Source

Repository
daymade/claude-code-skills (all skills from this repository)
Path
daymade-docs/photo-to-scanned-pdf/SKILL.md
Branch
main
Updated
2026-09-20