From research-workspace
Fills Key Findings, Methodology, and Relevance sections in Obsidian markdown and Zotero child notes for research papers in a cluster, using LLM on abstracts. Use after research-hub auto-ingestion when TODO summaries need filling.
npx claudepluginhub wenyuchiou/ai-research-skills --plugin research-workspaceThis skill uses the workspace's default tool permissions.
The `auto` pipeline ingests metadata + abstract only — Summary / Key Findings / Methodology / Relevance stay as `[TODO]` skeletons in both Obsidian and Zotero. Cluster-level summarization (NotebookLM brief, crystals) does NOT fill per-paper notes. So after `auto`, the user has nothing scannable per paper without opening the PDF.
Operates research-hub CLI for literature discovery, source ingestion into Zotero/Obsidian/NotebookLM, reference organization, dashboard inspection, and vault maintenance. Use for finding papers, building knowledge bases, or generating research briefs.
Bridges Zotero papers to Obsidian project KB: generates source notes in Sources/Papers, synthesis in Knowledge/Writing, and literature.canvas maps. Use when Zotero is literature source.
Materializes literature sources into local references/ directory using Paperpile for academic papers, Readwise for personal highlights, and Obsidian for web clips after brainstorm phase.
Share bugs, ideas, or general feedback.
The auto pipeline ingests metadata + abstract only — Summary / Key Findings / Methodology / Relevance stay as [TODO] skeletons in both Obsidian and Zotero. Cluster-level summarization (NotebookLM brief, crystals) does NOT fill per-paper notes. So after auto, the user has nothing scannable per paper without opening the PDF.
This skill fills that gap. One LLM call per paper, JSON-validated, written to both vault systems atomically (rollback the markdown change if Zotero write fails so the two stay in sync).
Trigger phrases:
auto X and the notes are empty — give me real summaries."Not for:
research-hub notebooklm generate (NotebookLM brief).research-hub crystal emit/apply.notebooklm-brief-verifier.raw/<slug>/)claude / codex / gemini)--apply flag (default off, dry-run)The skill reads each paper's frontmatter (DOI, year, zotero-key) + the ## Abstract body block. Papers with empty abstract get a "PDF needed" marker rather than hallucinated findings.
For each paper, three sections are rewritten:
Obsidian markdown at raw/<cluster>/<paper-slug>.md:
## Key Findings callout block (3–5 bullets)## Methodology callout block (one sentence)## Relevance callout block (1–2 sentences linking to the cluster topic)^findings, ^methodology, ^relevance) preserved.Zotero child note for the paper's parent item (looked up via zotero-key frontmatter):
<h1>Summary + Abstract + Key Findings <ul> + Methodology + Relevance.Both writes must succeed for a paper to count as "applied". A Zotero write failure rolls back the markdown change so the two systems stay in sync.
<vault>/.research_hub/artifacts/<cluster>/summarize-prompt.md. The user pipes it through their LLM manually and re-runs with --apply, or calls the apply_cluster_summaries MCP tool with the parsed payload. Exit code 0; ok=True.ok=False with error="LLM response had no parseable JSON object". No writes.# Dry-run (just emit prompt + show what LLM produced)
research-hub summarize --cluster <slug>
# Live run (writes to Obsidian + Zotero)
research-hub summarize --cluster <slug> --apply
# Override LLM
research-hub summarize --cluster <slug> --llm-cli codex --apply
# Obsidian-only (skip Zotero — useful when Zotero is offline)
research-hub summarize --cluster <slug> --apply --no-zotero
After applying, scan raw/<cluster>/*.md — every paper's ## Key Findings callout should have real bullets instead of [TODO].
[likely].--no-zotero or --no-obsidian if you want to preview one side first..scratch/: one transactional unit per paper.