Skip to content

Latest commit

 

History

History
67 lines (50 loc) · 2.91 KB

File metadata and controls

67 lines (50 loc) · 2.91 KB

AGENTS

Repository-level instructions for coding agents working on EasyPaper.

Project Scope

  • 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/.

Plugin/Marketplace Layout

  • 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

EasyPaper Workflow

For end-to-end paper generation, use the Python SDK directly:

  1. Use the easypaper-paper-from-metadata skill (in plugins/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)
  2. For Claude Code plugin usage:

    • Use /easypaper command which handles environment setup and metadata collection automatically
    • No API server needed - uses Python SDK directly
  3. 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

Required Metadata Fields

  • title
  • idea_hypothesis
  • method
  • data
  • experiments
  • references

Optional fields include style_guide, target_pages, template_path, compile_pdf, and review options.

Skills Source of Truth

  • 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 generation
  • easypaper-interactive-metadata-build: Claude-driven, conversational build of PaperMetaData from a research-materials folder (slash command /easypaper-metadata-build); complementary to the SDK one-shot generate_metadata_from_folder path
  • easypaper-setup-environment: Automatic environment setup (Python, LaTeX)
  • easypaper-venue-selection: Venue-specific formatting
  • easypaper-academic-writing-rules: Academic writing conventions

Validation Checklist

  • Keep marketplace source pointing to ./plugins/easypaper.
  • Keep plugin version in plugins/easypaper/.claude-plugin/plugin.json.
  • Keep README installation steps aligned with actual marketplace command syntax.