Skills
Anthropic provides pre-built Agent Skills for common document tasks (PowerPoint, Excel, Word, PDF), and you can create your own custom Skills. Both work the same way. Claude automatically
docs → `references/api.md`
❌ **Vague or generic descriptions**
- Don't write: "Process files"
- DO write: "Process PDF files with OCR. Use when extracting text or analyzing documents. Supports encrypted PDFs."
❌ **Making design
Processes Excel files and generates reports. Use when working with spreadsheets."
✅ "Extracts text from PDF files. Use when user mentions PDFs or document extraction."
❌ "I can help you process Excel
with formulas, charts, and formatting |
| PowerPoint | `pptx` | Generate professional presentations with slides and layouts |
| PDF | `pdf` | Produce formatted PDF documents |
| Word | `docx` | Create rich-formatted Word documents |
These skills demonstrate
handler scaffold `require_keyword` + `format_results`) that the 13 dataset libraries
and the pdf-mcp guide search all reuse instead of each rolling their own search. Cross-cutting
MCP helpers
redirect and scheme bypasses, parsers that fetch on their own (XXE, SVG, HTML-to-PDF), cloud metadata, and keeping the response from becoming an oracle. Use when fetching a client
Overview
This is a research project template with a test-driven development workflow, automated PDF generation, and multi-project support. It uses a two-layer architecture separating generic infrastructure (Layer
apiDownload()` and, since issue #263, makes
it **readable** by default (`mode: "text"`): a PDF goes through `unpdf` (a
serverless pdf.js build, ~2 MB, no native binary), a DOCX through
`src/services/document-text.ts
기존 fallback 결과를 새 엔진으로 재생성
npm run alio:sync -- --docling-fallback # 스캔 이미지 PDF 를 docling OCR 로 복구
npm run alio:sync -- --concurrency 3 --keep-raw
# 보고서형 공시
attachment: …]` only for `.jpg`/`.jpeg`/`.png` (what the provider paths
consume); `[document attachment: …]` for `.pdf`; `[file attachment: …]` for everything else.
- **Voice and video notes** are both transcribed through the whisper
through `app.request()`, the first run's POSTs, a
cross-origin POST refused, one clean PDF render. A 500 anywhere fails the
build. Run it locally on a throwaway database only
A file Claude Code reads at the start of every session. It holds the commands, conventions and warnings the agent needs for this project.
Where does it go?
At the repository root. Claude Code also reads CLAUDE.md files in subdirectories when it works there.
What should it contain?
Build and test commands, the project's layout, conventions that aren't obvious from the code, and mistakes to avoid. Short files tend to work better than long ones.
CLAUDE.md or AGENTS.md?
Claude Code reads CLAUDE.md; most other agents read AGENTS.md. Many projects keep one and point the other at it.