From research-engineering-skills
Before non-trivial changes, consult the project's references/ directory — vendored repos and paper notes — to ground the work in primary sources instead of guessing. Trigger when about to design, implement, or modify code that involves an algorithm, formula, or API that's covered by a paper or reference repo in references/; when the user mentions a concept that matches a reference (e.g. "DSR", "CPCV", "GEPA", "Pareto selection"); or when the user explicitly says "check references", "consult the literature", "look up X in the repos". Also use to bootstrap references/ structure in a new project.
How this skill is triggered — by the user, by Claude, or both
Slash command
/research-engineering-skills:consult-referencesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Most LLM mistakes on technical code come from confidently misremembering an algorithm or API. The fix is dirt cheap: read the actual paper or repo before writing the code. This skill makes that reflex automatic.
Most LLM mistakes on technical code come from confidently misremembering an algorithm or API. The fix is dirt cheap: read the actual paper or repo before writing the code. This skill makes that reflex automatic.
The convention assumes a project layout like:
references/
INDEX.md # one-line "what's here and when to consult it"
repos/
<name>/ # git submodule or shallow clone, read-only
papers/
<slug>/
NOTES.md # human-readable summary (the primary thing you read)
main.tex # or paper.pdf — the source of truth for equations
arxiv-id.txt
If the project doesn't have this layout yet, use Mode B to set it up.
Consult mode (most common):
papers/deflated-sharpe/).repos/gepa/).Bootstrap mode:
references/ directory and the work clearly needs one.references/INDEX.md
This is hand-curated and the source of truth for what's available and when to use each. If it doesn't exist, fall back to listing references/repos/ and references/papers/ and inferring from directory names.
Match the task to entries in INDEX.md. Be generous — it's cheaper to check one extra reference than to misimplement something.
Papers: papers/<slug>/NOTES.md first. Only open the .tex source when you need to verify an equation, algorithm, or assumption exactly. The LaTeX is there precisely so you can copy formulas verbatim instead of paraphrasing them.
Repos: start from the entry point listed in INDEX.md. If none listed, scan the top-level README.md and then the module that names suggest is relevant. Use grep/glob to find the specific functions or types you'll be calling or imitating — don't read the whole repo.
When you write the code or design:
# Deflated Sharpe Ratio — Bailey & López de Prado 2014, eq. 9
# See references/papers/deflated-sharpe/NOTES.md
# $$ \hat{SR} = \frac{(SR - SR_0)\sqrt{N-1}}{\sqrt{1 - \gamma_3 SR + \frac{\gamma_4 - 1}{4} SR^2}} $$
The reference wins. Update the code, and if you find that the paper's NOTES.md was misleading, note the discrepancy and offer to update NOTES.md.
Tell the user. Suggest fetching the missing paper (the read-arxiv-paper skill handles this) or vendoring the missing repo before proceeding. Don't fall back to "winging it from memory" silently.
When setting up a fresh references directory:
Create the structure:
mkdir -p references/repos references/papers
Create references/INDEX.md:
# References
Hand-curated index of repos and papers this project depends on.
Update whenever you add something.
## Repos
- `repos/<name>/` — <one-line description>. Consult for: <when>.
Entry point: `<path within the repo>`.
## Papers
- `papers/<slug>/` — <one-line description>. Consult for: <when>.
Create references/README.md with a short explanation of the convention (so anyone — human or agent — opening the project understands it).
If the user named specific repos to vendor, suggest:
git submodule add <url> references/repos/<name>git clone --depth 1 <url> references/repos/<name> and add references/repos/*/.git to .gitignore (or just commit the snapshot).If the user named papers, hand off to the read-arxiv-paper skill for each.
Add a pointer in the root CLAUDE.md:
## References
Before non-trivial changes, consult `references/INDEX.md` for relevant repos and papers.
Use the `consult-references` skill.
references/ is small, curated, and project-specific.references/, open it first. Your explanation will be better and you'll catch the assumptions you'd have missed.references/INDEX.md lists something nobody uses, suggest removing it.Provides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.
npx claudepluginhub 0x0f0f0f/research-engineering-skills --plugin research-engineering-skills