# joshzyj/open-scholar-skill architecture

> Architecture diagram of the GitHub repository joshzyj/open-scholar-skill, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/joshzyj/open-scholar-skill
- Repository: https://github.com/joshzyj/open-scholar-skill

## Overview

Open Scholar Skill is a collection of research-focused agent skills for Claude Code, Codex, and compatible tools. Researchers can run skills individually or use the documented, human-in-the-loop auto-research pipeline, progressing from research question and literature through design, data and analysis to manuscript preparation, verification, and submission support. Supporting branches cover sensitive-data review and qualitative annotation; evidence dossiers help connect manuscript claims to source evidence. The README documents the broader skill capabilities and typical workflow; source excerpts here only substantiate selected evidence-rendering and privacy components.

Main entry points: [`.claude/skills/scholar-auto-research/SKILL.md`](https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/scholar-auto-research/SKILL.md) (Auto-research pipeline), [`.claude/skills`](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills) (Project setup), [`scripts/render-evidence-dossier.py`](https://github.com/joshzyj/open-scholar-skill/blob/main/scripts/render-evidence-dossier.py) (Evidence dossier), [`.claude/skills/scholar-analyze/SKILL.md`](https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/scholar-analyze/SKILL.md) (Statistical analysis)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Research workflow"]
  node_question["Question and theory<br/>[skills]"]
  node_literature["Literature synthesis<br/>[skills]"]
  node_design["Research design<br/>[skills]"]
  node_auto_research["Auto-research pipeline<br/>[SKILL.md]"]
end

subgraph group_analysis["Data and analysis"]
  node_data["Data preparation<br/>[skills]"]
  node_analysis_skill["Statistical analysis<br/>[SKILL.md]"]
end

subgraph group_manuscript["Manuscript quality"]
  node_manuscript["Manuscript writing<br/>[skills]"]
  node_citation["Citation management<br/>[skills]"]
  node_verification["Output verification<br/>[skills]"]
  node_publication["Journal and submission<br/>[skills]"]
  node_review["Peer review response<br/>[skills]"]
end

subgraph group_safety["Data safety"]
  node_init["Project setup<br/>[skills]"]
  node_safety_scan["Sensitive-data scan"]
  node_safety_policy["Safety policy"]
  node_safety_guard["Read guard"]
end

subgraph group_evidence["Evidence and annotation"]
  node_annotation["Qualitative annotation<br/>[SKILL.md]"]
  node_evidence_dossier["Evidence dossier"]
  node_project_evidence["Project evidence"]
end

node_researcher(("Researcher"))

node_researcher -->|"sets up"| node_init
node_researcher -->|"invokes"| node_question
node_researcher -->|"invokes"| node_literature
node_researcher -->|"invokes"| node_design
node_researcher -->|"invokes"| node_data
node_researcher -->|"invokes"| node_annotation
node_researcher -->|"invokes"| node_analysis_skill
node_researcher -->|"invokes"| node_manuscript
node_researcher -->|"invokes"| node_citation
node_researcher -->|"invokes"| node_verification
node_researcher -->|"invokes"| node_publication
node_researcher -->|"invokes"| node_review
node_researcher -->|"starts"| node_auto_research
node_auto_research -->|"dispatches"| node_question
node_auto_research -->|"dispatches"| node_literature
node_auto_research -->|"dispatches"| node_design
node_auto_research -->|"dispatches"| node_data
node_auto_research -->|"dispatches"| node_analysis_skill
node_auto_research -->|"dispatches"| node_manuscript
node_auto_research -->|"dispatches"| node_verification
node_researcher -->|"scans locally"| node_safety_scan
node_init -->|"scans files"| node_safety_scan
node_init -->|"follows"| node_safety_policy
node_safety_guard -->|"checks status"| node_safety_policy
node_researcher -->|"renders"| node_evidence_dossier
node_project_evidence -->|"reads ledger"| node_evidence_dossier
node_evidence_dossier -->|"writes dossier"| node_project_evidence
node_researcher -->|"provides"| node_project_evidence

click node_init "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_question "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_literature "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_design "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_data "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_safety_scan "https://github.com/joshzyj/open-scholar-skill/blob/main/scripts/gates/safety-scan-presidio.py"
click node_safety_policy "https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/_shared/data-handling-policy.md"
click node_safety_guard "https://github.com/joshzyj/open-scholar-skill/blob/main/scripts/gates/pretooluse-data-guard.sh"
click node_annotation "https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/scholar-annotate/SKILL.md"
click node_analysis_skill "https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/scholar-analyze/SKILL.md"
click node_manuscript "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_citation "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_verification "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_publication "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_review "https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills"
click node_auto_research "https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/scholar-auto-research/SKILL.md"
click node_evidence_dossier "https://github.com/joshzyj/open-scholar-skill/blob/main/scripts/render-evidence-dossier.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_question,node_literature,node_design,node_auto_research toneBlue
class node_data,node_analysis_skill toneAmber
class node_manuscript,node_citation,node_verification,node_publication,node_review toneMint
class node_init,node_safety_scan,node_safety_policy,node_safety_guard toneRose
class node_annotation,node_evidence_dossier,node_project_evidence,node_researcher toneIndigo
```

## Components

### Research workflow

- [Question and theory](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`
- [Literature synthesis](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`
- [Research design](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`
- [Auto-research pipeline](https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/scholar-auto-research/SKILL.md): `.claude/skills/scholar-auto-research/SKILL.md`

### Data and analysis

- [Data preparation](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`
- [Statistical analysis](https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/scholar-analyze/SKILL.md): `.claude/skills/scholar-analyze/SKILL.md`

### Manuscript quality

- [Manuscript writing](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`
- [Citation management](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`
- [Output verification](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`
- [Journal and submission](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`
- [Peer review response](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`

### Data safety

- [Project setup](https://github.com/joshzyj/open-scholar-skill/tree/main/.claude/skills): `.claude/skills`
- [Sensitive-data scan](https://github.com/joshzyj/open-scholar-skill/blob/main/scripts/gates/safety-scan-presidio.py): `scripts/gates/safety-scan-presidio.py`
- [Safety policy](https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/_shared/data-handling-policy.md): `.claude/skills/_shared/data-handling-policy.md`
- [Read guard](https://github.com/joshzyj/open-scholar-skill/blob/main/scripts/gates/pretooluse-data-guard.sh): `scripts/gates/pretooluse-data-guard.sh`

### Evidence and annotation

- [Qualitative annotation](https://github.com/joshzyj/open-scholar-skill/blob/main/.claude/skills/scholar-annotate/SKILL.md): `.claude/skills/scholar-annotate/SKILL.md`
- [Evidence dossier](https://github.com/joshzyj/open-scholar-skill/blob/main/scripts/render-evidence-dossier.py): `scripts/render-evidence-dossier.py`
- **Project evidence**

### Other components

- **Researcher**

## Connections

- Researcher → Project setup: sets up
- Researcher → Question and theory: invokes
- Researcher → Literature synthesis: invokes
- Researcher → Research design: invokes
- Researcher → Data preparation: invokes
- Researcher → Qualitative annotation: invokes
- Researcher → Statistical analysis: invokes
- Researcher → Manuscript writing: invokes
- Researcher → Citation management: invokes
- Researcher → Output verification: invokes
- Researcher → Journal and submission: invokes
- Researcher → Peer review response: invokes
- Researcher → Auto-research pipeline: starts
- Auto-research pipeline → Question and theory: dispatches
- Auto-research pipeline → Literature synthesis: dispatches
- Auto-research pipeline → Research design: dispatches
- Auto-research pipeline → Data preparation: dispatches
- Auto-research pipeline → Statistical analysis: dispatches
- Auto-research pipeline → Manuscript writing: dispatches
- Auto-research pipeline → Output verification: dispatches
- Researcher → Sensitive-data scan: scans locally
- Project setup → Sensitive-data scan: scans files
- Project setup → Safety policy: follows
- Read guard → Safety policy: checks status
- Researcher → Evidence dossier: renders
- Project evidence → Evidence dossier: reads ledger
- Evidence dossier → Project evidence: writes dossier
- Researcher → Project evidence: provides
