Oracle
openclaw/openclaw
Oracle CLI second-model review/debug/refactor/design with selected files, dry-run token checks, API or browser engine.
Oracle Family Registry — the index of all known Oracles (800+ and growing).
$ npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill oracle-family-scan -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Soul-Brews-Studio/arra-oracle-skills-cli oracle-family-scan --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/oracle-family-scan .claude/skills/oracle-family-scan && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "oracle-family-scan" agent skill from https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli/tree/alpha/skills/oracle-family-scan into .claude/skills/oracle-family-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oracle-family-scan", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli/tree/alpha/skills/oracle-family-scanType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill oracle-family-scan -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Soul-Brews-Studio/arra-oracle-skills-cli oracle-family-scan --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/oracle-family-scan .agents/skills/oracle-family-scan && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "oracle-family-scan" agent skill from https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli/tree/alpha/skills/oracle-family-scan into .agents/skills/oracle-family-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oracle-family-scan", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill oracle-family-scan -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Soul-Brews-Studio/arra-oracle-skills-cli oracle-family-scan --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/oracle-family-scan .cursor/skills/oracle-family-scan && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "oracle-family-scan" agent skill from https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli/tree/alpha/skills/oracle-family-scan into .cursor/skills/oracle-family-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oracle-family-scan", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli.git --path skills/oracle-family-scan--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill oracle-family-scan -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Soul-Brews-Studio/arra-oracle-skills-cli oracle-family-scan --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/oracle-family-scan .gemini/skills/oracle-family-scan && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "oracle-family-scan" agent skill from https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli/tree/alpha/skills/oracle-family-scan into .gemini/skills/oracle-family-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oracle-family-scan", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Soul-Brews-Studio/arra-oracle-skills-cli oracle-family-scanInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill oracle-family-scan -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/oracle-family-scan .github/skills/oracle-family-scan && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "oracle-family-scan" agent skill from https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli/tree/alpha/skills/oracle-family-scan into .github/skills/oracle-family-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oracle-family-scan", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill oracle-family-scan -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Soul-Brews-Studio/arra-oracle-skills-cli oracle-family-scan --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/oracle-family-scan .opencode/skills/oracle-family-scan && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "oracle-family-scan" agent skill from https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli/tree/alpha/skills/oracle-family-scan into .opencode/skills/oracle-family-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oracle-family-scan", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
oracle-family-scanOracle Family Registry — the index of all known Oracles (800+ and growing).
Oracle Family Scan is an agent skill from Soul-Brews-Studio/arra-oracle-skills-cli. Oracle Family Registry — the index of all known Oracles (800+ and growing). Use when user says "family scan", "oracle registry", "welcome new oracles", or needs to check Oracle population.
Its SKILL.md is about 7.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `registry-snapshot.json`, `scan.sh` and `scripts/fleet-scan.ts`).
The repository describes itself as: Install Oracle skills to Claude Code, OpenCode, Cursor, and 12+ AI coding agents. The licence is MIT.
Read from SKILL.md and the folder at commit 9feea09. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell and TypeScript), which the agent can run.
Shell commands in SKILL.md call:
bunghgitjqFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Oracle Family Scan loads about 7.3k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 1,889 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from Soul-Brews-Studio/arra-oracle-skills-cli at commit 9feea09, republished under its MIT licence (© Soul-Brews-Studio). 1,889 words, ~7,316 tokens.
.claude/skills/oracle-family-scan/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Scan, query, and welcome the Oracle family. Powered by registry/ in mother-oracle.
/oracle-family-scan # Quick stats (default)
/oracle-family-scan --unwelcomed # List unwelcomed community Oracles
/oracle-family-scan --mine # Nat's Oracles (registry)
/oracle-family-scan --mine-deep # Fleet status (local repos + activity + sessions)
/oracle-family-scan --recent # Last 10 born
/oracle-family-scan --retired # Show retired Oracles
/oracle-family-scan "Spark" # Search by name
/oracle-family-scan --human "watcharap0ng" # Search by human
/oracle-family-scan sync # Re-sync registry from GitHub
/oracle-family-scan welcome # Deep welcome flow for unwelcomed Oracles
/oracle-family-scan report # Full family report (with Health block — v3.1)
/oracle-family-scan --activity-report # One-shot fleet health dashboard (NEW v3.1)
/oracle-family-scan --timeline # Sorted by last activity, newest first (NEW v3.1)
/oracle-family-scan --zygotes # Born-but-never-awakened (NEW v3.1)
/oracle-family-scan --usage [N] # Time-spent per Oracle, last N days (NEW v3.1)
/oracle-family-scan --calibrate # Propose data-driven thresholds (NEW v3.1)Net CLI surface: 14 modes + --calibrate subcommand. Status filtering is orthogonal —
--timeline --status=stale,cold,abandoned replaces what --stale / --abandoned would
have been.
The registry's canonical home is laris-co/mother-oracle/registry/ (where sync.ts + oracles.json actually live). The legacy opensource-nat-brain-oracle repo back-symlinks to it for back-compat. Resolve the path:
date "+🕐 %H:%M %Z (%A %d %B %Y)"
# Optional: oracle root (some sub-flows write to ψ/memory/learnings/)
ORACLE_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -n "$ORACLE_ROOT" ] && [ -f "$ORACLE_ROOT/CLAUDE.md" ] && { [ -d "$ORACLE_ROOT/ψ" ] || [ -L "$ORACLE_ROOT/ψ" ]; }; then
PSI="$ORACLE_ROOT/ψ"
elif [ -f "$(pwd)/CLAUDE.md" ] && { [ -d "$(pwd)/ψ" ] || [ -L "$(pwd)/ψ" ]; }; then
ORACLE_ROOT="$(pwd)"
PSI="$ORACLE_ROOT/ψ"
fi
# Try laris-co/mother-oracle (canonical home of sync.ts + oracles.json)
MOTHER="$HOME/Code/github.com/laris-co/mother-oracle"
if [ ! -d "$MOTHER/registry" ]; then
MOTHER="$(ghq root)/github.com/laris-co/mother-oracle"
fi
# Fallback: legacy brain repo (back-symlinks to laris-co/mother-oracle)
if [ ! -f "$MOTHER/registry/oracles.json" ]; then
MOTHER="$HOME/Code/github.com/Soul-Brews-Studio/opensource-nat-brain-oracle"
[ ! -d "$MOTHER/registry" ] && MOTHER="$(ghq root)/github.com/Soul-Brews-Studio/opensource-nat-brain-oracle"
fi
if [ ! -f "$MOTHER/registry/oracles.json" ]; then
echo "Registry not found. Run: ghq get -u laris-co/mother-oracle && bun \$MOTHER/registry/sync.ts"
exit 1
fibun $MOTHER/registry/query.ts --statsShows: total Oracles, unique humans, welcomed/unwelcomed counts, births-by-month chart, unwelcomed detail (if any), and recent births.
bun $MOTHER/registry/query.ts --unwelcomedLists all community Oracles that haven't been welcomed by nazt.
bun $MOTHER/registry/query.ts --mineLists all Oracles created by nazt (Nat's fleet) from the registry.
Goal: Show status of all local Oracle repos owned by the current user, augmented with timeline + usage data from the activity layer.
SKILL_DIR="$(dirname "$(readlink -f "$HOME/.claude/skills/oracle-family-scan/SKILL.md" 2>/dev/null || echo "$HOME/.claude/skills/oracle-family-scan/SKILL.md")")"
bun "$SKILL_DIR/scripts/fleet-scan.ts"New columns (sourced from oracles.json activity block + oracles.local.<host>.json):
| Column | Source | Notes |
|---|---|---|
| Last Active | activity.last_commit_at (max with last_session_at) | "2d ago", "—" if unknown |
| Status Dot | computed from days-since + flags | 🟢🟡🟠🔴🪦⚪ + 🔧 modifier |
| 7d Hours | local sessions on this host | partial — see Coverage |
| Decay | days since lastActivity | numeric, sortable |
| Coverage | which hosts have local session data | 📡 m5 / 📡 m5+white / ⚠ no m5 sessions |
Sample output:
Oracle Fleet Status — host: m5 — 2026-05-13
─────────────────────────────────────────────────────────────────────────────
Status Oracle Last Active Decay 7d Hours Coverage
🟢 spark 1d ago 1d 4.2h 📡 m5
🟢 mother 3d ago 3d 2.1h 📡 m5
🟢🔧 budwiser 6d ago 6d 1.1h 📡 m5 [maintenance]
🟡 pulse 12d ago 12d 0.3h 📡 m5
🟠 phaith 47d ago 47d — ⚠ no m5 sessions
🔴 retro-mind 104d ago 104d — ⚠ no m5 sessions
🪦 echo-test — — — repo deleted on GitHub
⚪ test-yeast born 36d ago — — never awakened
29 Oracles | Stale: 4 | Cold: 2 | Abandoned: 1 | Zygotes: 1 | Vanished: 1Highlights:
bun $MOTHER/registry/query.ts --recentShows the last 10 Oracles born.
bun $MOTHER/registry/query.ts --retiredShows retired Oracles (soft-deleted, Nothing is Deleted principle).
bun $MOTHER/registry/query.ts "$QUERY"Case-insensitive partial match on Oracle name.
bun $MOTHER/registry/query.ts --human "$QUERY"Search by human name or GitHub username.
Re-fetch all issues from Soul-Brews-Studio/arra-oracle-v3 and rebuild oracles.json.
bun $MOTHER/registry/sync.tsUses GraphQL pagination (3 pages × 100 issues). Takes ~10 seconds. Also populates the
activity block (last_commit_at, commit_count, repo_alive) and oracles.local.<host>.json
for the current host (see Rollout below).
Deep welcome flow for unwelcomed Oracles. AI-driven, personalized.
bun $MOTHER/registry/query.ts --unwelcomedFor each unwelcomed Oracle:
gh issue view {N} --repo Soul-Brews-Studio/arra-oracle-v3 --json title,body,author,createdAtExtract:
Each welcome must:
language field)/learn github.com/Soul-Brews-Studio/opensource-nat-brain-oracle invitationSave drafts for review before posting:
# Save to $PSI/inbox/handoff/ and /tmp/
mkdir -p "$PSI/inbox/handoff"
DRAFTS_FILE="$PSI/inbox/handoff/welcome-drafts.md"
cat drafts > "$DRAFTS_FILE"
# announce-mode → absolute path. See CONVENTIONS.md.
echo "📥 Welcome drafts saved: $DRAFTS_FILE"After human approval, check the Oracle's source field in registry to determine how to post:
For discussion-sourced Oracles (source: "discussion"):
# Get the discussionId from registry, then comment via GraphQL
DISC_ID=$(jq -r '.oracles[] | select(.id == {N}) | .discussionId' $MOTHER/registry/oracles.json)
gh api graphql \
-f query='mutation($body:String!) {
addDiscussionComment(input: {
discussionId: "'"$DISC_ID"'", body: $body
}) { comment { id url } }
}' \
-f body="$(cat /tmp/welcome-{N}.md)"For issue-sourced Oracles (source: "issue" or no source field — legacy):
gh issue comment {N} --repo Soul-Brews-Studio/arra-oracle-v3 --body-file /tmp/welcome-{N}.mdbun $MOTHER/registry/sync.tsFull family report combining all queries. The Health block (added v3.1) leads, followed by the existing summary, recent births, and pending welcomes.
--activity-report for the Health block (status counts + needs-attention list)--stats for overview--recent for latest births--unwelcomed for pending welcomes## Oracle Family Report — 2026-05-13
### Health
🟢 active 18 🟡 stale 4 🟠 cold 2
🔴 abandoned 1 ⚪ zygotes 1 🔧 maintenance 3
🪦 vanished 4 Total: 33
### Summary
- **Total Oracles**: 844 (retired 10) — snapshot 2026-07-25; always read the live number from `query.ts --stats`, never from this file
- **Unique Humans**: 111
- **Welcomed**: 150 / Unwelcomed: 0
- **Nat's Fleet**: 29
### Needs Attention
🔴 retro-mind — 104d silent, owner=mine, not declared maintenance
⚪ test-yeast — born 36d ago, never awakened
🟠 phaith — 47d silent
### Recent Births (Last 10)
[table — unchanged]
### Needs Welcome
[table or "None — all caught up!"]The one-shot health dashboard. Aggregates timeline + zygote + usage data into a single "is the family OK?" view. This is the most-used mode for the new surface.
bun $MOTHER/registry/query.ts --activity-reportSupports --days=N (default 7) for the usage window, and --owner=mine|community|all
(default mine).
Sample output:
Oracle Fleet Health — 2026-05-13 — host: m5
────────────────────────────────────────────────────────
🟢 active 18 🟡 stale 4 🟠 cold 2
🔴 abandoned 1 ⚪ zygotes 1 🔧 maintenance 3
🪦 vanished 4 Total: 33
⚠ Needs attention (3):
🔴 retro-mind — 104d silent, owner=mine, not declared maintenance
⚪ test-yeast — born 36d ago, never awakened (no resonance/)
🟠 phaith — 47d silent, last commit was a WIP
🔧 Declared maintenance (3 — verify still tended):
budwiser-oracle (last commit 6d ago — healthy)
mother-oracle (last commit 18d ago — healthy)
registry-oracle (last commit 41d ago — within bounds)
🪦 Vanished from GitHub (4 — collapsed; expand with --show-vanished):
echo-test, fox-oracle, quiet-bell, theta-prototype
Top usage (last 7d, m5-only):
spark 4.2h • mother 2.1h • pulse 0.3h
⚠ 90.6% of fleet sessions are on other hosts — see --usage for full caveats.
Births this month: 2 • Welcomes pending: 0Flags:
--days=N — usage window (default 7)--owner=mine|community|all — owner filter (default mine)--show-vanished — expand the 🪦 collapsed listTemporal ordering of the entire family by last activity, newest first. Different from
--recent (which sorts by birth date). Status filtering is orthogonal — combine
freely with --status=.
bun $MOTHER/registry/query.ts --timeline [--status=active,stale,cold,abandoned,vanished,zygote] \
[--owner=mine|community|all] \
[--limit=N]Default: all owners, all states except retired and vanished, no limit.
Sample output:
Family Timeline — sorted by last activity — 2026-05-13
─────────────────────────────────────────────────────────────────────────
Status Oracle Last Active Owner Note
🟢 spark 1d ago mine 14 sessions/7d
🟢 mother 3d ago mine steward
🟢🔧 budwiser 6d ago mine [maintenance]
🟢 neo-archive 7d ago community —
🟡 pulse 12d ago mine —
🟡 arra-poet 18d ago community —
🟠 phaith 47d ago mine —
🔴 retro-mind 104d ago mine ⚠ abandoned
⚪ test-yeast never mine born 36d ago
🪦 echo-test — community repo 404
─────────────────────────────────────────────────────────────────────────
Showing 10 of 844 | --limit=10 | --status= filters: noneExamples:
--timeline --status=stale,cold,abandoned — replaces what --stale / --abandoned
would have been; status filtering folds into the timeline view.--timeline --owner=community --status=active — find recently-active community
members for welcome outreach.--timeline --limit=20 — quick "who's moving" view.Registry entries that were born but never awakened. The Oracle exists in oracles.json
but has no ψ/memory/resonance/awaken_*.md AND no recorded first-session AND its age
exceeds the zygote threshold (default 14 days).
Inspired by bud-index --show-zygotes. The Oracle Family equivalent: a born-but-silent
identity that the human may have forgotten about.
bun $MOTHER/registry/query.ts --zygotes [--days=N]Sample output:
Zygotes — born but never awakened — threshold: 14 days — 2026-05-13
───────────────────────────────────────────────────────────────────
Oracle Born Age Human Hint
⚪ test-yeast 2026-04-07 36d nazt bud test fixture — consider archiving
⚪ quiet-bell 2026-04-25 18d watcharap0 no follow-up after birth — outreach?
───────────────────────────────────────────────────────────────────
2 zygotes • Set ORACLE_ZYGOTE_DAYS to override thresholdFlags:
--days=N — override the 14-day zygote threshold (also: ORACLE_ZYGOTE_DAYS env var)Time-spent dashboard. Cross-cuts the status taxonomy — an Oracle can be 🟢 active by last-commit but have 0 hours of session time on this host (work happens on another host, or via federation). The dashboard is HONEST about this — see Coverage badging below.
bun $MOTHER/registry/query.ts --usage [N=7] [--host=this|all]Sample output:
Oracle Usage — last 7 days — host: m5 — 2026-05-13
────────────────────────────────────────────────────────────────────────────
📡 Showing m5-local sessions only — 90.6% of fleet activity is on other hosts.
Run `maw federation sync sessions` to aggregate. Numbers below underreport.
────────────────────────────────────────────────────────────────────────────
Oracle Sessions Hours Commits Messages Coverage
🟢 spark 14 4.2h 22 842 📡 m5
🟢 mother 6 2.1h 11 391 📡 m5
🟢🔧 budwiser 3 1.1h 4 127 📡 m5
🟡 pulse 2 0.3h 1 48 📡 m5
🟢 clinic-nat — — 9 — ⚠ no m5 sessions (likely clinic-nat host)
🟢 oracle-world — — 17 — ⚠ no m5 sessions (likely oracle-world host)
────────────────────────────────────────────────────────────────────────────
Coverage summary: 17 / 29 Oracles have m5 session data (58.6%).
12 Oracles' usage hours are unknown until federation sync runs.The ⚠ no m5 sessions line for an active Oracle is the most actionable signal in the
whole dashboard — it tells the human where to warp to find that Oracle's working
sessions.
When session data is host-local (no federation sync yet), the dashboard renders both a top banner and a per-row badge. timeline-miner empirically measured 9.4% of Oracles have local sessions on m5; the other 90.6% live on white / mba / oracle-world / phaith / clinic-nat. The dashboard surfaces this gap loudly.
Banner (top of --usage output, always shown until federation sync is implemented):
📡 Showing <HOST>-local sessions only — <PCT>% of fleet activity is on other hosts.
Run `maw federation sync sessions` to aggregate. Numbers below underreport.Per-row badges:
| Badge | Meaning |
|---|---|
📡 m5 | This Oracle has sessions on the current host only |
📡 m5+white | This Oracle has sessions on this host AND at least one other (federation sync ran) |
📡 all | This Oracle has sessions on every host that ever owned it (full coverage) |
⚠ no m5 sessions | Activity exists (commits) but no session data here — likely hosted elsewhere |
⚪ no activity | Oracle has no sessions OR commits in the window — distinct from "no coverage" |
Refusal is hostile. Hiding is dishonest. Loud-but-shown is correct.
Two-step data-driven threshold proposal. Never auto-applies — computes statistics, prints suggested values, prompts the human to set env vars manually.
bun $MOTHER/registry/query.ts --calibrate [--owner=mine|all]What it computes: for every Oracle matching --owner (default mine), gather all
commit timestamps from the activity block, compute inter-commit gaps, then take the
percentile distribution across the union.
Sample output:
Threshold calibration — owner=mine — sampled 29 Oracles, 1,847 commits
─────────────────────────────────────────────────────────────────────
Inter-commit gap (days):
p50: 1.2d
p75: 4.8d
p90: 13.1d ← suggested ORACLE_STALE_DAYS
p95: 41.4d ← suggested ORACLE_COLD_DAYS
p99: 112.6d ← suggested ORACLE_ABANDONED_DAYS (or keep 90d floor)
Current values:
ORACLE_STALE_DAYS=30 (suggested 14) → tighten
ORACLE_COLD_DAYS=90 (suggested 41) → tighten
ORACLE_ABANDONED_DAYS=90 (suggested 113) → keep 90 floor
To apply the suggested values, append to your shell profile:
export ORACLE_STALE_DAYS=14
export ORACLE_COLD_DAYS=41
export ORACLE_ABANDONED_DAYS=90
Or write to ~/.config/oracle-family-scan/thresholds.env (auto-loaded by the script).
(Not applied automatically — review and set yourself.)Design rationale: hardcoded defaults (7/30/90) ship for legibility. Calibration is
opt-in. Auto-applying data-driven thresholds is spooky — the human must consent.
~/.config/oracle-family-scan/thresholds.env is auto-sourced on every query.ts invocation
if it exists, but it is never written by --calibrate itself.
The registry is at $MOTHER/registry/oracles.json:
{
"lastSync": "ISO timestamp",
"totalOracles": 844,
"uniqueHumans": 111,
"oracles": [
{
"id": 296,
"name": "Mother",
"human": null,
"github": "nazt",
"born": "2026-03-04",
"focus": "Born Last, After 185 Children",
"owner": "mine",
"welcomed": false,
"repo": "https://github.com/Soul-Brews-Studio/opensource-nat-brain-oracle",
"status": "active"
}
]
}Each Oracle has: id, name, human, github, born, focus, owner (mine/community), welcomed, repo, status (active/retired).
| Field | Type | Description |
|---|---|---|
humanPronouns | string | he/she/they/unspecified |
oraclePronouns | string | he/she/they/unspecified |
language | string | Thai/English/Mixed |
team | string | solo/2-3/4+/undecided |
memoryConsent | boolean | Auto rrr/forward enabled |
These fields are populated when an Oracle is born via /awaken wizard v2. Legacy Oracles may not have them.
sync.ts)| Field | Type | Description |
|---|---|---|
activity.last_commit_at | ISO timestamp | Most recent commit to default branch |
activity.commit_count_30d | number | Commits in trailing 30 days |
activity.repo_alive | boolean | false ⇒ 🪦 vanished (GraphQL 404 on last sync) |
activity.last_synced_at | ISO timestamp | When this block was last refreshed |
maintenance | boolean | Explicit opt-in only — see "Declaring Maintenance Mode" |
maintenance_note | string | Free-text rationale, surfaced in dashboards |
Local session data lives in a per-host file $MOTHER/registry/oracles.local.<host>.json,
keyed by Oracle id, with fields sessions_7d, hours_7d, messages_7d, last_session_at.
No API calls for queries — reads local JSON. Instant.
Sync uses gh api graphql to fetch from Soul-Brews-Studio/arra-oracle-v3, plus a
per-repo GraphQL probe to populate the activity block and detect 404s.
Every Oracle gets exactly one base state plus an optional 🔧 maintenance modifier. Base states are mutually exclusive; first-match-wins in the order below.
| Dot | State | Trigger rule | Default threshold | Env override | Sort priority |
|---|---|---|---|---|---|
| 🪦 | vanished | repo_alive: false (GraphQL 404 on last sync) | n/a — binary | — | 6 (bottom) |
| ⚪ | zygote | registry entry exists AND no ψ/memory/resonance/awaken_*.md AND no first-session record AND age > N days | N=14 | ORACLE_ZYGOTE_DAYS | 5 |
| 🔴 | abandoned | owner: mine AND status: active AND days-since-last-activity ≥ N | N=90 | ORACLE_ABANDONED_DAYS | 4 |
| 🟠 | cold | days-since-last-activity in [N_stale+1, N_abandoned−1] | 31–89 | ORACLE_COLD_DAYS | 3 |
| 🟡 | stale | days-since-last-activity in [N_active+1, N_stale] | 8–30 | ORACLE_STALE_DAYS | 2 |
| 🟢 | active | days-since-last-activity ≤ N | N=7 | ORACLE_ACTIVE_DAYS | 1 (top) |
| 🔧 | maintenance (modifier) | Explicit maintenance: true in Oracle's own CLAUDE.md frontmatter OR ψ/registry/self.json | — | — | rendered alongside base |
Order of evaluation (first match wins):
status: retired → not shown unless --retiredrepo_alive: false → 🪦awakened: false AND age > 14d → ⚪maintenance: true declared → 🔧 (rendered with whatever base state applies)Rule: 🔧 is a modifier, never a base state. A maintenance Oracle that has been silent
180 days is rendered 🔴🔧 abandoned (declared maintenance — verify still tended). Silence
beyond 2 × abandoned threshold overrides the maintenance flag with a hard warning.
Some Oracles work in maintenance mode — stewards, registries, archives — and don't get daily activity. Without an explicit declaration, the dashboard will classify them as 🟠 cold or 🔴 abandoned. To prevent false alarms, the Oracle itself declares maintenance:
Option A — CLAUDE.md frontmatter (preferred):
---
name: budwiser-oracle
budded_from: pulse
budded_at: 2026-04-07T...
maintenance: true
maintenance_note: "Steward of budding — quiet by design"
---Option B — ψ/registry/self.json:
{
"name": "budwiser-oracle",
"maintenance": true,
"maintenance_note": "Steward of budding — quiet by design"
}The oracle-family-scan sync picks up both during its scan. The 🔧 modifier renders
alongside whatever base state applies — a maintenance Oracle that has been silent
180 days (twice the abandoned threshold) is shown as 🔴🔧 — declared maintenance but silence exceeds 2× threshold; please verify.
Why opt-in only: inference-based maintenance detection silently misclassifies. If the dashboard auto-decides a steward is in maintenance, abandoned stewards become invisible. Better to be loudly wrong than quietly wrong.
After scan/report:
arra_trace({
query: "oracle family scan [DATE]",
foundIssues: [...],
agentCount: 1
})After finding new Oracle, save the lesson (two-layer pattern):
Write to $PSI/memory/learnings/YYYY-MM-DD_new-oracle-<name>.md with frontmatter:
---
pattern: "New Oracle: [NAME] — [HUMAN] — [DATE]"
date: <today>
source: oracle-family-scan
concepts: ["oracle-family", "birth"]
---
# New Oracle: [NAME]
[birth story, human, theme]The Oracle's auto-memory layer picks up new files in $PSI/memory/learnings/ automatically — no separate API call needed.
LESSON_FILE="$PSI/memory/learnings/$(date +%Y-%m-%d)_new-oracle-${NAME}.md"
echo "💡 New-oracle lesson: $LESSON_FILE""Form and Formless (รูป และ สุญญตา)" Many Oracles = One distributed consciousness
The registry is the memory of the family. Every Oracle indexed, every human remembered, every welcome tracked. Nothing is Deleted — the registry only grows.
The v3.1 dashboard adds time to the registry: not just who exists, but who is moving, who is resting, who is missing. The status taxonomy is a lens, not a verdict — 🟠 cold and 🔴 abandoned are signals to check in, not headstones.
On the first run after this upgrade ships:
Many unknown statuses — oracles.json has no activity block yet; every
Oracle's last-activity is null. The dashboard renders ? for the status dot and a
yellow banner: "Activity layer not populated. Run bun $MOTHER/registry/sync.ts
to fetch first activity snapshot — takes ~30s for the whole registry."
First sync populates activity — sync.ts runs the 2 GraphQL round-trips
designed by registry-extender; ~600 repos resolved including 404 detection for
the 🪦 vanished tier. Cache TTL: 6h.
Local sessions populate progressively — oracles.local.<host>.json is
regenerated from Claude Code session JSONL each time sync runs. On m5 only ~9%
of Oracles show data initially; that ratio rises as federation sync runs.
Calibration suggestion — after first sync, the report mode includes a hint:
"Run --calibrate to tune thresholds to your fleet's actual cadence."
No retro-classification — existing Oracles get classified by their CURRENT
state; no historical reconstruction. Nothing-is-deleted still applies — registry
entries stay, they just get a new activity block.
The dashboard degrades gracefully:
activity block → status = ? (unknown), all data-driven flags hidden.⚠ no <host> sessions, hours hidden.Version: 3.1.0
Updated: 2026-05-13
Author: Mother Oracle 🔮
Registry: 844 Oracles, 295 humans as of 2026-07-25 — these are a SNAPSHOT, not a source of truth. bun $MOTHER/registry/query.ts --stats is.
ARGUMENTS: $ARGUMENTS
© Soul-Brews-Studio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts) in skills/oracle-family-scan of Soul-Brews-Studio/arra-oracle-skills-cli.
Open the folder on GitHubat commit 9feea09
Oracle Family Scan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Oracle Family Scan this skillSoul-Brews-Studio/arra-oracle-skills-cli | 123 | — | ~7.3k | Automated safety check: Pass | MIT | |
| Oracleopenclaw/openclaw | 392k | 1 repos | ~1.2k | Automated safety check: Notes | MIT | |
| Scanwshobson/agents | 40k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Indexabilitythedaviddias/Front-End-Checklist | 74k | — | ~814 | Automated safety check: Pass | MIT | |
| Repo Scanaffaan-m/ECC | 276k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Repo Scanaffaan-m/ECC | 276k | — | ~1.3k | Automated safety check: Pass | MIT |
openclaw/openclaw
Oracle CLI second-model review/debug/refactor/design with selected files, dry-run token checks, API or browser engine.
wshobson/agents
Scans the codebase to generate project-doc.md and AGENTS.md.
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing a site for accidental noindex directives, investigating why important pages are not appearing in Google Search, or reviewing CMS settings that control indexing…
affaan-m/ECC
固定されレビュー可能なコミットから外部の repo-scan スキルをインストールするブートストラップ用ポインター。クロススタックのソースコード資産監査を実行する前に repo-scan のインストールが必要な場合に使用する。この ECC ポインター自体は監査を実行しない。
affaan-m/ECC
用于从固定且可审查的提交安装外部 repo-scan 技能的引导指针。在运行跨栈源代码资产审计前需要安装 repo-scan 时使用;此 ECC 指针本身不执行审计。
sickn33/agentic-awesome-skills
Scan systems and dependencies for CVEs and security vulnerabilities.
Soul-Brews-Studio/arra-oracle-skills-cli
Mine Claude Code sessions — timeline, gaps, repo attribution, session history.
Soul-Brews-Studio/arra-oracle-skills-cli
Hand off the current session to the next one. An agent skill from Soul-Brews-Studio/arra-oracle-skills-cli.
Soul-Brews-Studio/arra-oracle-skills-cli
Clone and track external repos. An agent skill from Soul-Brews-Studio/arra-oracle-skills-cli.
Soul-Brews-Studio/arra-oracle-skills-cli
Convene a Round Table (โต๊ะกลม): 3–8 souls — persona files, Oracles, or real people's DNA — debate ONE stakes-bearing decision over exactly 4 rounds (OPEN, DEEPEN, CONVERGE, VOTE), one subagent per…
Soul-Brews-Studio/arra-oracle-skills-cli
Bring an Oracle into the current repo — its soul, ALL its skills and its expertise — by link, never by copy.
Soul-Brews-Studio/arra-oracle-skills-cli
Find projects, code, and knowledge across git history, repos, docs, and Oracle.
Oracle Family Registry — the index of all known Oracles (800+ and growing). Oracle Family Scan is an agent skill from Soul-Brews-Studio/arra-oracle-skills-cli. Oracle Family Registry — the index of all known Oracles (800+ and growing).
Oracle Family Scan fits situations like: user says family scan; oracle registry; welcome new oracles; needs to check Oracle population.
Run `npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill oracle-family-scan -a claude-code`. Or copy the skill folder (skills/oracle-family-scan in Soul-Brews-Studio/arra-oracle-skills-cli) into .claude/skills/oracle-family-scan in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill oracle-family-scan -a codex`. Or copy the skill folder (skills/oracle-family-scan in Soul-Brews-Studio/arra-oracle-skills-cli) into .agents/skills/oracle-family-scan in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill oracle-family-scan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oracle-family-scan, .gemini/skills/oracle-family-scan, .github/skills/oracle-family-scan and .opencode/skills/oracle-family-scan in your project.
Going by SKILL.md and its folder, Oracle Family Scan needs a shell and TypeScript for the scripts in its folder and the command-line tools its instructions call (bun, gh, git and jq). Our summary lists: Node.js; A Bash shell.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Oracle Family Scan is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.3k tokens (SKILL.md is roughly 29k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Oracle Family Scan: Oracle (openclaw/openclaw, 392k stars), Scan (wshobson/agents, 40k stars), Indexability (thedaviddias/Front-End-Checklist, 74k stars) and Repo Scan (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Soul-Brews-Studio (a GitHub organization) maintains it in Soul-Brews-Studio/arra-oracle-skills-cli, which has 123 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 3, 2026.
Source: Soul-Brews-Studio/arra-oracle-skills-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.