modules/home/programs/cli-agents/shared/skills/paper-to-skill/SKILL.md
Converts a research paper (PDF path, uploaded PDF, or URL) into a reusable skill that stores distilled knowledge for future sessions. Use when a user asks to "turn this paper into a skill", "make this PDF reusable", "encode this research", or wants project-specific decisions backed by a specific paper without re-uploading it.
npx skillsauth add not-matthias/dotfiles-nix paper-to-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Convert a paper into a reusable knowledge-source skill with a focused SKILL.md and optional references.
If project context is unclear, continue anyway and infer likely trigger contexts from the paper.
Use the most reliable extraction path for the source:
https://arxiv.org/html/<id> when possible.Recommended command (no install required):
# Marker (best default for academic PDFs)
uvx marker_single path/to/paper.pdf --output_dir /tmp/paper_out/
Fallback extraction:
uv run --with pdfplumber python - <<'PY'
import pdfplumber
from pathlib import Path
pdf_path = Path("paper.pdf")
out_path = Path("/tmp/paper.md")
with pdfplumber.open(pdf_path) as pdf:
text = "\n\n".join(page.extract_text() or "" for page in pdf.pages)
out_path.write_text(text)
print(out_path)
PY
For scanned PDFs, use OCR (uvx marker_single --force_ocr).
Extract only what improves future decisions:
Include high-signal, project-relevant knowledge only:
Create:
<paper-slug>/
├── SKILL.md
└── references/
├── full-content.md (optional)
├── figures.md (optional)
└── proofs.md (optional)
Keep SKILL.md compact (<500 lines). Move long details into references/ and link them.
Use this structure:
---
name: <paper-slug>
description: >
Provides <domain knowledge> from <Paper Title> (<Year>).
Use when working on <task A>, <task B>, or <task C>.
Also trigger when user mentions <term 1>, <term 2>, <term 3>.
---
# <Paper Title>
**<Authors> · <Venue> · <Year>** · [<DOI/arXiv>](<link>)
## What this paper contributes
...
## Key concepts
...
## Main findings
...
## How to apply this
...
## Caveats and failure modes
...
## Quick reference
...
Provide:
.agents/skills/<paper-slug>/)..claude/skills/<paper-slug> pointing to .agents/skills/<paper-slug>.Use this setup command:
mkdir -p .agents/skills .claude/skills
ln -sfn ../../.agents/skills/<paper-slug> .claude/skills/<paper-slug>
development
Emulates not-matthias's technical blog writing style. Use when writing blog posts, technical articles, README content, or any long-form technical prose. Produces investigation-driven, first-person narratives with dry humor, practical code examples, and concrete takeaways.
development
Create and manage Git worktrees for parallel feature development. Use when user wants to work on multiple features simultaneously or needs isolated development environments.
development
Systematic technical research and brainstorming. Given a question, recursively explores attached specifications, source code, documentation, GitHub repositories, and authoritative online sources to build comprehensive, accurate answers. Surfaces edge cases, caveats, and implementation details that matter.
development
Converts a research paper (PDF path, uploaded PDF, or URL) into a reusable skill that stores distilled knowledge for future sessions. Use when a user asks to "turn this paper into a skill", "make this PDF reusable", "encode this research", or wants project-specific decisions backed by a specific paper without re-uploading it.