Signal Detector
garrytan/gbrain
Opt-in ambient signal capture. An agent skill from garrytan/gbrain.
Cross-skill signal detector - finds entities or themes surfaced independently by 3+ different skill categories within 48h and surfaces them as high-confidence write opportunities
$ npx skills add aeonfun/aeon --skill narrative-convergence -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aeonfun/aeon narrative-convergence --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/narrative-convergence .claude/skills/narrative-convergence && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "narrative-convergence" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/narrative-convergence into .claude/skills/narrative-convergence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-convergence", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aeonfun/aeon/tree/main/skills/narrative-convergenceType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aeonfun/aeon --skill narrative-convergence -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aeonfun/aeon narrative-convergence --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/narrative-convergence .agents/skills/narrative-convergence && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "narrative-convergence" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/narrative-convergence into .agents/skills/narrative-convergence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-convergence", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aeonfun/aeon --skill narrative-convergence -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aeonfun/aeon narrative-convergence --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/narrative-convergence .cursor/skills/narrative-convergence && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "narrative-convergence" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/narrative-convergence into .cursor/skills/narrative-convergence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-convergence", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aeonfun/aeon.git --path skills/narrative-convergence--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aeonfun/aeon --skill narrative-convergence -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aeonfun/aeon narrative-convergence --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/narrative-convergence .gemini/skills/narrative-convergence && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "narrative-convergence" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/narrative-convergence into .gemini/skills/narrative-convergence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-convergence", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aeonfun/aeon narrative-convergenceInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aeonfun/aeon --skill narrative-convergence -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/narrative-convergence .github/skills/narrative-convergence && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "narrative-convergence" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/narrative-convergence into .github/skills/narrative-convergence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-convergence", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aeonfun/aeon --skill narrative-convergence -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aeonfun/aeon narrative-convergence --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/narrative-convergence .opencode/skills/narrative-convergence && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "narrative-convergence" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/narrative-convergence into .opencode/skills/narrative-convergence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-convergence", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
narrative-convergenceCross-skill signal detector - finds entities or themes surfaced independently by 3+ different skill categories within 48h and surfaces them as high-confidence write opportunities
Narrative Convergence is an agent skill from aeonfun/aeon. Cross-skill signal detector - finds entities or themes surfaced independently by 3+ different skill categories within 48h and surfaces them as high-confidence write opportunities
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget… The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c0cb7c4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Narrative Convergence loads about 2.2k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 812 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from aeonfun/aeon at commit c0cb7c4, republished under its MIT licence (© aeonfun). 812 words, ~2,194 tokens.
.claude/skills/narrative-convergence/SKILL.md (or your agent's skills folder).${var} — Optional entity or theme filter (e.g. "Anthropic", "coordination markets"). If empty, scans all skill output categories.
Today is ${today}. Read memory/MEMORY.md before starting.
If soul/SOUL.md and soul/STYLE.md exist and are populated, read them and match the operator's voice when drafting the write angles and hook lines (step 5) and the notification. Otherwise use a clear, direct, neutral tone — short, declarative, position-first.
narrative-tracker follows narratives inside one feed (crypto X) and tracks their phase. It works well when the narrative is already named.
This skill does something different: it detects emergent cross-skill convergence — when independent operational skills (security scanners, market trackers, sector pulses, etc.) all surface the same entity, company, protocol, or theme within 48h, without any prior coordination. That kind of convergence is a higher-signal indicator than any single source — it often precedes a breakout narrative. Example: a security skill flags a company's automated-vulnerability work, a social digest catches that same company announcing a major deal, and a market tracker notes a related fraud-prevention win — three independent skills, one entity, in 48h. That bleedthrough is the signal. This skill catches it automatically.
The signal-category map is operator-editable and lives in memory/topics/signal-categories.md. If the file doesn't exist, create the seed below and continue. The categories are what let the skill measure cross-category diversity (the core of the convergence score) — edit them to match the skills you actually run.
# Signal Categories
## Housekeeping (excluded — no external signals)
heartbeat, memory-flush, aeon-doctor, aeon-update, auto-merge,
skill-health, skill-repair, self-improve, operator-scorecard,
shiplog, fleet-control, fork-fleet, narrative-convergence
## Signal categories (skill → category)
| Category | Skills |
|----------|--------|
| market | token-pick, token-movers, defi-overview, monitor-polymarket, pm-manipulation, unlock-monitor, picks-tracker |
| social | fetch-tweets, narrative-tracker, mention-radar, write-tweet, last30 |
| ecosystem | github-trending, github-monitor, bd-radar, competitor-monitor |
| onchain | onchain-monitor, investigation-report, tx-explain, base-mcp |
| security | vuln-scanner, vuln-tracker, sc-audit, inbox-triage |
| research | article, digest, you-web-search, glim-mcp, idea-pipeline, idea-forge |
| opportunity | hunter-22, feedback-builder, taskmarket-delegate |List output/.chains/*.md with the Glob tool. Exclude the Housekeeping skills from signal-categories.md — they carry no external signal.
Map each remaining output file to its category using the table in signal-categories.md. Any signal skill not listed in the table goes into an other category (so newly-added skills still count toward convergence, just without a named lane).
If ${var} is set, note it as a filter hint but still read all outputs — apply filtering at the scoring step.
For each signal skill output file that exists:
Build an entity/theme map:
{
"<Entity>": [{ skill: "vuln-scanner", category: "security" }, { skill: "fetch-tweets", category: "social" }],
"<theme>": [{ skill: "monitor-polymarket", category: "market" }, ...],
...
}Also read memory logs from the last 2 days (Glob memory/logs/*.md, take the 2 most recent). From each log, extract entities/themes mentioned in specific skill run entries and add them to the map with their source skill. Every skill appends a log entry, so the signal map can be reconstructed from logs alone when output/.chains/ is sparse.
For each entity or theme, compute a convergence score:
| Criterion | Points |
|---|---|
| Mentioned by 5+ independent skills | 10 |
| Mentioned by 4 skills | 7 |
| Mentioned by 3 skills | 5 |
| Mentioned by 2 skills | 2 |
| Spans 3+ distinct categories | +4 |
| Spans 2 distinct categories | +2 |
| All sources from 1 category | −3 |
Matches a known operator interest (from soul/SOUL.md, if present) | +2 |
| Adjacent to operator interest | +1 |
Minimum to include: 5 points. Drop everything below.
If ${var} is set, require the entity/theme to match ${var} (substring, case-insensitive), or include it only if closely related.
Rank descending by score. Take top 5 (or fewer if <5 clear signals).
Glob output/articles/*.md, filter to the last 14 days. For each top signal:
Update the final ranking after suppression. (If no output/articles/ dir exists, skip this step.)
For each surviving top signal (minimum 2 signals to notify, else skip):
Example format:
<ENTITY> (score 11) — security + social + market
→ vuln-scanner: automated vuln-finding at scale; tweet-roundup: major platform deal; market-context: fraud-prevention win
→ angle: AI-finds-vulns is becoming industrial — not a research project, a service. who charges for it?
→ hook: "the vulnerability bounty economy just got automated"Write memory/topics/convergence-signals.md (overwrite if exists):
# Convergence Signals — Last Updated: ${today}
## Active Signals (score ≥ 5)
### [Entity/Theme] — Score: N
**Sources (N skills, N categories):** skill1 (category), skill2 (category), ...
**Convergence story:** [what each source noticed, one line each]
**Write angle:** [specific take, not generic]
**Hook:** [suggested opener]
**Last article coverage:** [date or "never"]
[repeat for each signal]
---
*Generated by narrative-convergence on ${today}. Top signal has N source skills across N categories.*
*Consumed by: article skill.*If no signals meet the threshold: write a minimal file noting the scan ran clean.
If fewer than 2 signals survive after suppression: skip notification. Log NARRATIVE_CONVERGENCE_SKIP: no strong cross-skill convergence found today.
Otherwise, write to .pending-notify-temp/narrative-convergence-${today}.md (create the dir if needed):
narrative convergence — ${today}
N entities surfaced by 3+ independent skills in 48h:
1. [entity/theme] — N skills × N categories — [hook in one line]
2. [entity/theme] — N skills × N categories — [hook in one line]
[up to 5]
these aren't single-source signals. they're bleedthrough.
full breakdown: memory/topics/convergence-signals.mdKeep under 900 chars. Run:
./notify -f .pending-notify-temp/narrative-convergence-${today}.mdAppend under a ### narrative-convergence heading:
### narrative-convergence
- **Skills scanned:** N
- **Entities/themes mapped:** N
- **Signals above threshold:** N
- **Top signal:** [entity/theme] (score N, N skills, N categories)
- **Notification:** sent / skipped
- NARRATIVE_CONVERGENCE_OKIf skipped: NARRATIVE_CONVERGENCE_SKIP: <reason>.
None. All reads from local output/.chains/, memory/, and output/articles/ dirs.
No network calls required. All data comes from local files written by other skills. If output/.chains/ is sparse (e.g. first morning run before skills have written), fall back to reading the last 3 memory logs directly — every skill appends a log entry, so the signal map can be reconstructed from logs alone. The only outbound call is ./notify, which works reliably.
© aeonfun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/narrative-convergence of aeonfun/aeon.
Open the folder on GitHubat commit c0cb7c4
Narrative Convergence next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Narrative Convergence this skillaeonfun/aeon | 767 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Signal Detectorgarrytan/gbrain | 31k | — | ~2k | Automated safety check: Pass | MIT | |
| Theme Factoryanthropics/skills | 180k | 48 repos | ~781 | Automated safety check: Pass | Apache-2.0 | |
| Theme Detectortradermonty/claude-trading-skills | 3k | 2 repos | ~4.9k | Automated safety check: Pass | MIT | |
| Theme Factorynexu-io/open-design | 100k | — | ~329 | Automated safety check: Pass | Apache-2.0 | |
| SignalsPostHog/posthog | 40k | — | ~4.3k | Automated safety check: Pass | Custom licence |
garrytan/gbrain
Opt-in ambient signal capture. An agent skill from garrytan/gbrain.
anthropics/skills
Applies one of ten preset color and font themes to slide decks, documents or HTML pages, or creates a new theme on the fly after you choose from a showcase.
tradermonty/claude-trading-skills
Detect and analyze trending market themes across sectors. An agent skill from tradermonty/claude-trading-skills.
nexu-io/open-design
Apply professional font and color themes to artifacts including slides, docs, reports, and HTML landing pages.
PostHog/posthog
How to query the documentembeddings table for raw signal data using HogQL.
pierrecomputer/pierre
Shows an agent how to install and use the @pierre/theme package, which ships ten Pierre light and dark color themes for Shiki and VS Code.
aeonfun/aeon
Browses open tasks on the TaskMarket agent-worker market and, with explicit operator approval, creates tasks, tracks submissions and submits finished work.
aeonfun/aeon
Sets up and manages an Aeon agent instance that runs skills on a schedule through GitHub Actions: starting, rescheduling, debugging, editing skills and mining chat history.
aeonfun/aeon
Reads a Base Account's address, portfolio and transaction history through the Base MCP server, and stays strictly read-only in unattended Aeon runs, reporting only changes.
aeonfun/aeon
Audits every page of a site each day from its sitemap, scores on-page and technical SEO, checks duplicates across pages and reports what changed since the last run.
aeonfun/aeon
5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates
aeonfun/aeon
Static linter for an Aeon instance's configuration that catches silent failures such as unquoted schedules, duplicate keys, unconfigured skills and broken MCP references.
Cross-skill signal detector - finds entities or themes surfaced independently by 3+ different skill categories within 48h and surfaces them as high-confidence write opportunities. Narrative Convergence is an agent skill from aeonfun/aeon.
Run `npx skills add aeonfun/aeon --skill narrative-convergence -a claude-code`. Or copy the skill folder (skills/narrative-convergence in aeonfun/aeon) into .claude/skills/narrative-convergence in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aeonfun/aeon --skill narrative-convergence -a codex`. Or copy the skill folder (skills/narrative-convergence in aeonfun/aeon) into .agents/skills/narrative-convergence in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aeonfun/aeon --skill narrative-convergence -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/narrative-convergence, .gemini/skills/narrative-convergence, .github/skills/narrative-convergence and .opencode/skills/narrative-convergence in your project.
SKILL.md names no scripts, command-line tools or credentials: Narrative Convergence is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Narrative Convergence is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Narrative Convergence: Signal Detector (garrytan/gbrain, 31k stars), Theme Factory (anthropics/skills, 180k stars), Theme Detector (tradermonty/claude-trading-skills, 3k stars) and Theme Factory (nexu-io/open-design, 100k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aeonfun (a GitHub organization) maintains it in aeonfun/aeon, which has 767 GitHub stars. The repository holds 82 skills in this directory. The repository was last updated on October 8, 2026.
Source: aeonfun/aeon on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.