Files
gbrain/skills/RESOLVER.md
Garry Tan 246cd8be46 v0.19.1 — smoke-test skillpack (post-restart health + auto-fix) (#369)
* feat: smoke-test skillpack — post-restart health checks + auto-fix

Adds `gbrain smoke-test` CLI command that runs 8 health checks after
container restart, auto-fixes known issues, and reports results.

Built-in tests:
  1. Bun runtime (auto-install if missing)
  2. GBrain CLI loads (auto-reinstall deps)
  3. GBrain database connection (doctor health score)
  4. GBrain worker process (auto-start)
  5. OpenClaw Codex plugin Zod CJS (auto-reinstall broken zod@4)
  6. OpenClaw gateway responding
  7. Embedding API key present
  8. Brain repo exists

User-extensible: drop scripts in ~/.gbrain/smoke-tests.d/*.sh

Includes SKILL.md with full documentation, pattern for adding tests,
and known-issue database (e.g. Zod core.cjs publish bug).

Designed to run from OpenClaw bootstrap hooks so every container
restart automatically verifies and repairs the environment.

* fix: register smoke-test in RESOLVER + add required SKILL sections

Fixes the 7 failing unit tests + 1 failing Tier 1 E2E:

- `skills/RESOLVER.md`: add smoke-test under Operational (mirrors
  skillpack-check placement). Fixes resolver_health check failure which
  cascaded into skillpack-check tests, doctor exit code, and the E2E
  'gbrain doctor exits 0 on healthy DB' assertion.

- `skills/smoke-test/SKILL.md`: add `## Anti-Patterns` and
  `## Output Format` sections required by skills-conformance.test.ts.

Root cause: PR #369 added skills/smoke-test/ to the manifest but never
wired it into RESOLVER.md and never added the sections the conformance
test requires for every manifest entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: regenerate llms-full.txt to pick up RESOLVER smoke-test row

build-llms drift guard (test/build-llms.test.ts:58) failed because
llms-full.txt inlines skills/RESOLVER.md and the last commit added a
smoke-test trigger row there. Regenerated via `bun run build:llms`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: bump version and changelog (v0.19.1)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: root <root@localhost>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 23:53:53 -07:00

5.1 KiB

GBrain Skill Resolver

This is the dispatcher. Skills are the implementation. Read the skill file before acting. If two skills could match, read both. They are designed to chain (e.g., ingest then enrich for each entity).

Always-on (every message)

Trigger Skill
Every inbound message (spawn parallel, don't block) skills/signal-detector/SKILL.md
Any brain read/write/lookup/citation skills/brain-ops/SKILL.md

Brain operations

Trigger Skill
"What do we know about", "tell me about", "search for" skills/query/SKILL.md
"Who knows who", "relationship between", "connections", "graph query" skills/query/SKILL.md (use graph-query)
Creating/enriching a person or company page skills/enrich/SKILL.md
Where does a new file go? Filing rules skills/repo-architecture/SKILL.md
Fix broken citations in brain pages skills/citation-fixer/SKILL.md
"Research", "track", "extract from email", "investor updates", "donations" skills/data-research/SKILL.md
Share a brain page as a link skills/publish/SKILL.md

Content & media ingestion

Trigger Skill
User shares a link, article, tweet, or idea skills/idea-ingest/SKILL.md
Video, audio, PDF, book, YouTube, screenshot skills/media-ingest/SKILL.md
Meeting transcript received skills/meeting-ingestion/SKILL.md
Generic "ingest this" (auto-routes to above) skills/ingest/SKILL.md

Thinking skills (from GStack)

Trigger Skill
"Brainstorm", "I have an idea", "office hours" GStack: office-hours
"Review this plan", "CEO review", "poke holes" GStack: ceo-review
"Debug", "fix", "broken", "investigate" GStack: investigate
"Retro", "what shipped", "retrospective" GStack: retro

These skills come from GStack. If GStack is installed, the agent reads them directly. If not, brain-only mode still works (brain skills function without thinking skills).

Operational

Trigger Skill
Task add/remove/complete/defer/review skills/daily-task-manager/SKILL.md
Morning prep, meeting context, day planning skills/daily-task-prep/SKILL.md
Daily briefing, "what's happening today" skills/briefing/SKILL.md
Cron scheduling, quiet hours, job staggering skills/cron-scheduler/SKILL.md
Save or load reports skills/reports/SKILL.md
"Create a skill", "improve this skill" skills/skill-creator/SKILL.md
"Skillify this", "is this a skill?", "make this proper" skills/skillify/SKILL.md
"Is gbrain healthy?", morning health check, skillpack-check skills/skillpack-check/SKILL.md
Post-restart health + auto-fix, "did the container restart break anything", smoke test skills/smoke-test/SKILL.md
Cross-modal review, second opinion skills/cross-modal-review/SKILL.md
"Validate skills", skill health check skills/testing/SKILL.md
Webhook setup, external event processing skills/webhook-transforms/SKILL.md
"Spawn agent", "background task", "parallel tasks", "steer agent", "pause/resume agent" skills/minion-orchestrator/SKILL.md

Setup & migration

Trigger Skill
"Set up GBrain", first boot skills/setup/SKILL.md
"Migrate from Obsidian/Notion/Logseq" skills/migrate/SKILL.md
Brain health check, maintenance run skills/maintain/SKILL.md
"Extract links", "build link graph", "populate timeline" skills/maintain/SKILL.md (extraction sections)
"Brain health", "what features am I missing", "brain score" Run gbrain features --json
"Set up autopilot", "run brain maintenance", "keep brain updated" Run gbrain autopilot --install --repo ~/brain
Agent identity, "who am I", customize agent skills/soul-audit/SKILL.md
"Populate links", "extract links", "backfill graph" skills/maintain/SKILL.md (graph population phase)
"Populate timeline", "extract timeline entries" skills/maintain/SKILL.md (graph population phase)

Identity & access (always-on)

Trigger Skill
Non-owner sends a message Check ACCESS_POLICY.md before responding
Agent needs to know its identity/vibe Read SOUL.md
Agent needs user context Read USER.md
Operational cadence (what to check and when) Read HEARTBEAT.md

Disambiguation rules

When multiple skills could match:

  1. Prefer the most specific skill (meeting-ingestion over ingest)
  2. If the user mentions a URL, route by content type (link → idea-ingest, video → media-ingest)
  3. If the user mentions a person/company, check if enrich or query fits better
  4. Chaining is explicit in each skill's Phases section
  5. When in doubt, ask the user

Conventions (cross-cutting)

These apply to ALL brain-writing skills:

  • skills/conventions/quality.md — citations, back-links, notability gate
  • skills/conventions/brain-first.md — check brain before external APIs
  • skills/conventions/subagent-routing.md — when to use Minions vs inline work
  • skills/_brain-filing-rules.md — where files go
  • skills/_output-rules.md — output quality standards