From ziki
This skill should be used to process pending files in the Ziki vault `_inbox/` directory — classify, assess, enrich with research, re-verify against ground truth, and promote quality content into `wiki/` pages. Invoked by the `/ziki-inbox` command and by the scheduled hourly inbox-processing agent. Fully autonomous; no human review.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ziki:ziki-inboxThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Process all pending files in `_inbox/` of the Ziki vault. This is a fully
Process all pending files in _inbox/ of the Ziki vault. This is a fully
autonomous operation. No human review is needed.
This skill is used both explicitly (user request or /ziki-inbox command) and
autonomously (the hourly scheduled inbox-processing agent described in
README.md).
You MUST read ~/.claude/ziki.md FIRST, before doing anything else. This file
contains the vault repository coordinates (YAML frontmatter) and the exact tools or
commands to use for reading and writing vault files (markdown body).
Do NOT write to the local filesystem. The vault is a remote git repository. Even
if you see a local checkout of the vault (e.g. ~/Documents/ziki/), do not use it.
All reads and writes go through the remote access method described in ~/.claude/ziki.md.
If ~/.claude/ziki.md does not exist, stop and tell the user to run /ziki-setup.
Before processing, orient yourself by reading these files from the vault:
AGENTS.md — vault schema, page format, hard rules, provenance markerswiki/_index.md — existing wiki pages and their topics.manifest.json — which _inbox/ files are already ingested (skip these)_meta/taxonomy.md — canonical tag vocabularyThen list the _inbox/ directory to discover pending files.
For each file in _inbox/ not present in .manifest.json:
Determine the file type:
Reject the file if ANY of the following apply:
To reject: set status: rejected and rejection_reason: <one line> in frontmatter.
Do not delete rejected files. Move on.
For files that pass assessment:
wiki/ for related pages (read directory listing, then relevant files)ground_truth: field — the ziki-add skill is
supposed to have captured the primary sources at filing time. Read each
_refs/ snapshot listed there and treat them as the authoritative baseline.ground_truth: is
empty or incomplete, find additional authoritative URLs (official docs,
specifications, primary sources) and cache substantial ones to _refs/.
Missing ground truth on a factual draft is a quality issue — note it in
wiki/_log.md so the ziki-add pathway can be improved.Before creating or updating any wiki page, re-verify the claims you are about to
write against the page's ground_truth: sources:
ground_truth: URLs, fetch them (or read from
_refs/ if cached) and compare the incoming content against them.^[ambiguous] and note the discrepancy.^[stale] on claims that depend on it.This prevents error propagation: each write is anchored to authoritative sources, not just to other wiki pages or inbox drafts.
Create or update wiki/ pages following this format:
---
title: "<Page Title>"
type: concept | entity | comparison | synthesis | reference
tags: [tag1, tag2]
sources: [_inbox/foo.md]
ground_truth: [https://docs.example.com/topic, _refs/example-com--topic.md]
created: YYYY-MM-DD
updated: YYYY-MM-DD
---
# Page Title
Short definition or TL;DR.
> [!abstract]
> Expanded TL;DR. 2-4 sentences.
## Body
Content with [[wikilinks]] to related pages.
## Sources
- [[_inbox/foo.md]]
## See also
- [[Related Page]]
Frontmatter fields:
sources: — where content came from (inbox files, other wiki pages)ground_truth: — authoritative references to verify claims against. URLs and/or
_refs/ paths. These are the "source of truth" for the page's claims.Minimum bar for a promoted page:
ground_truth: (at least one authoritative URL)> [!abstract] TL;DR callout[[wikilink]] to an existing wiki page^[inferred]Raw sources may produce multiple wiki pages. Merge into existing pages where appropriate. Prefer updating an existing page over creating a near-duplicate.
Draft pages should be refined and expanded to full wiki quality: complete frontmatter, verified facts, wikilinks, provenance markers.
_refs/ caching conventions (naming, frontmatter, when-to-cache, when-not-to,
web/repo-file/session origin types) are defined in the ziki-add skill under
"Reference snapshots (_refs/)". Follow them here too — do not invent a
different scheme.
At this stage you are only responsible for enrichment-time snapshots: any
extra ground-truth sources you discovered during research (step 3) that were
not already cached by the original ziki-add call. The draft's existing
_refs/ snapshots should be preserved as-is, not re-fetched or renamed.
Before creating a new snapshot:
_refs/ and reuse an existing file if it covers the same sourcemain/HEADWhen a new _refs/ snapshot is created, add its path to the wiki page's
ground_truth: field alongside any canonical URL.
After promoting an inbox file, you may:
status: promoted and add promoted_to: [wiki/page.md]The inbox is a mutable staging area. Do not treat it as an archive.
Never delete _refs/ snapshots as part of inbox cleanup. Once a snapshot
has been referenced by a promoted wiki page's ground_truth: field (or by any
remaining inbox file), it is a live dependency of the wiki and must be
preserved. The rule is simple: _inbox/ is staging; _refs/ is permanent
ground-truth infrastructure. Removing a _refs/ file orphans every page that
cites it and breaks the re-verification chain on all future inbox passes.
A _refs/ snapshot may be removed only if it has zero inbound references
from both wiki/ and _inbox/. Do not perform that sweep as part of routine
inbox processing; leave stale-refs cleanup to a dedicated future pass.
After processing all files, prepare updates to:
.manifest.json: add an entry for each processed file with:
sha256 — content hash of the inbox fileingested — date promoted (YYYY-MM-DD)pages — array of wiki pages created or updated from this filerefs — array of _refs/ paths the inbox file contributed or relied on
(its own ground_truth: entries plus any snapshots added during step 6
enrichment). This makes orphan detection tractable: a future pass can
compute {all _refs/} − {refs referenced by any manifest entry or any live inbox file} to find stale snapshots.wiki/_index.md: add new promoted pages to the map under the appropriate
section. This file is not just for humans — it is the recall surface that
the ziki-recall skill and the SessionStart hook load to make wiki content
discoverable from a fresh session. Treat it with care:
wiki/_index-nats.md) and keep wiki/_index.md as a terse table of
contents — the SessionStart hook truncates anything larger than 6KBwiki/_index.md drift out of sync with wiki/; a page that
exists but is not indexed is effectively invisible to future sessionswiki/_log.md: append a single dated entry for this inbox pass recording
what was processed. Format:
## YYYY-MM-DD — inbox pass
- Promoted: `_inbox/foo.md` → `wiki/foo.md` (N refs)
- Rejected: `_inbox/bar.md` (reason: too thin)
- Quality issues: `_inbox/baz.md` arrived with empty `ground_truth:`
(supplemented during enrichment) — feedback for `ziki-add` pathway
This log is append-only and gives a running audit trail of what the wiki
ingested, what was rejected, and where the upstream ziki-add capture
pipeline needs improvement. Keep entries terse — one bullet per file.
Write all changes to the vault in a single commit (follow the write instructions from
~/.claude/ziki.md):
wiki/ pages_refs/ snapshots (never delete existing ones)_inbox/ files.manifest.jsonwiki/_index.mdwiki/_log.mdCommit message: wiki: process inbox #N — X promoted, Y rejected
#N is the inbox-pass sequence number. Determine it by counting prior commits
on the vault branch whose message matches ^wiki: process inbox and adding 1.
The first pass is #1. Do not use the date here — git already records it in
the commit metadata.
~/Documents/ziki/ or any other local path_refs/ snapshot during routine inbox processing — refs
are permanent wiki dependencies, not inbox stagingground_truth: with at least one authoritative URL per wiki pagerefs in the .manifest.json entry so
orphan detection stays tractablewiki/_log.md per inbox pass^[inferred], ^[ambiguous], ^[stale]npx claudepluginhub mikluko/ziki-plugin --plugin zikiFetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.