5.7 KiB
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
- QQnote first: identify Zotero items and generate/update Zotero child notes
through
QQnote-skill. - Optional QQnote table: summarize selected papers into a Markdown comparison table when QQsci needs compact strong-paper comparison axes.
- Obsidian second: link Zotero notes into the vault through Zotero Integration and Dataview.
- 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:
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:23119as read-oriented. - For child-note writes, require QQnote's configured write path. It may require
ZOTERO_API_KEYfor Zotero Web API writes.
Preflight
Before writing notes:
- Check Zotero is running and the local/connector route is available.
- Confirm the target collection, selected items, tags, or explicit item keys.
- Check whether notes already exist and skip or update according to the user's instruction.
- Prefer QQnote dry-run or audit mode for first-time validation.
- Confirm the write route for Zotero child notes.
- 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:
- Identify new Zotero items by collection, tag, selected items, import time, or explicit keys.
- Use QQnote-skill to gather metadata, abstract, attachment text if available, and existing child notes.
- Use QQnote-skill to send the note-generation prompt to DeepSeek/AwesomeGPT using the user's template.
- Create or update the Zotero child note through QQnote-skill.
- Refresh or instruct Obsidian Zotero Integration linking only after Zotero notes are created.
- 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:
- Use
literature-routing.mdto choose candidate strong papers. - Ask QQnote-skill to summarize those Zotero items into a Markdown table.
- Use columns relevant to materials manuscripts: title, year, journal, DOI, material system, device/application, mechanism, key performance, controls, figure logic, and useful comparison point.
- Use the table as the comparison basis for
comparative-review-audit.mdandsubmission-package-audit.md.
Manuscript integration flow
After notes exist:
- Extract manuscript keyword pack.
- Use
literature-routing.mdto classify strong and weak papers. - Use QQnote notes or QQnote-generated comparison tables to build a source map linking paper -> useful claim -> manuscript section.
- For Word citation help, add native Word comments containing DOI strings only, one DOI per line.
- Rewrite the manuscript section with citation placeholders only if the user is not using the DOI-comment workflow.
- 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: