first commit
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# Zotero -> Obsidian Workflow
|
||||
|
||||
## 1. Resolve the project
|
||||
|
||||
1. Run the Obsidian project-memory detect flow.
|
||||
2. If the repo is bound, use its `Research/{project-slug}/` vault root.
|
||||
3. If not bound but clearly a research repo, bootstrap first.
|
||||
|
||||
## 2. Read from Zotero
|
||||
|
||||
Preferred read path per paper:
|
||||
1. `zotero_get_item_metadata`
|
||||
2. `zotero_get_item_fulltext`
|
||||
3. `zotero_get_annotations`
|
||||
4. `zotero_get_notes`
|
||||
|
||||
Use metadata + abstract as the minimum fallback when PDF full text is unavailable.
|
||||
If the MCP transport path is broken but a local `zotero-mcp` source checkout is available, use the local Python fallback to call the same metadata/fulltext functions instead of aborting.
|
||||
Treat Zotero `webpage` items as weak-source entries unless they clearly expose full paper metadata and useful fulltext. Abstract-only pages and webpage placeholders may be kept for discovery, but they must remain `To-Read` or `weak-source` and cannot support `Knowledge` or manuscript claims until replaced by a full paper, preprint, or verified artifact.
|
||||
|
||||
## 3. Create/update the canonical paper note
|
||||
|
||||
Canonical destination:
|
||||
- `Sources/Papers/{normalized-title-or-citekey}.md`
|
||||
|
||||
Update instead of duplicating when the note already exists.
|
||||
|
||||
## 4. Detailed reading note requirements
|
||||
|
||||
Each durable paper note should contain:
|
||||
- claim
|
||||
- research question / problem
|
||||
- method
|
||||
- evidence
|
||||
- strengths
|
||||
- limitation
|
||||
- direct relevance to repo
|
||||
- links to related papers and the best matching `Knowledge/` notes
|
||||
|
||||
## 5. Synthesize the stable literature knowledge
|
||||
|
||||
After a batch import, prefer agent-first synthesis into `Knowledge/`:
|
||||
1. update `Knowledge/Literature Overview.md` when the batch yields a stable overview
|
||||
2. update `Knowledge/Method Taxonomy.md` when method clusters are clear
|
||||
3. update `Knowledge/Research Gaps.md` when open problems or tensions are stable enough to keep
|
||||
4. if the source is a named Zotero collection, update a durable inventory note that records:
|
||||
- collection size,
|
||||
- triage buckets,
|
||||
- collection item -> canonical note mapping,
|
||||
- current coverage such as `16 / 16`
|
||||
|
||||
Apply the Claim Promotion Gate before creating or updating `Knowledge/`:
|
||||
- every stable claim must cite a canonical paper note and an Evidence Record ID,
|
||||
- `speculative` and `observed` claims stay as hypotheses, motivations, or open gaps,
|
||||
- abstract-only or webpage-placeholder items can appear in coverage notes but not as support for durable conclusions,
|
||||
- if the batch lacks enough evidence records, produce a warning/claim map instead of a polished synthesis.
|
||||
|
||||
## 6. Refresh the default literature canvas
|
||||
|
||||
After batch note creation or major note updates:
|
||||
1. rebuild `Maps/literature.canvas`
|
||||
2. ensure core paper notes have meaningful wikilinks into `Knowledge/`
|
||||
3. keep the graph lightweight and project-facing
|
||||
4. prefer semantic filtering and edge thinning over dense all-to-all paper links
|
||||
5. prefer `paper + claim + method + gap` argument-map structure for the main graph
|
||||
6. add `Maps/literature-main.canvas` only when a second lightweight display graph is genuinely useful
|
||||
7. preserve edge evidence strength where possible; do not create all-to-all paper links or stable-looking claim edges without source-note support
|
||||
|
||||
## 7. Push downstream only when justified
|
||||
|
||||
- during Zotero ingestion, default to `Sources/Papers/` plus `Knowledge/`
|
||||
- update `Writing/` only when the user asks for a review, comparison, or draft-facing synthesis and the promoted claims pass the Claim Promotion Gate
|
||||
- treat `Experiments/` and `Results/` as later project workflows, not default Zotero-import targets
|
||||
|
||||
## 8. Verify before closing
|
||||
|
||||
After batch ingestion or schema refactors:
|
||||
1. verify every expected paper has a canonical note
|
||||
2. verify `zotero_key` coverage matches the imported collection
|
||||
3. verify all covered notes use the same canonical section schema
|
||||
4. update the project `Daily/` note and project memory with what changed
|
||||
|
||||
Recommended verification command:
|
||||
|
||||
```bash
|
||||
python3 "${CLAUDE_PLUGIN_ROOT}/skills/zotero-obsidian-bridge/scripts/verify_paper_notes.py" \
|
||||
--papers-dir "/absolute/path/to/Sources/Papers" \
|
||||
--expected-zotero-keys "KEY1,KEY2,KEY3" \
|
||||
--inventory-note "/absolute/path/to/Knowledge/Zotero-Collection-collection-slug-Inventory.md"
|
||||
```
|
||||
Reference in New Issue
Block a user