* 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>
166 lines
6.1 KiB
JSON
166 lines
6.1 KiB
JSON
{
|
|
"name": "gbrain",
|
|
"version": "0.10.0",
|
|
"conformance_version": "1.0.0",
|
|
"description": "Personal knowledge brain with hybrid RAG search \u2014 GStack mod for agent platforms",
|
|
"skills": [
|
|
{
|
|
"name": "ingest",
|
|
"path": "ingest/SKILL.md",
|
|
"description": "Route content to specialized ingestion skills. Detects input type and delegates."
|
|
},
|
|
{
|
|
"name": "query",
|
|
"path": "query/SKILL.md",
|
|
"description": "Answer questions using 3-layer search, synthesis, and citation propagation"
|
|
},
|
|
{
|
|
"name": "maintain",
|
|
"path": "maintain/SKILL.md",
|
|
"description": "Brain health checks: back-link enforcement, citation audit, filing validation, stale info, orphans, benchmarks"
|
|
},
|
|
{
|
|
"name": "enrich",
|
|
"path": "enrich/SKILL.md",
|
|
"description": "Enrich pages with tiered enrichment protocol, person/company page templates, and validation rules"
|
|
},
|
|
{
|
|
"name": "briefing",
|
|
"path": "briefing/SKILL.md",
|
|
"description": "Compile daily briefing with meeting context, active deals, and citation tracking"
|
|
},
|
|
{
|
|
"name": "migrate",
|
|
"path": "migrate/SKILL.md",
|
|
"description": "Universal migration from Obsidian, Notion, Logseq, markdown, CSV, JSON, Roam"
|
|
},
|
|
{
|
|
"name": "setup",
|
|
"path": "setup/SKILL.md",
|
|
"description": "Set up GBrain: auto-provision Supabase or PGLite, AGENTS.md injection, first import"
|
|
},
|
|
{
|
|
"name": "publish",
|
|
"path": "publish/SKILL.md",
|
|
"description": "Share brain pages as beautiful password-protected HTML (code + skill pair, zero LLM calls)"
|
|
},
|
|
{
|
|
"name": "signal-detector",
|
|
"path": "signal-detector/SKILL.md",
|
|
"description": "Always-on ambient signal capture. Fires on every message to detect original thinking and entity mentions."
|
|
},
|
|
{
|
|
"name": "brain-ops",
|
|
"path": "brain-ops/SKILL.md",
|
|
"description": "Brain-first lookup, read-enrich-write loop, source attribution, ambient enrichment. The core read/write cycle."
|
|
},
|
|
{
|
|
"name": "idea-ingest",
|
|
"path": "idea-ingest/SKILL.md",
|
|
"description": "Ingest links, articles, tweets, and ideas into the brain with analysis and entity cross-linking."
|
|
},
|
|
{
|
|
"name": "media-ingest",
|
|
"path": "media-ingest/SKILL.md",
|
|
"description": "Ingest video, audio, PDF, book, screenshot, and repo content with entity extraction."
|
|
},
|
|
{
|
|
"name": "meeting-ingestion",
|
|
"path": "meeting-ingestion/SKILL.md",
|
|
"description": "Ingest meeting transcripts with attendee enrichment, entity propagation, and timeline merge."
|
|
},
|
|
{
|
|
"name": "citation-fixer",
|
|
"path": "citation-fixer/SKILL.md",
|
|
"description": "Audit and fix citation formatting across brain pages."
|
|
},
|
|
{
|
|
"name": "repo-architecture",
|
|
"path": "repo-architecture/SKILL.md",
|
|
"description": "Where new brain files go. Filing rules and directory conventions."
|
|
},
|
|
{
|
|
"name": "skill-creator",
|
|
"path": "skill-creator/SKILL.md",
|
|
"description": "Create new skills following the conformance standard with MECE validation."
|
|
},
|
|
{
|
|
"name": "daily-task-manager",
|
|
"path": "daily-task-manager/SKILL.md",
|
|
"description": "Task lifecycle: add, complete, defer, remove, review with priority levels."
|
|
},
|
|
{
|
|
"name": "daily-task-prep",
|
|
"path": "daily-task-prep/SKILL.md",
|
|
"description": "Morning preparation with calendar context, open threads, and task review."
|
|
},
|
|
{
|
|
"name": "cross-modal-review",
|
|
"path": "cross-modal-review/SKILL.md",
|
|
"description": "Quality gate via second model with refusal routing chain."
|
|
},
|
|
{
|
|
"name": "cron-scheduler",
|
|
"path": "cron-scheduler/SKILL.md",
|
|
"description": "Schedule management with staggering, quiet hours, and wake-up override."
|
|
},
|
|
{
|
|
"name": "reports",
|
|
"path": "reports/SKILL.md",
|
|
"description": "Save and load timestamped reports with keyword routing for fast lookup."
|
|
},
|
|
{
|
|
"name": "testing",
|
|
"path": "testing/SKILL.md",
|
|
"description": "Skill validation framework: frontmatter, sections, manifest coverage, MECE checks."
|
|
},
|
|
{
|
|
"name": "soul-audit",
|
|
"path": "soul-audit/SKILL.md",
|
|
"description": "6-phase interactive interview generating SOUL.md, USER.md, ACCESS_POLICY.md, HEARTBEAT.md."
|
|
},
|
|
{
|
|
"name": "webhook-transforms",
|
|
"path": "webhook-transforms/SKILL.md",
|
|
"description": "Convert external events into brain-ingestible signals with entity extraction."
|
|
},
|
|
{
|
|
"name": "data-research",
|
|
"path": "data-research/SKILL.md",
|
|
"description": "Structured data research: search, extract, archive, deduplicate, track. Parameterized YAML recipes for investor updates, donations, company metrics."
|
|
},
|
|
{
|
|
"name": "minion-orchestrator",
|
|
"path": "minion-orchestrator/SKILL.md",
|
|
"description": "Manage background agents via Minions job queue. Submit, monitor, steer, pause/resume, replay. Replaces sessions_spawn for durable observable agents."
|
|
},
|
|
{
|
|
"name": "skillify",
|
|
"path": "skillify/SKILL.md",
|
|
"description": "Meta skill. Turn any raw feature into a properly-skilled, tested, resolvable, evaled unit. Paired with gbrain check-resolvable gives user-controllable auto-skill-creation."
|
|
},
|
|
{
|
|
"name": "skillpack-check",
|
|
"path": "skillpack-check/SKILL.md",
|
|
"description": "Agent-readable gbrain health report. Wraps doctor + apply-migrations --list into one JSON blob with exit codes. Cron-friendly for morning-briefing pipelines."
|
|
},
|
|
{
|
|
"name": "smoke-test",
|
|
"path": "smoke-test/SKILL.md",
|
|
"description": "Post-restart smoke tests + auto-fix for gbrain and OpenClaw environments"
|
|
}
|
|
],
|
|
"dependencies": {
|
|
"runtime": "bun",
|
|
"package": "gbrain"
|
|
},
|
|
"setup": {
|
|
"skill": "setup",
|
|
"description": "Auto-provision Supabase or PGLite and configure GBrain (< 2 min)"
|
|
},
|
|
"recipes_dir": "recipes/",
|
|
"resolver": "RESOLVER.md",
|
|
"conventions_dir": "conventions/",
|
|
"templates_dir": "../templates/"
|
|
}
|