arkon-edit
Propose or directly apply edits to Arkon wiki pages, including proposing brand new pages. Contributors create drafts for review;…
Review, approve, request changes on, or reject pending wiki edit drafts in Arkon. Requires editor or admin role. Triggers on: review drafts, pending reviews, check draft queue, approve draft, reject draft, request changes, send draft back, review wiki changes.
$ npx -y skills add nduckmink/arkon --skill arkon-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/arkon-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Review, approve, request changes on, or reject pending wiki edit drafts in Arkon. Requires editor or admin role. Triggers on: review drafts, pending reviews, check draft queue, approve draft, reject draft, request changes, send draft back, review wiki changes.
name: arkon-review description: "Review, approve, request changes on, or reject pending wiki edit drafts in Arkon. Requires editor or admin role. Triggers on: review drafts, pending reviews, check draft queue, approve draft, reject draft, request changes, send draft back, review wiki changes." allowed-tools: mcp__arkon__list_pending_drafts mcp__arkon__review_draft mcp__arkon__approve_draft mcp__arkon__reject_draft mcp__arkon__request_changes_on_draft mcp__arkon__read_wiki_page
Editor/admin only. If `list_pending_drafts` returns a permission error, you don't have the required role.
---
list_pending_drafts()
Returns: draft ID, page slug, author, timestamp, note. Filter by workspace if needed:
list_pending_drafts(workspace_id="<uuid>")
review_draft(draft_id)
Returns side-by-side: **proposed content** and **current page content (vN)**. Read both carefully.
You may also call `read_wiki_page(slug)` independently for fuller backlink context.
**Approve as-is:**
approve_draft(draft_id, reviewer_note="optional feedback to author")
**Approve with your own edits** (you want to tweak before publishing):
approve_draft(draft_id, edited_content_md="...", reviewer_note="approved with minor edits")
**Request changes** (the draft is on the right track but needs fixes; preferred over reject when iteration is realistic):
request_changes_on_draft(draft_id, reviewer_note="20+ char explanation — what to change and why")
The draft moves to `needs_revision`; author can `resubmit_draft` after addressing the note. The original draft stays — `revision_round` increments each round and prior submissions are snapshotted for diffing.
**Reject** (only when the proposal is fundamentally wrong — out of scope, factually broken, or duplicates an existing page):
reject_draft(draft_id, reviewer_note="clear reason why — required")
`reviewer_note` is **required** for both reject and request_changes — the author needs to understand what to fix. **Prefer request_changes over reject** unless the proposal cannot be salvaged.
**Conflict on approve**: if the page advanced past the draft's `base_version` while you were reviewing, `approve_draft` returns a conflict error. Re-call with `allow_conflict=true` to overwrite, or supply `edited_content_md` after merging the latest content yourself.
**Self-approve is blocked**: the server rejects approve attempts where the reviewer is also the author. Ask another editor.
---
When the draft was filed via `propose_wiki_create`, it has `draft_kind: "create"` and no page exists yet — approval materialises a new page using the contributor's suggested metadata. The reviewer may override before commit via the REST endpoint body (in the portal UI):
Why adjust metadata? RBAC visibility is driven by `knowledge_type_slugs`; slug shapes the URL forever; page_type affects how the page renders in the index. Contributors are often not aware of the conventions — quietly fixing these at approve is cheaper than asking them to resubmit.
If the slug already exists in the target scope, approval returns `409 slug_conflict` — override `final_slug` or send the draft back with a `request_changes` note explaining why.
---
Every draft carries an AI verdict (`ai_check_status` plus a list of checks):
drift, scope-fit doubts. Read them; some are noise, some matter.
carefully. The contributor may have meant to include it (look for a `<!-- pii-allow: ... -->` marker above the match). If not, that's a request_changes situation.
The AI never blocks approval — it's a checklist, not a gate. Trust your own judgment.
---
Before approving, verify:
---
For multiple drafts:
1. `list_pending_drafts()` — get the full queue. 2. Group by page type or workspace if useful. 3. `review_draft` each one in order. 4. Approve/reject individually — do not bulk approve without reading each.
Always confirm with the user before approving a batch of more than 3 drafts in one go.
---
Arkon is a self-hosted, enterprise-grade knowledge management layer that bridges organizational data and AI clients.
Propose or directly apply edits to Arkon wiki pages, including proposing brand new pages. Contributors create drafts for review;…
Answer questions using the Arkon knowledge base. Searches wiki first, drills into raw sources only when needed. Supports quick,…