academic-writing
Write or revise thesis and paper prose section by section (abstract, introduction, related work, method, results, discussion,…
Expand a set of key papers into the literature around them by walking the citation graph with the Semantic Scholar and OpenAlex APIs: backward (references), forward (citing works), and co-citation, scored by how many seeds connect to each candidate, so the papers a reviewer will
Claude Code
$ npx -y skills add KhaledSaeed18/dotclaude --skill citation-graph --agent claude-code
Codex
$ npx skills add KhaledSaeed18/dotclaude --skill citation-graph -a codex -y
Cursor
$ npx skills add KhaledSaeed18/dotclaude --skill citation-graph -a cursor -y
Gemini CLI
$ npx skills add KhaledSaeed18/dotclaude --skill citation-graph -a gemini-cli -y
GitHub Copilot
$ npx skills add KhaledSaeed18/dotclaude --skill citation-graph -a github-copilot -y
OpenCode
$ npx skills add KhaledSaeed18/dotclaude --skill citation-graph -a opencode -y
Windsurf
$ npx skills add KhaledSaeed18/dotclaude --skill citation-graph -a windsurf -y
name: citation-graph description: "Expand a set of key papers into the literature around them by walking the citation graph with the Semantic Scholar and OpenAlex APIs: backward (references), forward (citing works), and co-citation, scored by how many seeds connect to each candidate, so the papers a reviewer will expect are found even when keyword search misses them. Use after literature-search has found the first key papers, when a supervisor names one seminal paper, or when checking that a related-work chapter has not missed a line of work." argument-hint: "(optional) seed DOIs, arXiv ids, or keys from the .bib; add --depth 1|2 and --min-links N"
Keyword search finds papers that use your words; the citation graph finds papers that share your problem. Starting from a few papers known to be central, the works they cite and the works that cite them, weighted by how many seeds agree, surface the field's structure and its recent edge.
Seeds: DOIs, arXiv ids, Semantic Scholar ids, or `.bib` keys (resolved through `references.bib`). Three to eight seeds work best; one seed gives a star, not a graph. Options: `--depth` (1: neighbours of seeds; 2: neighbours of the strongest first-degree candidates; default 1), `--min-links` (minimum seed connections to keep a candidate; default 2), `--since YEAR` for the forward direction.
1. **Resolve seeds** to Semantic Scholar paper ids: `curl -s "https://api.semanticscholar.org/graph/v1/paper/DOI:<doi>?fields=paperId,title,year,citationCount"`. 2. **Backward**: for each seed, `/paper/<id>/references?fields=paperId,title,year,externalIds,citationCount,influentialCitationCount&limit=500`. Tally each referenced paper's seed count. 3. **Forward**: for each seed, `/paper/<id>/citations?fields=...&limit=1000` (page with `offset` when over 1000; apply `--since`). Tally. 4. **Co-citation** (optional, strong signal): for the top forward candidates, fetch their references and count how often two seeds appear together; candidates cited alongside the seeds by many papers belong to the same conversation. 5. **Score** each candidate: `links` (distinct seeds connected), `influential` (Semantic Scholar's influential-citation flag counts double), citations normalised by age, and recency for the forward set. Show the formula. 6. **Depth 2**: take the top ten candidates by score, treat them as seeds, repeat steps 2 and 3, and keep only candidates linked to at least two of the original seeds. 7. **Cross-check** each kept candidate with OpenAlex (`api.openalex.org/works/doi:<doi>`) for the DOI, venue, and open-access link; drop anything that does not resolve. 8. Rate-limit: one request per second; on 429 wait and retry. Cache responses under `research/.graph-cache/` keyed by paper id.
`research/citation-graph.md`:
# Citation graph from 5 seeds (2026-09-21, depth 1, min-links 2) Seeds: smith2023feedback, lee2022grading, ... ## Backward (cited by the seeds) | links | year | citations | title | DOI | | 4 | 2015 | 1,203 | Foundations of ... | 10.x | ... ## Forward (cite the seeds), since 2022 ... ## Co-cited with the seeds ... ## Reading recommendations - 10.x (links 4): cited by four of five seeds; a foundational paper the related-work chapter must position against. - ... ## Lines of work the seeds share Two or three sentences per cluster visible in the table (same venue, same authors, same method).
Then hand the recommended papers to `bibtex-manager` (add) and `paper-reader` (notes).
Reusable Claude Code extension registry. skills, subagents, slash commands, and hooks for engineering, git, testing, and security workflows. Distributed as a shadcn GitHub registry and as installable plugins.
Write or revise thesis and paper prose section by section (abstract, introduction, related work, method, results, discussion,…
Report computational benchmarks and experimental comparisons the way examiners and reviewers expect: fair baselines run under the…
Maintain the thesis .bib file as a single source of truth: fetch verified BibTeX from a DOI, arXiv id, or title via CrossRef and…
Audit every citation in a chapter, paper, or proposal against the .bib file and the real world: each cite key must exist, each…
Structure a thesis whose contribution is a built artifact (tool, system, method, model) using design science research: explicit…
Write a thesis in Word without losing the discipline of a source-controlled workflow: author chapters in Markdown or LaTeX,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.