knowledge-sync
ABOUTME: Vault-to-skills sync, promotes recurring patterns from Second Brain to skill files
ABOUTME: Scan/filter/group/propose/approve/apply cycle with signal strength tracking
Knowledge Sync
Promotes recurring patterns from vault Second Brain notes into skill files. Runs on human schedule (monthly, post-milestone), never autonomously.
Signal Strength
| Signal | Criteria | Action |
|---|---|---|
| weak | 1 project or 1 source | Track, don't propose |
| strong | 3+ projects OR 2+ independent sources | Propose to human |
| applied | Already synced to skill | Skip |
Annotation Schema
Second Brain notes use a ## Skill Candidates table:
## Skill Candidates
<!-- Updated by learning-docs during retrospectives -->
| Pattern | Target Skill | Seen In | First Seen | Signal |
|---------|-------------|---------|------------|--------|
| Go error wrapping with %w | golang | feed-brain, bbp | 2026-01-15 | weak |
| Token bucket rate limiting | cloud-infrastructure | feed-brain, nur, clawdbot | 2026-01-10 | strong |
Table-based: easy to append via CLI, readable in Obsidian, parseable by Claude.
Process
- SCAN:
obsidian search query="## Skill Candidates" path="Second Brain" matches - FILTER: only
strongsignals; skip rows where signal =appliedor pattern already exists in target skill - GROUP: candidates by target skill with vault source citations
- PROPOSE: draft exact text to add to each skill file (show diff-style)
- APPROVE: human gate (always RED in decision framework)
- APPLY: edit skill file + add backlink + update signal
Apply Step Details
After human approval for each candidate:
- Edit target skill file with the proposed addition
- Add source backlink as HTML comment:
<!-- vault: [[Second Brain - Development#Pattern Name]] --> - Update the Skill Candidates table: change signal from
strongtoapplied
# Example: update signal in vault
obsidian read file="Second Brain - Development"
# Find the row, replace "strong" with "applied" in the table
obsidian append file="Second Brain - Development" content="..."
Presentation Format
## Knowledge Sync Report
### Candidates Found: N strong, M weak (skipped)
#### golang (2 candidates)
**1. Go error wrapping with %w**
- Source: [[Second Brain - Development#Go Error Handling]]
- Seen in: feed-brain, bbp
- Proposed addition to `skills/golang/SKILL.md`:
[exact text to add]
- [ ] Approve [ ] Skip [ ] Modify
#### cloud-infrastructure (1 candidate)
...
Quality Notes
- Take your time scanning every Skill Candidates table thoroughly
- Read the target skill file before proposing additions (avoid duplicates)
- Quality of proposals matters more than quantity
- Do not skip validation steps
Rules
- Never auto-apply. Always present proposals and wait for approval.
- One skill at a time. Don't batch across skills without per-skill approval.
- Preserve existing content. Additions only, never modify existing skill text.
- Backlinks are mandatory. Every applied pattern traces back to its vault source.
- Cadence: monthly or after major project milestones. Not after every session.
More from maroffo/claude-forge
email-cleanup
Clean up Gmail - archive old emails, delete promotions, manage storage. Use when user wants to clean inbox, archive emails, or free up space.
25newsletter-digest
Process newsletters into Second Brain digest. Use when user wants to process newsletters, create digest, or catch up on subscriptions. Not for web clippings (use process-clippings) or email bookmarks (use process-email-bookmarks).
22table-image
Render markdown tables as hand-drawn sketch images. Use when user wants a table rendered as an image, visual table, or diagram illustration.
21apple-swift
Apple platform development with Swift, SwiftUI, async/await, and performance. Use when working with .swift files, Package.swift, Xcode projects, or building for iOS/macOS/watchOS/visionOS.
20react-nextjs
React + Next.js App Router development. Use when working with .tsx/.jsx files, next.config, or user asks about Server Components, data fetching, state management, forms, or React testing.
20inbox-triage
Review and prioritize Gmail inbox. Use when user wants to check email, review inbox, or see what needs attention.
19