agentleFS
genliusrocksgenliusrocks/paper_garden/skills/paper-garden/SKILL.md

paper-garden

Skill1 starsChanged 7 months agoMITView on GitHub

Ingest one arXiv paper or local PDF into a Markdown knowledge garden with LLM-generated wiki and user-confirmed tags.

  • In this repositoryOne other file it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 7 are distinctive, and 7 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when the user wants to ingest a paper into their knowledge garden.

    line 8
  2. Distinctive:

    If the repo is not already cloned, instruct the user to:

    line 14
  3. Distinctive:

    All commands below assume the working directory is the repo root.

    line 21
  4. Very specific:

    Before running the workflow, read skills/paper-garden/paper_garden.toml.

    line 25
  5. Very specific:

    If the file is missing, empty, or contains only comments (no garden_dir or language keys), you MUST configure it before proceeding:

    line 27
  6. Distinctive:

    Ask the user two questions:

    line 29
  7. Distinctive:

    After the user answers, write the config:

    line 32
  8. Very specific:

    Ask the user: "What year was this paper published?

    line 71
  9. Very specific:

    Read the extracted markdown file (the extracted_markdown path from Step 1).

    line 76
  10. Very specific:

    Write <paper_dir>/wiki.md with these sections:

    line 78
  11. Very specific:

    Write in the language specified by language from Step 1.

    line 102
  12. Very specific:

    Check <garden_dir>/tags/ for existing tag files — reuse existing tags when the paper fits

    line 109
  13. Distinctive:

    Wait for the user to confirm, add, remove, or rename tags, and approve the summary.

    line 112
  14. Distinctive:

    Run with the confirmed tags and summary:

    line 118

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Paper Garden

Use this skill when the user wants to ingest a paper into their knowledge garden.

Prerequisites

This skill requires running from the paper-garden repository root. All commands use uv run which resolves dependencies from pyproject.toml.

If the repo is not already cloned, instruct the user to:

git clone https://github.com/<owner>/paper-garden.git
cd paper-garden

All commands below assume the working directory is the repo root.

First-Time Setup

Before running the workflow, read skills/paper-garden/paper_garden.toml.

If the file is missing, empty, or contains only comments (no garden_dir or language keys), you MUST configure it before proceeding:

  1. Ask the user two questions:
    • Garden directory: Where should papers be stored? Default: ./paper_garden
    • Language: What language for generated wiki content? Default: en
  2. After the user answers, write the config:
uv run python skills/paper-garden/scripts/configure.py --garden-dir "<user_choice>" --language "<user_choice>"
  1. Confirm the config was written by reading the file again.

Do NOT proceed with ingest until valid configuration exists.

Ingest Workflow

Step 1: Download and Extract

Run:

uv run python skills/paper-garden/scripts/download.py "<input>" --config skills/paper-garden/paper_garden.toml

Where <input> is an arXiv abs/html/pdf URL, arXiv paper ID, or local PDF path.

The script outputs JSON. Check the duplicate field first:

If "duplicate": true: The paper already exists in the garden. Tell the user:

  • The paper title
  • The existing entry from index.md
  • The path to the existing paper directory and wiki
  • Stop here. Do NOT proceed to Step 2.

If "duplicate": false: Save all fields — you need them for later steps:

  • paper_dir, paper_slug, title, arxiv_id, source_kind, source_ref
  • year, needs_year
  • extracted_markdown — path to the extracted markdown file
  • garden_dir, language

If "needs_year": true (local PDF, or year not derivable from arXiv ID): Ask the user: "What year was this paper published? (YYYY)" Save the answer and pass it to finalize.py as --year.

Step 2: Generate Wiki

  1. Read the extracted markdown file (the extracted_markdown path from Step 1).
  2. Analyze the paper content thoroughly.
  3. Write <paper_dir>/wiki.md with these sections:
# <Paper Title>

## Summary
3-5 bullet points of key contributions.

## Problem
What problem does the paper address? Why does it matter?

## Method
Core approach, technique, or architecture.

## Results
Main findings, metrics, and comparisons.

## Limitations
Stated or apparent limitations and caveats.

## Terms
Key terminology defined or used in the paper.

Write in the language specified by language from Step 1. Use the Write tool to create the file.

Step 3: Suggest Tags, Summary, and Confirm

  1. Based on the paper content, suggest 3-7 tags. Guidelines:
    • Lowercase, hyphenated (e.g., retrieval-augmented-generation, transformer)
    • Mix of topic tags (e.g., large-language-model, computer-vision) and method tags (e.g., fine-tuning, distillation)
    • Check <garden_dir>/tags/ for existing tag files — reuse existing tags when the paper fits
  2. Write a one-line summary of the paper (max 100 characters), in the configured language. This summary appears in index.md and tag files alongside the paper link. The summary is immutable once written — it will never be modified after ingest. Take extra care to make it accurate and capture the paper's core contribution.
  3. Present suggested tags and summary to the user.
  4. Wait for the user to confirm, add, remove, or rename tags, and approve the summary.

Do NOT proceed until the user confirms the final tag list and summary.

Step 4: Finalize

Run with the confirmed tags and summary:

uv run python skills/paper-garden/scripts/finalize.py \
  --config skills/paper-garden/paper_garden.toml \
  --paper-dir "<paper_dir>" \
  --title "<title>" \
  --paper-slug "<paper_slug>" \
  --tags "<tag1,tag2,tag3>" \
  --summary "<one-line summary>" \
  --year "<YYYY>" \
  --source-ref "<source_ref>" \
  --source-kind "<source_kind>" \
  --arxiv-id "<arxiv_id>"
  • Omit --arxiv-id if the source is a local PDF.
  • --year is required when source is local PDF. For arXiv sources, it can be omitted and will be derived from the arXiv ID.

The script prints the assigned paper ID (pg-<year>-<hex5>).

Step 5: Report

Tell the user:

  • Paper directory path
  • Wiki file path
  • Assigned paper ID (from finalize.py output)
  • Final confirmed tags
  • Which index and tag files were updated

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.