CLAUDE.md · git:20260428.417b449 · 2026-04-28 · sha256 35897dbde39396ea

CLAUDE.md git:20260428.417b449A

Immutable. This exact content is served forever at /api/v1/blob/35897dbde39396ea.

# sci-paper plugin — project working directory instructions

## What this project is

A standalone Claude Code plugin for scientific paper writing + review,
extracted and generalized from the `weak-gravitational-lensing` project's
`.claude/skills/{paper, paper-review, figure-review}` skills, plus a new
`paper-style` skill that adds **corpus-driven style distillation** (RAG-for-
style; not actual model fine-tuning — Anthropic does not offer Claude
fine-tuning, see EVALUATION.md).

## Working principles for THIS project

1. **The three ported skills are v0.** They contain weak-gravitational-lensing
   project specifics (NFW, ACSDM, S/N maps, kappa, escnn library refs).
   Generalization is a separate task — do NOT silently rewrite them while
   working on something else. Mark project-specific anchors with `[WGL]`
   comments when you find them.

2. **`paper-style` is the headline feature.** The corpus is user-supplied and
   copyright-sensitive; never commit PDFs from `style-corpus/` (`.gitignore`
   already excludes them). Treat any contents of `style-corpus/<field>/tier-*`
   as read-only inputs; write only to `style-profile/<field>/`.

   **Field-aware layout.** v0.1 ships only `wgl`. Tools/skills auto-detect a
   single-field corpus; multi-field corpora require explicit `--field <name>`.
   When extending, add subdirs under `style-corpus/<new-field>/{tier-1-top,
   tier-2-mentor,tier-3-reference}/` and run
   `python tools/extract_style.py --field <new-field>`.

3. **Honest about limits.** When asked "can we fine-tune Claude?", answer
   "no, but here's what we can actually do" — see EVALUATION.md for the
   reasoning. Do not pretend the LoRA path works.

4. **Plugin manifest format is verified.** `.claude-plugin/plugin.json` per
   the official Claude Code plugins reference; skills live at
   `skills/<name>/SKILL.md` (NOT inside `.claude-plugin/`). When invoked
   from another project via `--plugin-dir`, skills are namespaced as
   `/sci-paper:paper`, etc.

## Cross-project references

- Source project: `D:/Projects/weak-gravitational-lensing/`
  - Existing skills at `.claude/skills/{paper,paper-review,figure-review}`
  - These are the v0 inputs to this plugin.
- The user's writing-quality memory and global rules: `C:/Users/skyma/.claude/CLAUDE.md`
  (in particular: "**Paper writing: never quote from memory.** Every number,
  date, coefficient, figure caption, and citation in a manuscript edit must
  be re-read from its source in the same turn it's pasted.")

## Toolchain

Python: `C:/Users/skyma/AppData/Local/Programs/Python/Python313/python.exe`
(also on PATH).

Required for full feature build (not yet pinned in `requirements.txt`):
- `pymupdf` — PDF text extraction
- `sentence-transformers` — exemplar retrieval embeddings
- `scikit-learn` — optional sentence classifier
- `regex` (the third-party one, not stdlib `re`) — Unicode-aware sentence segmentation