|
|
||
|---|---|---|
| agents | ||
| config | ||
| references | ||
| scripts | ||
| .gitignore | ||
| README.md | ||
| SKILL.md | ||
README.md
QQnote-skill
QQnote-skill is a Zotero + Obsidian literature-note tool for Codex. It generates AI literature notes from Zotero items, writes them as Zotero child notes, audits missing generated notes, and maintains Obsidian literature-note views.
QQnote is intentionally narrow: it prepares literature-note inputs. It does not decide manuscript novelty, target-journal positioning, strong/weak related-paper status, reviewer risk, or citation necessity. Those decisions belong to QQsci when QQnote is used inside the QQsci workflow.
Core Workflows
Initialize Private Config
Use local-only config for Zotero and DeepSeek/AwesomeGPT keys:
py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\init_private_config.py"
The committed template is:
config/config.template.json
The real local file is:
config/config.local.json
Do not commit config/config.local.json, print secrets, or paste API keys into
chat.
Generate Zotero Child Notes
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
Use this when a Zotero item needs an AI-generated child note. For long runs,
prefer small batches and rerun with --skip-existing after interruptions.
For deeper notes, use the full-detail mode supported by the installed script, for example:
py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-key SXAIQUJT --mode deep --fulltext-chars 80000 --max-tokens 12000 --replace-existing
Audit Missing Generated Notes
py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\audit_zotero_ai_notes.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --keys-only
Use deterministic audit scripts for library state. Do not ask DeepSeek to decide which Zotero items are missing notes.
Relationship With QQsci
When used by QQsci:
- QQsci identifies which literature inputs are needed.
- QQnote generates or refreshes Zotero child notes.
- QQsci performs keyword extraction, strong/weak related-paper screening, target-journal positioning, comparative audit, manuscript revision, and Word DOI-only citation comments.
QQnote should not decide whether a paper is strongly related, weakly related, required for citation, or sufficient as reviewer evidence.
QQsci may call QQnote through a wrapper that injects QQsci-level DeepSeek and Zotero configuration into QQnote's expected environment variables.
Standalone Configuration
QQnote must also remain usable independently. In standalone mode it reads:
- process environment variables
- local private config
- vault
.env, if supported by the installed script - AwesomeGPT/Zotero profile preferences
Expected environment variables include:
AWESOMEGPT_API_KEYAWESOMEGPT_BASE_URLAWESOMEGPT_MODELZOTERO_API_KEYfor Zotero Web API writesZOTERO_USER_IDwhen needed
Never store API keys in SKILL.md, references, committed files, zip files,
terminal output, or chat. If keys appear in chat or logs, rotate them.
Obsidian Notes
Read these references before modifying Obsidian behavior:
references/obsidian-integration.mdreferences/obsidian-literature-maintenance.md
Default vault:
C:\Users\qyh15\Documents\Obsidian Vault
Default organization includes:
00 Templater: source templates, prompts, and audit cache- literature-note folders exported or linked from Zotero
- Dataview dashboards for browsing literature
Repository Contents
.
|-- SKILL.md
|-- README.md
|-- agents/
| `-- openai.yaml
|-- config/
| `-- config.template.json
|-- references/
| |-- obsidian-integration.md
| |-- obsidian-literature-maintenance.md
| |-- upgrade-plan.md
| `-- upstream-obsidian-skills.md
`-- scripts/
|-- audit_zotero_ai_notes.py
|-- generate_zotero_ai_note.py
`-- init_private_config.py
Installed Location
For Codex discovery, install under:
C:\Users\qyh15\.codex\skills\QQnote-skill
Keep source and installed copies synchronized when updating scripts or documentation.