140 lines
5.7 KiB
Markdown
140 lines
5.7 KiB
Markdown
# QQnote Subskill Boundary
|
|
|
|
Use this file when the user asks QQsci to use QQnote, the Zotero/Obsidian
|
|
workflow, newly imported papers, batch DeepSeek note generation, paper summary
|
|
tables, missing-note audits, Obsidian literature notes, or Dataview dashboards.
|
|
|
|
The installed `QQnote-skill` is the source of truth for note generation and
|
|
Obsidian maintenance. QQsci consumes the resulting notes and tables for
|
|
materials-manuscript writing, strong/weak related-paper screening,
|
|
submission-package audit, and DOI-only Word citation comments.
|
|
|
|
If QQnote-skill changes, follow QQnote-skill rather than this file for script
|
|
arguments and operational details.
|
|
|
|
## Core order
|
|
|
|
1. QQnote first: identify Zotero items and generate/update Zotero child notes
|
|
through `QQnote-skill`.
|
|
2. Optional QQnote table: summarize selected papers into a Markdown comparison
|
|
table when QQsci needs compact strong-paper comparison axes.
|
|
3. Obsidian second: link Zotero notes into the vault through Zotero Integration
|
|
and Dataview.
|
|
4. QQsci third: use screened notes/tables to rewrite positioning,
|
|
introduction, comparison, discussion, and citation placement.
|
|
|
|
Do not default to creating standalone Obsidian markdown notes when the user says
|
|
`文献笔记`; the default target is Zotero child notes generated by QQnote.
|
|
|
|
## QQnote-skill entrypoints
|
|
|
|
Use these installed scripts through QQnote-skill, not reimplemented QQsci logic:
|
|
|
|
```powershell
|
|
py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-key SXAIQUJT --skip-existing
|
|
py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\audit_zotero_ai_notes.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --keys-only
|
|
py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\summarize_zotero_table.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-keys "SXAIQUJT X7GJZ627" --batch-size 3 --out "C:\Users\qyh15\Documents\Obsidian Vault\99 misc\literature-comparison-table.md"
|
|
```
|
|
|
|
Use `generate_zotero_ai_note.py` when new or selected papers need Zotero child
|
|
notes.
|
|
|
|
Use `audit_zotero_ai_notes.py` when QQsci needs to know which papers lack
|
|
generated notes before manuscript screening.
|
|
|
|
Use `summarize_zotero_table.py` when QQsci needs a compact comparison table for
|
|
strongly related papers, benchmark comparison, figure/storyline audit, or
|
|
target-journal positioning.
|
|
|
|
## Safety and config
|
|
|
|
- Do not ask the user to paste API keys into chat.
|
|
- Follow QQnote-skill's current config rules. It loads Zotero/LLM credentials
|
|
from environment variables, private local config, or AwesomeGPT preferences.
|
|
- Keep private config ignored and local-only.
|
|
- Do not print secret-bearing config or preference lines.
|
|
- Treat Zotero local API at `127.0.0.1:23119` as read-oriented.
|
|
- For child-note writes, require QQnote's configured write path. It may require
|
|
`ZOTERO_API_KEY` for Zotero Web API writes.
|
|
|
|
## Preflight
|
|
|
|
Before writing notes:
|
|
|
|
1. Check Zotero is running and the local/connector route is available.
|
|
2. Confirm the target collection, selected items, tags, or explicit item keys.
|
|
3. Check whether notes already exist and skip or update according to the user's
|
|
instruction.
|
|
4. Prefer QQnote dry-run or audit mode for first-time validation.
|
|
5. Confirm the write route for Zotero child notes.
|
|
6. Confirm the DeepSeek/AwesomeGPT config is available without exposing secrets.
|
|
|
|
## Batch behavior
|
|
|
|
Batch work must be resumable:
|
|
|
|
- use QQnote's existing duplicate detection and note audit behavior
|
|
- skip items with successful existing notes unless the user asks to regenerate
|
|
- for deep regeneration, follow QQnote's replace/update behavior instead of
|
|
creating duplicate child notes
|
|
- process long runs in 20-30 item batches
|
|
- preserve UTF-8 output for Chinese templates and notes
|
|
|
|
## New paper flow
|
|
|
|
When the user says they introduced new papers:
|
|
|
|
1. Identify new Zotero items by collection, tag, selected items, import time, or
|
|
explicit keys.
|
|
2. Use QQnote-skill to gather metadata, abstract, attachment text if available,
|
|
and existing child notes.
|
|
3. Use QQnote-skill to send the note-generation prompt to DeepSeek/AwesomeGPT
|
|
using the user's template.
|
|
4. Create or update the Zotero child note through QQnote-skill.
|
|
5. Refresh or instruct Obsidian Zotero Integration linking only after Zotero
|
|
notes are created.
|
|
6. Report successes, skips, and failures using QQnote's audit output.
|
|
|
|
## Paper comparison table flow
|
|
|
|
When QQsci needs to compare strong related papers before revising or auditing a
|
|
manuscript:
|
|
|
|
1. Use `literature-routing.md` to choose candidate strong papers.
|
|
2. Ask QQnote-skill to summarize those Zotero items into a Markdown table.
|
|
3. Use columns relevant to materials manuscripts: title, year, journal, DOI,
|
|
material system, device/application, mechanism, key performance, controls,
|
|
figure logic, and useful comparison point.
|
|
4. Use the table as the comparison basis for `comparative-review-audit.md` and
|
|
`submission-package-audit.md`.
|
|
|
|
## Manuscript integration flow
|
|
|
|
After notes exist:
|
|
|
|
1. Extract manuscript keyword pack.
|
|
2. Use `literature-routing.md` to classify strong and weak papers.
|
|
3. Use QQnote notes or QQnote-generated comparison tables to build a source map
|
|
linking paper -> useful claim -> manuscript section.
|
|
4. For Word citation help, add native Word comments containing DOI strings only,
|
|
one DOI per line.
|
|
5. Rewrite the manuscript section with citation placeholders only if the user is
|
|
not using the DOI-comment workflow.
|
|
6. Flag missing evidence, missing citations, and overclaim risks.
|
|
|
|
## Output template
|
|
|
|
`QQnote preflight:`
|
|
|
|
`Processed Zotero items:`
|
|
|
|
`Generated or updated child notes:`
|
|
|
|
`QQnote comparison table:`
|
|
|
|
`Skipped existing notes:`
|
|
|
|
`Failed items and reason:`
|
|
|
|
`Next QQsci manuscript-use step:`
|