بنقرة واحدة
wiki
The wiki CLI and the node's two knowledge bases -- project wiki and memory.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
The wiki CLI and the node's two knowledge bases -- project wiki and memory.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
How to use radio well -- the inter-node live messaging system.
Hierarchical agent loops with recursive self-organization.
Spawn and manage child nodes -- recursive autonomous agent loops.
How to maintain node memory well -- the node's persistent knowledge store.
| name | wiki |
| description | The wiki CLI and the node's two knowledge bases -- project wiki and memory. |
A wiki is an indexed folder tree of _index.md files. A node works with two:
$WIKI_DIR) -- shared across nodes; per-branch, reaching
others only through merges (use fractal radio for live coordination). Holds
architecture, conventions, and patterns; contribute durable project-wide
knowledge here.$MEMORY_DIR) -- this node's private knowledge base. See the
memory skill for how to maintain it.Todo lists follow the same split: a private working checklist lives in memory; a task list other nodes should see and track lives in the project wiki. Either way it is living state -- current open items, pruned as they complete -- never an append-only log.
Run wiki --help and wiki <command> --help for the CLI (init, update, lint,
map, search, read). Always pass --path ($WIKI_DIR or $MEMORY_DIR) -- a
bare command resolves the enclosing wiki by walking up, else {cwd}/wiki, which
from the node's cwd is the project wiki at best and never memory, so an omitted
--path silently targets the wrong wiki or errors. Run
wiki update --path=<dir> after adding, moving, or deleting pages;
wiki lint --path=<dir> validates structure.
Name pages and folders in ascii snake_case (command_core, not command-core)
-- both wikis enforce identifier-safe names (the project wiki's mirror the
source modules they document), so wiki lint rejects hyphens and spaces.
wiki update regenerates derived state: each page's entry line in _index.md
(name and description) is pulled from the page's own frontmatter, so fix a
desc: on the page and rerun update -- hand edits to an index line are
overwritten by the next update, and each page's H1 is rewritten to its name
unless an authored frontmatter title: supplies the heading, which update keeps
and renders as the H1 (index entry lines still show the name). wiki lint is
regenerate-and-compare: it prints the diff wiki update would apply plus any
real defects, and separates issues (must fix) from advisory notes. Work the loop
-- edit pages, wiki update, wiki lint -- until clean (clean = lint exits 0;
scripts branch on the exit code, not the prose summary); lint validates
structure, not content truth, so verify facts against your sources yourself.
Cross-reference aggressively -- the links between pages are the wiki's primary
value -- but link only to pages that already exist. Sibling nodes build
their pages in parallel, so a page you would link to may not exist yet: defer
that forward link rather than emit a wikilink to a not-yet-created page. Stale
sibling links are an expected transient, not a failure -- wiki lint reports a
stale link in index or page prose as an advisory note (exit 0), so never stall
an iteration chasing them. Broken links in the generated index link block -- the
rows wiki update maintains -- are the exception: each is a hard issue, fixed
by repairing the target or removing the row with wiki update --prune. The
parent reconciles stale sibling links when children merge up: indexes
refresh mechanically at commit and merge, so its integration job is repairing or
pruning what lint reports, not rerunning wiki update -- plus refreshing any
navigation or status tables it authored (lint cannot see a stale "in flight" row
for a page that has since merged).
Wikilinks also stay inside the wiki you are writing in. A [[...]] link targets
another page in the same wiki; anything outside it -- source files, configs, or
the other knowledge base (project wiki vs. memory) -- is referenced in plain
text or backticks, never linked. wiki lint notes out-of-wiki wikilinks as
stale.
Lay the wiki out as topical folders from the start: each domain area gets a
folder with its own _index.md, and pages join the folder that owns their
subsystem. A flat root is fine below ~6-8 pages; planning more, create the
folders before the pages -- the directory tree is what makes a wiki browsable,
searchable, and navigable, and it should mirror the domain the way a good module
layout mirrors a design. A shape to aim for:
wiki/
_index.md
<subsystem>/
_index.md
<topic>.md
...
<subsystem>/
_index.md
<sub-area>/
_index.md
<topic>.md
...
<sub-area>/
...
<topic>.md
...
...
Nest deeper as areas grow: when a folder accumulates pages spanning more than
one concern, split them into sub-folders, each with its own _index.md. Every
index is the table of contents for its level, so structured nesting is what
keeps the wiki navigable at any size -- a reader answers "where does this live?"
by descending a few links instead of scanning one long list, and related pages
sit beside each other where cross-links suggest themselves.
A grown flat wiki shards into folders the same way after the fact: move related
pages into a subfolder and rerun wiki update -- indexes regenerate around the
new layout, and inbound links the move broke surface as stale-link notes to
repair. Before dumping a big tree, preflight with wiki map --stat (a one-line
size summary of what the same flags would print) and bound the dump with
--depth and --desc-limit=<n> -- descriptions print untruncated by default.