Rename skill to MYwrite
This commit is contained in:
parent
061ca25b56
commit
d3619931e2
14
README.md
14
README.md
|
|
@ -1,4 +1,4 @@
|
||||||
# Zotero-Obsidian 文献工作流 Skill
|
# MYwrite
|
||||||
|
|
||||||
这是一个用于 Zotero 和 Obsidian 文献阅读流程的 Codex skill。普通使用者不需要手动运行脚本,只需要在 Codex 里用自然语言提出任务,AI 会根据 `SKILL.md` 和配套脚本完成检查、生成、批处理或维护工作。
|
这是一个用于 Zotero 和 Obsidian 文献阅读流程的 Codex skill。普通使用者不需要手动运行脚本,只需要在 Codex 里用自然语言提出任务,AI 会根据 `SKILL.md` 和配套脚本完成检查、生成、批处理或维护工作。
|
||||||
|
|
||||||
|
|
@ -36,27 +36,27 @@ config/config.local.json
|
||||||
可以直接在 Codex 里这样说:
|
可以直接在 Codex 里这样说:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
使用 zotero-obsidian-literature skill,检查我的 Zotero 文库里哪些文献还没有生成 AI 阅读笔记。
|
使用 MYwrite skill,检查我的 Zotero 文库里哪些文献还没有生成 AI 阅读笔记。
|
||||||
```
|
```
|
||||||
|
|
||||||
```text
|
```text
|
||||||
使用 zotero-obsidian-literature skill,为这个 Zotero 条目生成一条 AI 阅读笔记:SXAIQUJT。
|
使用 MYwrite skill,为这个 Zotero 条目生成一条 AI 阅读笔记:SXAIQUJT。
|
||||||
```
|
```
|
||||||
|
|
||||||
```text
|
```text
|
||||||
使用 zotero-obsidian-literature skill,给这些 Zotero 条目批量生成 AI 阅读笔记:SXAIQUJT、X7GJZ627、ZCZXGRAM。
|
使用 MYwrite skill,给这些 Zotero 条目批量生成 AI 阅读笔记:SXAIQUJT、X7GJZ627、ZCZXGRAM。
|
||||||
```
|
```
|
||||||
|
|
||||||
```text
|
```text
|
||||||
使用 zotero-obsidian-literature skill,从上次中断的位置继续生成文献笔记,跳过已经生成过的条目。
|
使用 MYwrite skill,从上次中断的位置继续生成文献笔记,跳过已经生成过的条目。
|
||||||
```
|
```
|
||||||
|
|
||||||
```text
|
```text
|
||||||
使用 zotero-obsidian-literature skill,帮我检查 Obsidian 文献阅读库的 Dataview 页面是否能正确展示 Zotero 笔记。
|
使用 MYwrite skill,帮我检查 Obsidian 文献阅读库的 Dataview 页面是否能正确展示 Zotero 笔记。
|
||||||
```
|
```
|
||||||
|
|
||||||
```text
|
```text
|
||||||
使用 zotero-obsidian-literature skill,整理我的文献阅读模板,让后续生成的 Zotero 子笔记更适合 Obsidian Dataview 使用。
|
使用 MYwrite skill,整理我的文献阅读模板,让后续生成的 Zotero 子笔记更适合 Obsidian Dataview 使用。
|
||||||
```
|
```
|
||||||
|
|
||||||
## 批处理建议
|
## 批处理建议
|
||||||
|
|
|
||||||
24
SKILL.md
24
SKILL.md
|
|
@ -1,18 +1,18 @@
|
||||||
---
|
---
|
||||||
name: zotero-obsidian-literature
|
name: MYwrite
|
||||||
description: Manage the user's Zotero-to-Obsidian literature workflow: batch-generate Zotero child-note AI literature notes from Obsidian templates, audit missing Zotero notes, clean empty Obsidian literature notes, create and refine Dataview literature dashboards, preserve Obsidian Markdown conventions, and package or back up the workflow skill without exposing API keys. Use when the user asks about Zotero AI notes, AwesomeGPT/DeepSeek literature notes, Obsidian literature-note cleanup, Dataview literature dashboards, Zotero note audit/resume, or upgrading this Zotero-Obsidian workflow.
|
description: Manage the user's Zotero-to-Obsidian literature workflow: batch-generate Zotero child-note AI literature notes from Obsidian templates, audit missing Zotero notes, clean empty Obsidian literature notes, create and refine Dataview literature dashboards, preserve Obsidian Markdown conventions, and package or back up the workflow skill without exposing API keys. Use when the user asks about MYwrite, Zotero AI notes, AwesomeGPT/DeepSeek literature notes, Obsidian literature-note cleanup, Dataview literature dashboards, Zotero note audit/resume, or upgrading this Zotero-Obsidian workflow.
|
||||||
---
|
---
|
||||||
|
|
||||||
# Zotero Obsidian Literature
|
# MYwrite
|
||||||
|
|
||||||
Use this skill for the user's Zotero + Obsidian literature workflow. It covers Zotero child-note generation, deterministic audits, Obsidian literature-note maintenance, Dataview dashboards, and safe packaging/backups.
|
Use this skill for the user's Zotero + Obsidian literature workflow. It covers Zotero child-note generation, deterministic audits, Obsidian literature-note maintenance, Dataview dashboards, and safe packaging/backups.
|
||||||
|
|
||||||
Core scripts:
|
Core scripts:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\init_private_config.py"
|
py "$env:USERPROFILE\.codex\skills\MYwrite\scripts\init_private_config.py"
|
||||||
py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-key SXAIQUJT --skip-existing
|
py "$env:USERPROFILE\.codex\skills\MYwrite\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-key SXAIQUJT --skip-existing
|
||||||
py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\audit_zotero_ai_notes.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --keys-only
|
py "$env:USERPROFILE\.codex\skills\MYwrite\scripts\audit_zotero_ai_notes.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --keys-only
|
||||||
```
|
```
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
@ -35,7 +35,7 @@ Use a local-only config for Zotero and DeepSeek/AwesomeGPT keys. The committed t
|
||||||
Initialize or update it with hidden prompts:
|
Initialize or update it with hidden prompts:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\init_private_config.py"
|
py "$env:USERPROFILE\.codex\skills\MYwrite\scripts\init_private_config.py"
|
||||||
```
|
```
|
||||||
|
|
||||||
Do not print the config contents. When checking setup, report only whether each key is present. Environment variables override the private config; the private config overrides AwesomeGPT preferences for fields that are present.
|
Do not print the config contents. When checking setup, report only whether each key is present. Environment variables override the private config; the private config overrides AwesomeGPT preferences for fields that are present.
|
||||||
|
|
@ -45,13 +45,13 @@ Do not print the config contents. When checking setup, report only whether each
|
||||||
### Single item
|
### Single item
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-key SXAIQUJT --skip-existing
|
py "$env:USERPROFILE\.codex\skills\MYwrite\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-key SXAIQUJT --skip-existing
|
||||||
```
|
```
|
||||||
|
|
||||||
### Multiple items
|
### Multiple items
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-keys "SXAIQUJT X7GJZ627 ZCZXGRAM" --limit 0 --skip-existing --fulltext-chars 4000
|
py "$env:USERPROFILE\.codex\skills\MYwrite\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-keys "SXAIQUJT X7GJZ627 ZCZXGRAM" --limit 0 --skip-existing --fulltext-chars 4000
|
||||||
```
|
```
|
||||||
|
|
||||||
### Whole library
|
### Whole library
|
||||||
|
|
@ -59,7 +59,7 @@ py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\generate_z
|
||||||
Use only after the user explicitly approves library-wide writes.
|
Use only after the user explicitly approves library-wide writes.
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --all --limit 0 --skip-existing --fulltext-chars 4000
|
py "$env:USERPROFILE\.codex\skills\MYwrite\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --all --limit 0 --skip-existing --fulltext-chars 4000
|
||||||
```
|
```
|
||||||
|
|
||||||
For long runs, prefer 20-30 item batches. If a run times out, rerun with `--skip-existing`; the script resumes by checking child notes for the source Zotero item link.
|
For long runs, prefer 20-30 item batches. If a run times out, rerun with `--skip-existing`; the script resumes by checking child notes for the source Zotero item link.
|
||||||
|
|
@ -69,8 +69,8 @@ For long runs, prefer 20-30 item batches. If a run times out, rerun with `--skip
|
||||||
Do this deterministically; do not ask DeepSeek or another LLM to compare library state.
|
Do this deterministically; do not ask DeepSeek or another LLM to compare library state.
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\audit_zotero_ai_notes.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --rebuild
|
py "$env:USERPROFILE\.codex\skills\MYwrite\scripts\audit_zotero_ai_notes.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --rebuild
|
||||||
py "$env:USERPROFILE\.codex\skills\zotero-obsidian-literature\scripts\audit_zotero_ai_notes.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --keys-only
|
py "$env:USERPROFILE\.codex\skills\MYwrite\scripts\audit_zotero_ai_notes.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --keys-only
|
||||||
```
|
```
|
||||||
|
|
||||||
The cache lives at `<vault>\00 Templater\.zotero-ai-notes-index.json`. Use `--refresh` or `--rebuild` when notes were edited outside this workflow.
|
The cache lives at `<vault>\00 Templater\.zotero-ai-notes-index.json`. Use `--refresh` or `--rebuild` when notes were edited outside this workflow.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
interface:
|
interface:
|
||||||
display_name: "Zotero Obsidian Literature"
|
display_name: "MYwrite"
|
||||||
short_description: "Manage Zotero AI notes and Obsidian literature dashboards"
|
short_description: "Manage Zotero AI notes and Obsidian literature dashboards"
|
||||||
default_prompt: "Use $zotero-obsidian-literature to manage my Zotero AI notes, Obsidian literature notes, and Dataview dashboards."
|
default_prompt: "Use $MYwrite to manage my Zotero AI notes, Obsidian literature notes, and Dataview dashboards."
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ def write_private_config(path: Path, data: dict) -> None:
|
||||||
|
|
||||||
|
|
||||||
def main() -> int:
|
def main() -> int:
|
||||||
parser = argparse.ArgumentParser(description="Create private local config for zotero-obsidian-literature.")
|
parser = argparse.ArgumentParser(description="Create private local config for MYwrite.")
|
||||||
parser.add_argument("--config", default=str(DEFAULT_CONFIG))
|
parser.add_argument("--config", default=str(DEFAULT_CONFIG))
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue