QQcites-skill/SKILL.md

88 lines
7.4 KiB
Markdown

---
name: qqcites
description: Find and rank reference candidates for manuscript sentences by using the user's QQnote-skill, Zotero/Obsidian literature notes, and DeepSeek-assisted local literature screening. Use when the user sends article sentences, claims, paragraphs, or Chinese/English manuscript text and asks for references, citations, supporting papers, related literature, Obsidian-note matches, review-first citation suggestions, or locally grounded citation ranking.
---
# QQcites
Use this skill to turn a manuscript sentence or claim into a ranked list of citation candidates from the user's existing literature notes. Treat QQnote-skill as the first source of local literature context, and use DeepSeek for semantic screening when searching or judging local literature relevance.
## Workflow
1. Identify the citation need.
- Split long input into one claim per search unit.
- Extract mechanism, material system, method, performance metric, disease/application, and comparison terms.
- Preserve the user's wording so the final answer can map references back to the exact sentence.
2. Check the current manuscript citation ledger before searching.
- If a manuscript-specific `used_references.md`, `used_references.csv`, or extracted citation list is available, read it before ranking candidates.
- Treat DOI, Zotero item key, title, and normalized first-author/year as duplicate-detection keys.
- If no ledger exists, infer recent used references from the current conversation and recommend creating a ledger rather than relying on memory.
- Zotero and Obsidian identify candidate papers; the ledger or manuscript citation fields identify papers already used in this manuscript.
3. Load QQnote-skill before searching.
- Read `C:\Users\qyh15\.codex\skills\QQnote-skill\SKILL.md` if available.
- If that installed path is unavailable, read the project copy at `E:\11 AI\01 Codex\01 Skills\QQnote-skill\SKILL.md`.
- Use QQnote's documented Zotero/Obsidian workflow and scripts rather than inventing a separate literature-note pipeline.
4. Search local Obsidian literature notes first.
- Default vault: `C:\Users\qyh15\Documents\Obsidian Vault`.
- Prefer generated literature notes under QQnote's literature-note folders.
- Use exact keywords, translated Chinese/English equivalents, acronyms, material names, and mechanism terms.
- Prefer `rg` for text search when the vault is accessible.
5. Use web search only when local literature is insufficient.
- Default to local QQnote/Obsidian/Zotero evidence first.
- If local notes produce too few or weak candidates, supplement with web literature search and clearly label web-only candidates.
- Do not replace strong local evidence with web results unless the web result is clearly more relevant or more authoritative.
6. Use DeepSeek for local semantic screening.
- When deciding which local notes or papers are relevant, send the manuscript claim plus candidate note snippets to DeepSeek through the user's configured QQnote/AwesomeGPT/DeepSeek route.
- Ask DeepSeek to classify each candidate as direct support, partial support, background/review support, contradictory/weak, or unrelated.
- Do not use DeepSeek to fabricate citations. It may rank and explain local candidates only from supplied note text, Zotero metadata, abstracts, or extracted local PDF text.
- If DeepSeek access is unavailable, report that screening was not run and provide the best deterministic local-search ranking.
7. Rank candidates by manuscript usefulness.
- Rank by direct claim support first.
- Within similar relevance, put review articles before primary research when the user needs background, broad motivation, mechanism overview, or field status.
- Put primary research before reviews when the sentence makes a specific experimental, material, performance, or mechanistic claim that needs original evidence.
- Force review-only or review-priority ranking only when the user explicitly asks for reviews, "需要综述", or "综述优先".
- Apply citation-ledger duplicate control before final ranking: when the user says "不要重复", "不重复", or flags a repeated item, exclude previously used DOI/Zotero keys unless the item is explicitly unavoidable.
- When repetition is allowed but discouraged, demote previously used papers and prefer unused local candidates with comparable relevance.
- Penalize papers that only match broad keywords without supporting the sentence.
8. Verify citation metadata.
- Prefer Zotero metadata from QQnote/Zotero when available.
- Include DOI when available.
- Do not invent missing DOI, year, journal, or title.
- Mark uncertain metadata as `metadata incomplete`.
9. Update or propose updates to the citation ledger after recommending references.
- For every recommended paper, record sentence/claim, DOI, Zotero key, title, year, type, source (`local`, `web`, or `uncertain`), and why it was used.
- If file editing is not requested or the ledger path is unknown, include a compact "used-reference log" block in the answer so it can be appended later.
- Keep the ledger manuscript-specific; do not globally ban papers across unrelated manuscripts or projects.
## Output
For each user sentence, return:
- `Sentence`: the exact sentence or claim being supported.
- `Best citations`: ranked candidates with title, year, journal, DOI if available, and source note path or Zotero key when available.
- `Why relevant`: one concise reason tied to the sentence.
- `Type`: `review`, `primary research`, `method`, `dataset`, or `unclear`.
- `Strength`: `direct`, `partial`, `background`, or `weak`.
- `Suggested citation use`: where the paper should be cited in the sentence or paragraph.
Read [references/citation-ranking.md](references/citation-ranking.md) when the task involves multiple sentences, many candidate notes, tie-breaking, or final table formatting.
Also read it when the user asks for performance comparison tables, literature tables, parameter extraction from original papers, unit normalization, graph-derived values, or inclusion/exclusion decisions for main-table versus supplemental-table references.
## Operating Rules
- For manuscript citation work, avoid duplicate references by checking a manuscript-specific ledger or citation-field extraction before ranking. Zotero library membership alone is not evidence that a paper has already been cited in the manuscript.
- Default duplicate policy: exact DOI/Zotero-key repeats are disallowed when the user asks for non-repetition; otherwise they are allowed only when the repeated paper is clearly the best or only support, and must be labeled as repeated.
- Keep results grounded in local QQnote/Obsidian/Zotero evidence first; if local notes are insufficient, supplement with web literature search and label those candidates as web-sourced.
- Only force review articles when the user explicitly says "需要综述", "综述优先", or otherwise asks for reviews; otherwise rank by the citation need and allow primary research to outrank reviews for specific experimental or mechanistic claims.
- If local notes are thin, say so and suggest generating or refreshing QQnote notes for the relevant Zotero items.
- Never expose API keys, AwesomeGPT settings, Zotero API keys, or private vault contents unrelated to the user's query.
- When citing Word manuscripts later, keep Word comments DOI-only if the user asks for inline citation comments; put explanations in Markdown.