--- 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. - For multi-sentence or paragraph input, assign stable segment IDs such as `S001`, `S002`, and `S003`. - Record claim type when useful: background, review-context, mechanism, material-property, method, characterization, performance, application, or limitation. - 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. - Use DOI as the primary duplicate key; when DOI is missing, compare normalized title plus first-author/year. - 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. - Treat local Zotero/Obsidian/PDF evidence as T0, structured metadata or publisher pages as T1, scholarly discovery APIs as T2, and general web/search-engine results as T3. 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. - Use the support grades from `references/citation-ranking.md`: strong support, partial support, background support, contradictory/limiting, metadata-only candidate, weak, or unrelated. - Do not cite metadata-only candidates as support until the abstract, publisher page, local note, or local PDF has been checked. - 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. 10. For verification, batch, export, or source-map requests, switch workflows. - If the user asks to check an existing bibliography, classify references as `verified`, `duplicate`, `mismatch`, `not_found`, `suspicious`, or `manual_needed`. - If the user provides more than about 10 citable segments, process in batches and deduplicate final candidates by DOI. - If the user asks for RIS, BibTeX, or ENW, export only verified metadata and leave missing fields blank rather than inventing them. - If extracting original-paper parameters, keep a source map with value, unit, page/figure/table location, evidence level, conversion rule, and caveat. ## 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`. - `Evidence basis`: local note, Zotero metadata, abstract, main text, figure caption, supporting information, graph digitization, or calculated. - `Caveat`: repeated reference, metadata-only, figure-only, angle-only, total power, mismatch, or other risk when relevant. - `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. Also read it when the user asks for segmented citations, claim IDs, citation verification, source-map tracing, long-manuscript batch processing, or RIS/BibTeX/ENW export. ## 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.