wiki-query
PApaperclipai/paperclip101k近 7 天新增 2,948 个 star
Build, audit, authorize, recover, or finalize dynamic Zotero citations and bibliographies in Microsoft Word DOCX files with a protected-source, digest-bound workflow. Use for Word–Zotero citation conversion, static OOXML citation audits, mocked/offline validation, Refresh authorization/report review, UI-evidence contracts, run recovery, or rollback proposals; never perform live Word/Zotero integration without separate explicit authorization.
Use the generic zotero_mcp.word_citations workflow to replace citation markers in a DOCX with dynamic Zotero fields while keeping the source immutable and every mutating gate explicit, digest-bound, and auditable.
Default to offline and static work.
Do not do any of the following unless the user separately authorizes the exact live integration step:
refresh_word_zotero.ps1;ZoteroRefresh or another Zotero Word macro;http://127.0.0.1:23119;Authorization to create or edit implementation files is not authorization to run Word or Zotero. If live authorization is absent, stop at the offline gate and state exactly which live action remains unexecuted.
Use this Skill when the request involves one or more of:
PMID: 12345678 markers;Do not use this Skill for ordinary citation-style advice, manual bibliography prose, Zotero library cleanup unrelated to Word fields, or a request that only asks to install Zotero/Word.
Establish before any phase that needs them:
.docx path;.csl path;If a required path, identity, count, or authorization is missing, do not infer it. Continue only with phases that can be proven from available artifacts.
Locate the repository rather than assuming a machine-specific path. Confirm that it provides:
zotero_mcp.word_citations;zotero-word-citations or module CLI;Read references/implementation-map.md when modifying code or locating phase ownership. Read references/contracts.md when assembling, loading, or verifying persisted JSON artifacts. Read references/live-run-recipe.md when reproducing a live run end to end, and references/zotero-mcp-configuration.md when the Zotero MCP connector is in local-only mode or write tools fail.
Run the read-only preflight before scanning or creating a run. Treat its status as a gate:
blocked: stop and report failed checks;manual_review: explain the unresolved condition and do not advance automatically;Preflight must not create run directories, copy the source, connect to Word, or write to Zotero.
Use OOXML/ZIP parsing, not Word automation. Preserve source size and SHA-256 and verify the expected digest when one is supplied.
Recognize only supported explicit identifiers. Ordinary numbers are never PMIDs. Inspect all relevant Word stories, surface malformed fields, revisions, static references, and unsupported placements, then infer clusters deterministically. Any ambiguous boundary or unsupported story is a manual-review condition, not permission to guess.
Resolve identifiers against a read gateway first. Fail closed on missing or ambiguous matches. If new items would be required, create a staging plan and exact authorization; do not execute it under the default offline boundary.
Keep collection identity, library identity, requested identifiers, planned item keys, and occurrence counts stable. Use mocks or synthetic gateways for validation.
Never edit the source in place. Create or verify the isolated run layout, copy to a candidate path, and protect source/candidate digests across every transformation.
Construct valid complex ADDIN ZOTERO_ITEM CSL_CITATION fields and one dynamic ADDIN ZOTERO_BIBL field with required document preferences and OPC relationships. Preserve repeated occurrences and do not import case-specific scripts from historical projects.
Assemble the manifest only from accepted upstream scan, cluster, item visibility/staging, and candidate facts. Freeze it write-once using canonical JSON plus SHA-256.
Run the static DOCX audit and compare its observation with manifest acceptance counts. A failed audit blocks authorization. Existing bytes may be accepted only when identical; conflicting bytes or digest drift must fail closed.
Bind authorization to the exact manifest file/content digests, static audit, protected source, candidate, destination, report, diagnostic path, attempt id, and acceptance counts. Re-verify all paths and digests immediately before any live operation.
The optional Zotero Local API check is read-only and restricted to IPv4 loopback port 23119. Reject other hosts, ports, credentials, queries, or fragments.
If the user has not separately authorized live integration, finish here with an offline-blocked result and instructions for what would need explicit approval. If live execution is authorized, read references/live-refresh-protocol.md in full before any action.
After an externally authorized Refresh has produced a destination and report, load and verify those artifacts; never synthesize a successful report. Run a post-Refresh static audit against the frozen manifest and bind it to the destination bytes.
Citation and bibliography UI evidence must come from separate disposable, cancelled checks. Persist each strict evidence record write-once. Require unchanged destination, source, and working-copy digests and stable before/open/after field snapshots.
Assemble finalization only when all required artifacts exist and verify:
Freeze the finalization record write-once. Never treat a directory name, a success message, or an unbound screenshot as proof.
Use the run journal and artifact lineage to recover only to the highest phase whose required files, hashes, parents, and state transitions still verify. Acquire the run lock before state mutation and use stale-lock recovery rules; never break a live lock.
Rollback is a proposal, not an automatic deletion or overwrite. Generate copy-only steps to a new destination and retain every source, candidate, diagnostic, audit, and journal artifact.
Read references/recovery-and-rollback.md for transition and lineage details.
The 2026-08-15 live test revealed that requiring a human confirmation at every step is unnecessary. Adopt this policy:
ZoteroRefresh call;ZoteroAddEditCitation, ZoteroAddEditBibliography).Before any phase that touches live Word/Zotero, state these dependencies and help the user satisfy them:
127.0.0.1:23119.zotero_mcp package importable from Python. Locate it (installed
package, repository src, or a .venv) and tell the user how it will be
invoked (e.g. PYTHONPATH or the interpreter). If it is missing, stop
with the exact install/locate step instead of guessing.ZOTERO_LIBRARY_ID +
ZOTERO_API_KEY in ~/.config/zotero-mcp/config.json under client_env
(see references/zotero-mcp-configuration.md), followed by a connector
restart. If writes fail with "local-only mode", do not retry; re-check this
step.python -c "import zotero_mcp") and confirm the Local API port.The agent should proactively point the user to
references/zotero-mcp-configuration.md (credentials) and
references/live-run-recipe.md (end-to-end run) whenever a dependency check
fails or the user asks how to set something up.
All reusable scripts live inside this Skill under scripts/ (they are copied
into the archive and are usable wherever the Skill is installed):
scripts/run_live_workflow.py — parameterized offline phases
(candidate-build, authorize, post-refresh-audit, finalize).scripts/refresh_word_zotero.ps1 — the one-shot live Word/Zotero Refresh
wrapper (executed only under authorization).scripts/validate_word_zotero_ui.ps1 — cancelled disposable dialog evidence.scripts/verify_skill.py — offline structural verification of this tree.These scripts are generic: they take --run-root, --task-id, --source,
--selection, --style-id and read ZOTERO_LIBRARY_ID/ZOTERO_API_KEY from
the zotero-mcp configuration. They must never contain machine-specific paths or
user identity. See references/live-run-recipe.md for the end-to-end sequence
and references/zotero-mcp-configuration.md for connector setup.
<original-stem>_引文完成版.docx) and a delivery directory, then
waits for the user to confirm before copying anything. Never invent a final
name or path.For implementation or Skill changes, use offline/static verification only:
tests/word_citations suite;scripts/verify_skill.py for this Skill tree;skill-creator/scripts/quick_validate.py and packaging utility.Use references/verification-matrix.md for exact categories and stop conditions. Never report a passing run when pytest output contains failures, a timeout, or KeyboardInterrupt, even if a detached host reports exit code 0.
Report:
ZoteroRefresh, Zotero Local API, or Zotero writes were executed.A default offline run must state explicitly: Word not launched; Refresh wrapper not executed; Zotero not modified.
PApaperclipai/paperclip101k近 7 天新增 2,948 个 star
NEnexu-io/open-design101k近 7 天新增 1,126 个 star
BYbytedance/deer-flow84k近 7 天新增 368 个 star
BYbytedance/deer-flow84k近 7 天新增 368 个 star
COcoreyhaines31/marketingskills54k近 7 天新增 958 个 star
IMImbad0202/academic-research-skills52k近 7 天新增 972 个 star