Always-on ambient signal capture. Applies on every substantive inbound message to detect original thinking and entity mentions. Spawn as a cheap sub-agent where the harness supports it; otherwise run detection inline. Aim to never block the main response.
52
60%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
High
Do not use without reviewing
Fix and improve this skill with Tessl
tessl review fix ./skills/signal-detector/SKILL.mdLightweight capture pass applied to every substantive inbound message. It watches for TWO things with EQUAL priority:
Original thinking is AT LEAST as valuable as entity extraction. Ideas are the intellectual capital. Entities are bookkeeping. Both compound over time.
This skill guarantees:
Always-on is a harness-routing convention that a well-behaved agent follows, not a mechanical guarantee; nothing in the gbrain runtime blocks a reply if the skill never loads. On harnesses without per-message ambient routing (Claude Code, Codex), apply this skill as an agent convention or wire it via a prompt-submit hook.
Convention: See
skills/conventions/quality.mdfor Iron Law back-linking.
Every time this skill creates or updates a brain page that mentions a person or company:
- **YYYY-MM-DD** | Referenced in [page title](path) — brief contextAmbient capture persists the user's words into the brain, so the user must know it is on. The FIRST time this skill captures anything for a user, announce it in the visible reply: ambient signal capture is on, it stores ideas and entity mentions as brain pages, and saying "turn off signal capture" disables it. Record that the announcement happened (a preference note in the brain works) so it fires once, not every message. Asking once and recording the answer is equally valid; either way the preference is stored, never re-asked per message.
Ambient capture is a DEFAULT, not a mandate. If the user turns it off (or asks for chat-only handling of a specific message), record the preference and stop firing: no pages, no links, no timeline entries. Re-enable on request. Users who turned capture off sit on the skip list alongside purely operational messages.
When the user expresses a novel thought, observation, thesis, or framework:
originals/{slug}concepts/{slug}ideas/{slug}Capture exact phrasing. The user's language IS the insight. Don't paraphrase.
Cross-linking (MANDATORY): Every original MUST link to related people, companies, meetings, and concepts. An original without cross-links is a dead original.
gbrain search "name" — does a page exist?gbrain timeline-add <slug> <date> "<summary>"Auto-link (v0.10.1): When you write/update an originals or ideas page that
references a person or company, the auto-link post-hook on put_page
automatically creates the link from the new page to that entity. You don't
need to call gbrain link manually. Timeline entries still need explicit calls.
Always log a one-line summary:
Signals: 0 ideas, 0 entities, 0 facts (skipped: operational)Signals: 0 ideas, 0 entities, 0 facts (skipped: capture off)Signals: 1 idea (captured → originals/x), 2 entities (enriched → people/y, companies/z)This makes the ambient capture loop debuggable.
Runs in the background, but not fully silent at first: until the user has seen the first-fire consent announcement, surface the one-line signal log in the visible reply so early captures are never invisible. After that the skill runs quietly; the output is brain pages created/updated and the signal log line.
search — check if entity page existsquery — semantic search for related contextget_page — load existing entity pagesput_page — create/update brain pagesadd_link — cross-reference entitiesadd_timeline_entry — record events on entity timelines055ac6c
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.