research-repo · git:20260912.8cc68c5 · 2026-09-12 · sha256 4662bc847d689ca1
research-repo git:20260912.8cc68c5A
Immutable. This exact content is served forever at /api/v1/blob/4662bc847d689ca1.
--- name: research-repo description: Build, migrate, operate, and audit Git-based academic research catalogs with verifiable metadata and reproducible outputs. Use when Codex needs to initialize a literature repository, migrate an existing README or paper list, discover and triage current papers, verify metadata, deduplicate records, classify or summarize papers, maintain multilingual catalog views, manage a review backlog, or validate repository consistency. Support a platform-neutral core with optional Codex and Claude adapters. --- # Research Repository Create and maintain research catalogs whose public Markdown is derived from verified, structured data. Preserve useful existing repository conventions unless the user explicitly requests a redesign. ## Start Here 1. Inspect the target repository, its instructions, current files, and `git status`. 2. Identify the requested mode: initialize, migrate, discover, curate, or audit. 3. Resolve only decisions that materially affect the result: research scope, languages, taxonomy, notes visibility, and optional agent adapters. 4. Use `.research-repo/config.json`, `papers.json`, `backlog.json`, and `searches.json` as the source of truth. 5. Use `scripts/research_repo.py` for initialization. It installs `.research-repo/research_repo.py`; use that repository-local copy for later validation and rendering. 6. Summarize changed files and verification results. Commit only when the user explicitly asks. ## Non-Negotiable Rules - Never invent titles, authors, venues, dates, identifiers, URLs, methods, metrics, or findings. - Treat search results as candidates, not verified evidence. - Verify metadata against a primary source or authoritative scholarly index before marking a record `verified` or `curated`. - Record verification provenance and the date checked. - Deduplicate by normalized DOI, arXiv identifier, and title before adding a record. - Preserve unrelated files and user changes. Do not replace an existing license, initialize a nested Git repository, or rewrite a non-generated README without explicit approval. - Keep shared configuration, data, validation tools, and repository instructions tracked. Ignore private notes only when the user chooses private notes. - Do not stage, commit, push, publish, or delete source material unless the user asks. - Do not make a network-dependent step a prerequisite for offline validation or rendering. ## Repository Contract Use this default layout: ```text repository/ ├── .research-repo/ │ ├── config.json # scope, languages, taxonomy, output paths │ ├── papers.json # canonical paper records │ ├── backlog.json # candidates and review state │ ├── searches.json # reproducible discovery history │ └── research_repo.py # repository-local validator and renderer ├── README.md # generated catalog view ├── README_<lang>.md # optional generated translations ├── TODO.md # generated review backlog ├── paper_notes/ # tracked or private by user choice ├── AGENTS.md # optional Codex adapter └── CLAUDE.md # optional Claude adapter ``` Always track `config.json`, `papers.json`, `research_repo.py`, generated public README views, `.gitignore`, and shared adapters. Track `backlog.json`, `searches.json`, and `TODO.md` together, or ignore all three for a private review workflow. Never link from a public README to a private file. Read [data-model.md](references/data-model.md) before creating or editing canonical records. ## Choose a Mode ### Initialize Use for a new catalog. Read [workflows.md](references/workflows.md#initialize-a-new-catalog), then run: ```bash python <skill-dir>/scripts/research_repo.py init <target> \ --name "<name>" \ --description "<scope>" \ --languages en ``` Customize the generated generic priorities and taxonomy before adding records. Do not run `git init` or commit unless requested. Add `--private-review-state` when candidates, search history, and TODO must remain local. ### Migrate Use for an existing README, bibliography, spreadsheet export, or earlier Research Repo layout. Read [workflows.md](references/workflows.md#migrate-an-existing-catalog). Initialize only the v2 data layer: ```bash python <skill-dir>/scripts/research_repo.py init <target> \ --name "<name>" \ --description "<scope>" \ --languages en,zh \ --existing ``` Preserve every source entry during extraction. Mark entries `imported` until their metadata has been re-verified. ### Discover Use when searching for recent or foundational work. Read [workflows.md](references/workflows.md#discover-and-triage-papers). Search authoritative sources appropriate to the field, capture stable identifiers, compare against the full dataset, and add new results as `candidate`. ### Curate Use when verifying or publishing candidates. Read [workflows.md](references/workflows.md#verify-and-curate-a-paper). Advance status only when its requirements are satisfied, then render and validate. ### Audit Use for consistency, stale metadata, taxonomy drift, broken generated views, duplicate records, or multilingual mismatch. Read [workflows.md](references/workflows.md#audit-a-catalog), then run: ```bash python <target>/.research-repo/research_repo.py validate <target> --check-rendered ``` ## Deterministic Commands Resolve `<skill-dir>` as the directory containing this `SKILL.md`. After initialization, the target owns a versioned copy of the deterministic tool. ```bash # Validate canonical data only python <target>/.research-repo/research_repo.py validate <target> # Render README and TODO views python <target>/.research-repo/research_repo.py render <target> # Verify that generated views are current without writing python <target>/.research-repo/research_repo.py render <target> --check ``` The renderer only replaces content between its managed markers. If an existing non-empty README has no markers, migrate it first; do not overwrite it. ## Agent Adapters Keep the data model and workflow platform-neutral. When the user names the target agent environment, create its smallest shared adapter unless they decline. Otherwise create `AGENTS.md`, `CLAUDE.md`, or repository-local skills only when requested or already established in the target repository. Read [platform-adapters.md](references/platform-adapters.md) before adding an adapter. Do not ignore shared adapters by default. ## Completion Checklist - Canonical JSON parses and passes validation. - Stable identifiers and normalized URLs are used where available. - No duplicate DOI, arXiv identifier, normalized title, or record ID exists. - Every `curated` record has required language summaries and verification evidence. - README and TODO outputs match canonical data. - Search runs record their actual bounds, sources, queries, and new candidate IDs. - Existing content was preserved during migration. - No unrelated files, commits, or remote state changed.