一键导入
wiki-lint
Load for wiki.lint. Audits the wiki for orphans, broken links, schema drift, taxonomy candidates, and stale notes; writes a dated health report.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Load for wiki.lint. Audits the wiki for orphans, broken links, schema drift, taxonomy candidates, and stale notes; writes a dated health report.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Load when reading or writing project notes, weekly/monthly summaries, or journal/agent.md. Owns GET/PATCH for context files except today.md and roadmap.md, which use their dedicated skills.
Load when the user wants an ongoing task on a fixed cadence (every morning, each Monday, hourly) to run autonomously as its own named recurring Agent. Creates it via POST /api/agents. Not for one-time reminders (use schedule) or app-data background fetches (use managed-tasks).
Load to manage the durable source library (user-sent PDFs/PPTX/docs) — list unfiled sources, file them as knowledge/sources/ cards, promote images, or send a stored source back. SKIP for delivering files you generated this turn (attach) or general vault edits (context).
Hand a long-running or open-ended task (deep research, multi-repo CI audit, monitor X over time, bulk compile) to /api/background-task. Compose a self-contained brief, set the notification policy, POST, ack, end the turn. Read GET /:id for follow-up detail.
Read-only Task Board — list everything in motion (recurring DMs, Agents, app-fetch, automation triggers, reminders, background/browser work) via GET /api/tasks, and preview a delete's blast radius via GET /api/tasks/impact. For writes use the `task` skill.
Hand open-ended browser requests (post a tweet, fill a contact form, check an order status, …) to /api/browser-task. Relay sub-agent clarifications, POST /clarify with the reply, /cancel on stop.
| name | wiki-lint |
| description | Load for wiki.lint. Audits the wiki for orphans, broken links, schema drift, taxonomy candidates, and stale notes; writes a dated health report. |
| allowed-tools | ["Bash(curl *)"] |
You run under process key wiki.lint.
Use the Wiki API to inventory the workspace and produce one health report. Never write outside the Wiki API and never modify content layers (10_raw/, 20_wiki/, 30_outputs/); the only meta surface you may write is the health report and the taxonomy candidates section.
Every request — reads and writes alike — must include -H 'x-process-key: wiki.lint'. See wiki-vault-rules for the curl-shim contract, body-quoting, and the full error-code set. Write/Edit are stripped — only Bash(curl *) / Bash(jq *) work.
Read the full index and recent operational history:
GET /api/wiki/{{workspace_name}}/index
GET /api/wiki/{{workspace_name}}/files/log.md
GET /api/wiki/{{workspace_name}}/files/90_meta/taxonomy.md
GET /api/wiki/{{workspace_name}}/files/90_meta/schemas/raw.md
GET /api/wiki/{{workspace_name}}/files/90_meta/schemas/wiki.md
GET /api/wiki/{{workspace_name}}/files/90_meta/schemas/output.md
Sample (do not exhaustively read) 10_raw/ and 20_wiki/ notes that look anomalous from the index alone — large size deltas, unusually old mtime, slugs that don't appear anywhere in _index.md.
Filter the /index files[] array with jq (mtime / path / slug); Bash(find/ls/cat/grep) are denied — enumerate via /index, not disk.
20_wiki/<slug>.md) that no other wiki note links to.[[slug]] references whose target file does not exist.90_meta/schemas/.90_meta/taxonomy.md).90_meta/taxonomy.md.20_wiki/_index.md listing entries that do not exist on disk, or wiki notes missing from the index.Write exactly one health report:
curl http://localhost:8321/api/wiki/{{workspace_name}}/files/90_meta/health/<YYYY-MM-DD>.md \
-X POST \
-H 'content-type: application/json' \
-H 'x-process-key: wiki.lint' \
-d @- <<'JSON'
{"content":"# Wiki Health — <YYYY-MM-DD>\n\n## Summary\n..."}
JSON
Use today's date in {{language}}-neutral ISO form. The report must have these sections in order:
# Wiki Health — <YYYY-MM-DD>
## Summary
- one-line tally per check (e.g. "3 orphans, 1 broken link, 0 stale notes")
## Action items
- bullet list, each item names the affected file and the proposed fix
## Orphans
## Broken wikilinks
## Missing frontmatter
## Stale content
## Term inconsistencies
## Taxonomy candidates
## Index drift
Empty sections must still appear with _(none)_ as the body so a downstream diff can detect the absence.
If — and only if — there are taxonomy candidates, append (mode: "append") a # Candidates section to 90_meta/taxonomy.md:
curl http://localhost:8321/api/wiki/{{workspace_name}}/files/90_meta/taxonomy.md \
-X PATCH \
-H 'content-type: application/json' \
-H 'x-process-key: wiki.lint' \
-d '{"mode":"append","content":"# Candidates\n- <canonical-slug> — <rationale>\n"}'
Each candidate line: - <canonical-slug> — <one-sentence rationale, references to N raw / M wiki>. The owner reviews this section before any promotion happens; you must not move candidates into the main ## Topics section yourself.
Append a concise log.md entry summarising the report ("wiki.lint: 3 orphans, 1 broken link, 2 taxonomy candidates"). If a check could not run (e.g. unreadable file), call it out explicitly in the report's ## Summary section rather than silently dropping it.
End with one line the daemon forwards to the originating channel: Lint complete — <Summary tally>. Report: 90_meta/health/<YYYY-MM-DD>.md. On hard failure (no report written): Lint failed — <reason>. Do not paste the report.