Agent skill

Narrative Convergence

by aeonfun in 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

MITAuto-check passed

Install Narrative Convergence

skills CLI
$ npx skills add aeonfun/aeon --skill narrative-convergence -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aeonfun/aeon narrative-convergence --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
narrative-convergence
GitHub stars
767
Token cost
~2.2k tokens
SKILL.md length
812 words
Files
1
Skills in repo
82
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 8 steps: Identify which outputs to read → Read each signal skill's output → Score convergence signals → …
  • SKILL.md covers Voice, Why this skill exists, Config and Steps, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

Example prompts

  • “/narrative-convergence”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Identify which outputs to read
  2. Read each signal skill's output
  3. Score convergence signals
  4. Check against recent article coverage
  5. Develop write opportunities
  6. Update memory
  7. Send notification (only if ≥ 2 strong signals)
  8. Log to memory/logs/${today}.md

What it can do on your machine

Read from SKILL.md and the folder at commit c0cb7c4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from aeonfun/aeon at commit c0cb7c4, republished under its MIT licence (© aeonfun). 812 words, ~2,194 tokens.

Download SKILL.mdSave it as .claude/skills/narrative-convergence/SKILL.md (or your agent's skills folder).
name
narrative-convergence
description
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
metadata.category
core
metadata.tags
content, meta, intelligence

${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.

Voice

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.

Why this skill exists

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.

Config

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.

markdown
# 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 |

Steps

1. Identify which outputs to read

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.

2. Read each signal skill's output

For each signal skill output file that exists:

  1. Read the file (or first 600 chars if large — enough to get entities and theme).
  2. Extract: named entities (companies, protocols, people, tokens, projects) and key themes (e.g. "DNS rebinding", "coordination markets", "compute commoditization").
  3. Note the skill name and category.

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.

Show full SKILL.md (378 more words)Show less
3. Score convergence signals

For each entity or theme, compute a convergence score:

CriterionPoints
Mentioned by 5+ independent skills10
Mentioned by 4 skills7
Mentioned by 3 skills5
Mentioned by 2 skills2
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).

4. Check against recent article coverage

Glob output/articles/*.md, filter to the last 14 days. For each top signal:

  • If an article covered this entity/theme in the last 7 days: suppress it (−10, effectively dropping it).
  • If covered 8–14 days ago: note "recently covered" as a caveat.

Update the final ranking after suppression. (If no output/articles/ dir exists, skip this step.)

5. Develop write opportunities

For each surviving top signal (minimum 2 signals to notify, else skip):

  • State the convergence story: "3 independent skills surfaced X in 48h — [skill1] saw Y angle, [skill2] saw Z angle".
  • Suggest a specific write angle that synthesizes the signals (operator voice if soul files present).
  • Draft a hook line: short, declarative, position-first.

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"
6. Update memory

Write memory/topics/convergence-signals.md (overwrite if exists):

markdown
# 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.

7. Send notification (only if ≥ 2 strong signals)

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.md

Keep under 900 chars. Run:

bash
./notify -f .pending-notify-temp/narrative-convergence-${today}.md
8. Log to memory/logs/${today}.md

Append under a ### narrative-convergence heading:

markdown
### 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_OK

If skipped: NARRATIVE_CONVERGENCE_SKIP: <reason>.

Required Env Vars

None. All reads from local output/.chains/, memory/, and output/articles/ dirs.

Network Note

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

Files

Just SKILL.md in skills/narrative-convergence of aeonfun/aeon.

Open the folder on GitHubat commit c0cb7c4

Compare with similar skills

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.

Narrative Convergence compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Narrative Convergence this skillaeonfun/aeon767—~2.2kAutomated safety check: PassMIT
Signal Detectorgarrytan/gbrain31k—~2kAutomated safety check: PassMIT
Theme Factoryanthropics/skills180k48 repos~781Automated safety check: PassApache-2.0
Theme Detectortradermonty/claude-trading-skills3k2 repos~4.9kAutomated safety check: PassMIT
Theme Factorynexu-io/open-design100k—~329Automated safety check: PassApache-2.0
SignalsPostHog/posthog40k—~4.3kAutomated safety check: PassCustom licence

Similar skills

  • Signal Detector

    garrytan/gbrain

    Opt-in ambient signal capture. An agent skill from garrytan/gbrain.

    31k GitHub stars~2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Theme Factory

    anthropics/skills

    Official

    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.

    180k GitHub starsUsed in 48 repos~781 tokens
    Frontend & DesignAuto-check passed
  • Theme Detector

    tradermonty/claude-trading-skills

    Detect and analyze trending market themes across sectors. An agent skill from tradermonty/claude-trading-skills.

    3k GitHub starsUsed in 2 repos~4.9k tokens
    Business, Finance & HRAuto-check passed
  • Theme Factory

    nexu-io/open-design

    Apply professional font and color themes to artifacts including slides, docs, reports, and HTML landing pages.

    100k GitHub stars~329 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Signals

    PostHog/posthog

    Official

    How to query the documentembeddings table for raw signal data using HogQL.

    40k GitHub stars~4.3k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Pierre Theme Package

    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.

    6.2k GitHub stars~352 tokensUpdated today
    Frontend & DesignAuto-check passed

More from aeonfun/aeon

All 82 skills in this repo
  • Browses open tasks on the TaskMarket agent-worker market and, with explicit operator approval, creates tasks, tracks submissions and submits finished work.

    767 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • 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.

    767 GitHub stars~9k tokensUpdated today
    Auto-check: warnings
  • 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.

    767 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • 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.

    767 GitHub stars~5.1k tokensUpdated today
    Auto-check passed
  • Action Converter

    aeonfun/aeon

    5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates

    767 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Aeon Config Doctor

    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.

    767 GitHub stars~3.3k tokensUpdated today
    Auto-check passed

Questions about Narrative Convergence

What does Narrative Convergence do?

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.

How do I install Narrative Convergence in Claude Code?

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.

How do I install Narrative Convergence in Codex?

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.

Can I use Narrative Convergence in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Narrative Convergence need to run?

SKILL.md names no scripts, command-line tools or credentials: Narrative Convergence is instructions for the agent only.

Does Narrative Convergence access the network?

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.

Is Narrative Convergence safe to install?

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.

What licence does Narrative Convergence use?

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.

How many tokens does Narrative Convergence use?

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.

What are the alternatives to Narrative Convergence?

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.

Who maintains Narrative Convergence?

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.