Repository-level instructions for coding agents working on EasyPaper.
- EasyPaper is a metadata-to-paper generation system with Python SDK (primary usage) and optional FastAPI API.
- This repository also publishes a Claude Code plugin marketplace.
- The installable plugin root is
plugins/easypaper/.
- Marketplace manifest:
.claude-plugin/marketplace.json - Plugin manifest:
plugins/easypaper/.claude-plugin/plugin.json - Plugin commands:
plugins/easypaper/commands/ - Plugin skills:
plugins/easypaper/skills/ - OpenClaw skill docs:
openclaw_skill/SKILL.md
For end-to-end paper generation, use the Python SDK directly:
-
Use the
easypaper-paper-from-metadataskill (inplugins/easypaper/skills/easypaper-paper-from-metadata/SKILL.md):- Check if user has complete metadata (file or JSON)
- If missing, collect interactively (title, idea_hypothesis, method, data, experiments, references)
- Generate paper using EasyPaper SDK:
from easypaper import EasyPaper, PaperMetaData ep = EasyPaper(config_path="configs/openrouter.yaml") result = await ep.generate(metadata, **options)
-
For Claude Code plugin usage:
- Use
/easypapercommand which handles environment setup and metadata collection automatically - No API server needed - uses Python SDK directly
- Use
-
Optional FastAPI server (for external integrations):
uv run uvicorn src.main:app --reload --port 8000
- Endpoints:
POST /metadata/generate,POST /metadata/generate/stream,POST /metadata/prepare-plan,POST /metadata/generate-from-plan/stream,POST /metadata/generate-from-folder,POST /metadata/generate/section
titleidea_hypothesismethoddataexperimentsreferences
Optional fields include style_guide, target_pages, template_path, compile_pdf, and review options.
- Backend YAML skills remain under
skills/and are loaded by Python service config. - Claude/OpenCode skill prompts live under
plugins/easypaper/skills/*/SKILL.md. - Main skills:
easypaper-paper-from-metadata: Unified skill for metadata collection and paper generationeasypaper-interactive-metadata-build: Claude-driven, conversational build ofPaperMetaDatafrom a research-materials folder (slash command/easypaper-metadata-build); complementary to the SDK one-shotgenerate_metadata_from_folderpatheasypaper-setup-environment: Automatic environment setup (Python, LaTeX)easypaper-venue-selection: Venue-specific formattingeasypaper-academic-writing-rules: Academic writing conventions
- Keep marketplace
sourcepointing to./plugins/easypaper. - Keep plugin version in
plugins/easypaper/.claude-plugin/plugin.json. - Keep README installation steps aligned with actual marketplace command syntax.