* feat: battle-tested skill patterns from production deployment Backport production-learned brain-operations patterns: - Iron Law of Back-Linking (mandatory bidirectional linking) - Brain filing rules (file by primary subject, not format) - Enrichment protocol (7-step pipeline, 3-tier system, person/company templates) - Media ingest workflows (articles, videos, podcasts, PDFs, screenshots) - Citation requirements (mandatory [Source: ...] on every fact) - Test Before Bulk operating principle - Voice recipe: unicode crash fix, PII scrub, identity-first prompt, DIY STT+LLM+TTS - X-to-Brain recipe: image OCR, Filtered Stream, tweet rating rubric, cron stagger * chore: bump version and changelog (v0.8.1) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add _brain-filing-rules.md to CLAUDE.md key files * feat: smart file upload with TUS resumable and .redirect.yaml pointers - Supabase Storage auto-selects upload method by file size: < 100 MB standard POST, >= 100 MB TUS resumable (6 MB chunks + retry) - Signed URL generation for private bucket access (1-hour expiry) - New `upload-raw` command with size routing: small text stays in git, large/media files go to cloud with .redirect.yaml pointer - New `signed-url` command for generating access links - File resolver supports both .redirect.yaml (v0.9+) and .redirect (legacy) - Redirect format upgraded: 10 fields with full metadata - All migration commands (mirror, redirect, restore, clean) handle both formats * feat: skills reference actual gbrain file commands - Filing rules document upload-raw, signed-url, and .redirect.yaml format - Ingest skill uses gbrain files upload-raw for raw source preservation - Maintain skill adds file storage health checks - Setup skill adds storage configuration phase with migration guidance - Voice recipe uses upload-raw for call audio storage - Migration v0.9.0 with complete storage setup instructions * chore: bump version and changelog (v0.9.0) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: gbrain publish -- shareable HTML with password protection First code+skill pair: deterministic code does the work (strip private data, encrypt with AES-256-GCM, generate self-contained HTML), the skill tells the agent when and how to use it. 34 new tests. See: https://x.com/garrytan/status/2042925773300908103 * feat: backlinks check/fix, page lint, and report commands Three new deterministic tools (zero LLM calls): - gbrain backlinks check/fix -- scans brain for entity mentions without back-links, creates them. Enforces the Iron Law from the skills. - gbrain lint [--fix] -- catches LLM preambles, code fence wrapping, placeholder dates, missing frontmatter, broken citations, empty sections. --fix auto-strips fixable artifacts. - gbrain report --type <name> -- saves timestamped reports to brain/reports/{type}/YYYY-MM-DD-HHMM.md for audit trails. 33 new tests (409 total, 0 fail). * feat: v0.9.0 migration tells agents to swap scripts for built-in commands Migration file now: - Lists all 5 new deterministic commands with usage examples - Includes a script-to-command replacement table (old -> new) - Tells the agent to find custom script references in AGENTS.md, skills, and cron jobs and replace with gbrain commands - Adds recommended cron jobs for daily backlink fix + weekly lint - References the Thin Harness, Fat Skills thread * fix: CLI routing bugs found during DX review - Fixed subArgs reference error in handleCliOnly (used wrong variable name) - Renamed gbrain backlinks check/fix to gbrain check-backlinks to avoid conflict with existing backlinks operation (per-page incoming links) - Added TOOLS section to --help output showing publish, check-backlinks, lint, report - Added upload-raw and signed-url to FILES section in --help - Updated all docs/migration references to use check-backlinks * fix: security hardening from adversarial review - XSS: sanitize marked.parse() output (strip script/iframe/on* attrs) - Path traversal: validate report --type against [a-z0-9-] pattern - TUS: HEAD request before retry to get server's actual offset (TUS spec) - Pointer: upload-raw now includes pointer content in JSON output - Symlinks: use lstatSync in all walkers to prevent directory escape --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
4.0 KiB
version, feature_pitch
| version | feature_pitch | ||||
|---|---|---|---|---|---|
| 0.8.1 |
|
v0.8.1 Migration: Battle-Tested Skill Patterns
This migration updates your agent's brain-writing patterns and voice recipe. No schema changes, no database migrations. Skills and recipes only.
What's New
Back-Linking Iron Law
Every skill that writes to the brain now enforces bidirectional linking. If a page mentions a person or company, that entity's page MUST link back. This was the single biggest knowledge graph integrity rule missing from v0.8.0.
Brain Filing Rules (skills/_brain-filing-rules.md)
Cross-cutting rules for where brain pages go. File by PRIMARY SUBJECT, not format or source. Includes common misfiling patterns table and notability gate.
Enrichment Protocol (rewritten)
The enrich skill is now a full 7-step pipeline with 3-tier system (scale effort to entity importance), person page section template (What They Believe, Building, Motivates, Hobby Horses, Trajectory), pluggable data source table, and validation.
Media Ingestion Workflows
The ingest skill now handles articles, videos, podcasts, PDFs, screenshots, and social media content. Each with a complete input->process->write workflow.
Citation Requirements
Every fact needs inline [Source: ...] citations across all skills. Three formats
defined (direct, API/external, synthesis) with source precedence hierarchy.
Voice Recipe Production Fixes
Critical fixes from a production voice deployment: unicode crash fix (non-ASCII breaks Twilio WebSocket), PII scrub from voice context, identity-first prompt architecture, Smart VAD default, auto-upload call audio, and the DIY STT+LLM+TTS pipeline (Deepgram+Claude+Cartesia) as an alternative to OpenAI Realtime.
X-to-Brain Recipe Enhancements
Image OCR via vision models, real-time monitoring via Filtered Stream API, 6-dimension tweet rating rubric, outbound tweet monitoring, X-to-Brain automatic pipeline, and cron staggering for resource management.
Agent Instructions
Step 1: Verify skills are updated
Check that your skills directory has the new files:
ls skills/_brain-filing-rules.md && echo "Filing rules: OK"
grep -q '"version": "0.8.1"' skills/manifest.json && echo "Manifest: OK"
Files that should be updated:
skills/_brain-filing-rules.md(new)skills/enrich/SKILL.md(rewritten)skills/ingest/SKILL.md(expanded)skills/maintain/SKILL.md(expanded)skills/query/SKILL.md(updated)skills/briefing/SKILL.md(updated)recipes/twilio-voice-brain.md(v0.8.1 production fixes)recipes/x-to-brain.md(v0.8.1 enhancements)
Step 2: Review existing brain pages for back-link gaps
Spot-check: pick 5 recently created pages and verify that every entity mentioned has a back-link from the entity's page to the mentioning page.
If back-links are missing, add them:
- **YYYY-MM-DD** | Referenced in [page title](path/to/page.md) -- brief context
Step 3: Review filing
Check for pages in sources/ that should be in a subject-specific directory
(people/, companies/, concepts/, civic/). See skills/_brain-filing-rules.md.
Step 4: Voice recipe (if using)
If you have voice-to-brain set up:
- Apply the unicode sanitization fix to your voice server
- Add PII scrub to your prompt builder
- Move identity to the TOP of your system prompt
- Consider switching to Smart VAD (Silero) as default
Step 5: X-to-brain recipe (if using)
If you have X-to-brain set up:
- Add image OCR to your tweet processing pipeline
- Consider Filtered Stream API for real-time monitoring
- Stagger your cron schedules (max 1 per minute)
Step 6: Done
mkdir -p ~/.gbrain/migrations
echo '{"version":"0.8.1","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","status":"complete"}' >> ~/.gbrain/migrations/completed.jsonl