Sandbox
@zhiyuzi/Signex

Claude Code watch system for signal monitoring

Signex is a Claude Code-based system for monitoring topics you care about. You define a watch, it selects sensors, collects data into SQLite, analyzes the results through a chosen lens, and writes reports and alerts. It is organized around `CLAUDE.md` plus reusable skills in `.claude/skills/`, so the agent’s behavior is shaped by files you can extend. Feedback updates watch memory, and useful findings can be moved into a shared vault.

98 stars18 forksPythonUpdated 6mo ago
Who it's for

Builders who use Claude Code to track topics, sources, and signals without doing the scanning by hand.

What it delivers

You can turn a one-line watch into recurring signal reports that improve as you give feedback.

What it does

Watch-based monitoring

Lets you define what to follow in `intent.md` and keep track of it over time in each watch folder.

Extensible sensors

Includes skills for sources like Hacker News, GitHub Trending, Reddit, RSS, search APIs, arXiv, and OpenAlex.

Pluggable lenses

Offers analysis modes such as deep insight, flash brief, dual take, and timeline trace.

SQLite-backed storage

Stores collected items, analysis runs, stats, and source health in a local database.

Feedback memory

Uses `memory.md` and identity shaping to adapt future analysis to what you care about.

Report and alert pipeline

Writes reports and alerts to disk and can push summaries to webhook destinations.

How to get it

  1. 1Run
    You:  Hi
  2. 2Signex initializes automatically on first greeting — creates your profile, watch…
    You:  Help me watch AI coding tools — new IDEs, agent features, community reactions.
  3. 3Signex creates a new Watch with your intent, picks relevant sensors, and is ready to run.
    You:  Run it.

README

中文 | English

Signex

Signal + Nexus — where signals converge.

A personal intelligence agent that runs entirely inside Claude Code.

License: AGPL-3.0 Python 3.11+ Powered by Claude


The Problem

You're tracking the AI coding tools space. Every day you check Hacker News, GitHub Trending, Reddit, X, Product Hunt… a dozen sources, an hour of scanning, mostly noise, and you still almost miss that one critical signal.

Signex does this for you. Describe what you care about in one sentence, and it automatically collects from 15+ data sources, deduplicates, analyzes, and delivers a report with actionable insights. You read the conclusions, give feedback, and it learns what matters to you.

Who Is This For?

  • Indie developers — tracking product opportunities, competitors, tech trends
  • Startup founders — discovering unmet needs, validating product direction
  • Tech leads — following industry direction, evaluating new tools and frameworks
  • Product managers — monitoring user feedback, feature requests, market signals
  • Investors / analysts — tracking market dynamics, spotting early signals
  • Content creators — catching trending topics, sourcing writing material
  • Researchers — continuously following developments in a specific domain

What is Signex?

Signex is your AI intelligence analyst. You define what you care about (a "Watch"), and it autonomously collects data from multiple sources, analyzes it through different lenses, and delivers actionable reports. It remembers your feedback and adjusts future analysis accordingly.

Architecturally, Claude Code IS the runtime. There is no standalone app, server, or CLI wrapper. The agent's behavior is defined entirely in CLAUDE.md, and its capabilities are modular skills in .claude/skills/. You interact with it by talking to Claude Code.

Core Concepts

ConceptWhat it does
WatchA continuous monitoring intent. Defines what direction to watch and what signals matter.
SensorData collection probes. Each sensor fetches from a specific source — Hacker News, GitHub, Reddit, search APIs, RSS, etc.
LensAnalysis perspectives. Choose how to look at the data — deep insight, quick brief, pro/con evaluation, or timeline trace.
VaultCross-watch insight storage. Valuable findings that transcend individual watches get deposited here.

Architecture

%%{init: {
  "theme": "base",
  "flowchart": { "curve": "basis", "nodeSpacing": 42, "rankSpacing": 60 },
  "themeVariables": {
    "background": "transparent",
    "mainBkg": "transparent",
    "fontFamily": "ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial",
    "fontSize": "14px",
    "lineColor": "#94A3B8",
    "textColor": "#0F172A"
  }
}}%%

flowchart TB
  UA["You · shapes & calibrates"]:::actor
  UA -. "watch-shape · feedback · calibrate" .-> W
  UA -. "identity-shape · shape profile" .-> ID

  ID["Identity<br/>identity.md"]:::identity -. "context" .-> W

  W["Watches<br/>intent.md + memory.md"]:::core --> S["Sensor Selection"]:::core

  subgraph Sensors["Sensors (extensible)"]
    direction TB
    S --> S1["Hacker News"]:::sensor
    S --> S2["GitHub Trending"]:::sensor
    S --> S3["Tavily / Brave / Exa"]:::sensor
    S --> S4["Reddit / X / V2EX"]:::sensor
    S --> S5["Product Hunt / RSS / …"]:::sensor
    S --> S6["arXiv / OpenAlex"]:::sensor
    S --> S7["+ Your Own Sensor"]:::sensorAlt
  end

  S1 & S2 & S3 & S4 & S5 & S6 & S7 --> DB[("SQLite")]:::store
  DB --> L{"Lens"}:::decision

  subgraph Lenses["Lenses (extensible)"]
    direction TB
    L --> L1["Deep Insight"]:::lens
    L --> L2["Flash Brief"]:::lens
    L --> L3["Dual Take"]:::lens
    L --> L4["Timeline Trace"]:::lens
    L --> L5["+ Your Own Lens"]:::lensAlt
  end

  L1 & L2 & L3 & L4 & L5 --> R["Reports & Alerts"]:::out
  R --> UB["You · reads & iterates"]:::actor
  UB -. "cross-watch insights" .-> V["Vault"]:::vault

  classDef core      fill:#EEF2FF,stroke:#4F46E5,stroke-width:2px,color:#0F172A,rx:14,ry:14
  classDef identity  fill:#F5F3FF,stroke:#7C3AED,stroke-width:1.6px,color:#0F172A,rx:12,ry:12
  classDef sensor    fill:#ECFEFF,stroke:#06B6D4,stroke-width:1.6px,color:#0F172A,rx:12,ry:12
  classDef sensorAlt fill:#F0FDFA,stroke:#14B8A6,stroke-width:1.6px,color:#0F172A,stroke-dasharray:4 3,rx:12,ry:12
  classDef store     fill:#F1F5F9,stroke:#64748B,stroke-width:1.7px,color:#0F172A,rx:14,ry:14
  classDef decision  fill:#FFFFFF,stroke:#0EA5E9,stroke-width:2px,color:#0F172A,rx:18,ry:18
  classDef lens      fill:#FFF7ED,stroke:#F59E0B,stroke-width:1.6px,color:#0F172A,rx:12,ry:12
  classDef lensAlt   fill:#FFFBEB,stroke:#F59E0B,stroke-width:1.6px,color:#0F172A,stroke-dasharray:4 3,rx:12,ry:12
  classDef out       fill:#ECFDF5,stroke:#10B981,stroke-width:1.8px,color:#0F172A,rx:14,ry:14
  classDef vault     fill:#FDF4FF,stroke:#A855F7,stroke-width:1.6px,color:#0F172A,rx:14,ry:14
  classDef actor     fill:#FFF1F2,stroke:#FB7185,stroke-width:1.6px,color:#0F172A,rx:14,ry:14

  style Sensors fill:transparent,stroke:#CBD5E1,stroke-width:1.2px,rx:16,ry:16
  style Lenses  fill:transparent,stroke:#CBD5E1,stroke-width:1.2px,rx:16,ry:16

  linkStyle default stroke:#94A3B8,stroke-width:1.5px

Quick Start

Prerequisites

Setup

# Clone the repo
git clone https://github.com/zhiyuzi/Signex.git
cd signex

# Install dependencies
uv sync

# Configure API keys (at minimum, set one search API key)
cp .env.example .env
# Edit .env with your API keys

# Start Claude Code in the project directory
claude

First Run

You:  Hi

Signex initializes automatically on first greeting — creates your profile, watch templates, and vault. Then it gives you a situational briefing.

You:  Help me watch AI coding tools — new IDEs, agent features, community reactions.

Signex creates a new Watch with your intent, picks relevant sensors, and is ready to run.

You:  Run it.

Sensors fire, data flows into SQLite, the lens analyzes, and you get a report.

Skills

Sensors (data collection)

SkillSourceAPI KeyGet Key
fetch-hacker-newsHacker News front page & search
fetch-github-trendingGitHub Trending repos
fetch-v2exV2EX (Chinese tech community)
fetch-redditReddit posts & search
fetch-rssAny RSS/Atom feed
fetch-tavilyTavily web searchYestavily.com
fetch-brave-searchBrave SearchYesbrave.com
fetch-exaExa AI semantic searchYesexa.ai
fetch-product-huntProduct Hunt launchesYesproducthunt.com
fetch-request-huntRequestHunt feature requestsYesrequesthunt.com
fetch-news-apiNewsAPI.orgYesnewsapi.org
fetch-gnewsGNewsYesgnews.io
fetch-xX / Twitter searchYesdeveloper.x.com
fetch-arxivarXiv preprints
fetch-openalexOpenAlex academic papersYesopenalex.org
extract-contentExtract full article text from URLs (supplements sensor data when needed)

Lenses (analysis)

SkillPurpose
lens-deep-insightComprehensive analysis — key findings, trends, action items (default)
lens-flash-brief3–5 bullet quick summary
lens-dual-takePro/con evaluation of a topic
lens-timeline-traceEvent timeline reconstruction

Database

SkillPurpose
db-save-itemsStore sensor data (auto-dedup)
db-query-itemsQuery items by watch, source, time
db-save-analysisRecord analysis runs
db-statsRun history & statistics
db-source-healthData source health monitoring

Shaping

SkillPurpose
identity-shapeConversational user profile shaping & iteration
watch-shapeConversational watch cognitive structure design & iteration

Pipeline

SkillPurpose
run-watchExecute full watch cycle (collect → analyze → report)
save-reportWrite reports and alerts to disk
update-memoryIntegrate user feedback into watch memory
webhook-notifyPush report summary to IM tools (Feishu, Discord, WeCom, etc.)

Setup

SkillPurpose
setupProject initialization (directories, templates, database)
webhook-setupInteractive webhook configuration wizard
skill-creatorGuide for creating new skills

Project Structure

signex/
├── CLAUDE.md                  # Agent behavior definition (the brain)
├── .claude/skills/            # All skills (sensor, lens, db, action)
├── profile/identity.md        # User identity & preferences
├── watches/                   # Watch definitions
│   ├── index.md               # Watch registry
│   └── {watch-name}/
│       ├── intent.md          # What to monitor
│       ├── memory.md          # Feedback memory & cognitive evolution
│       └── state.json         # Run state
├── vault/                     # Cross-watch insights
│   ├── index.md               # Vault index
│   └── *.md                   # Individual insight notes
├── reports/{date}/{watch}/    # Analysis output
├── alerts/{date}/             # High-signal alerts
├── knowledge/                 # Skill knowledge base (reference docs)
├── data/signex.db             # SQLite database
├── src/                       # Python scripts (HTTP + SQLite only)
└── .env                       # API keys (not committed)

License

Copyright (c) 2026 Li Ze

This project is licensed under the GNU Affero General Public License v3.0.

You are free to use, modify, and distribute this software under the terms of the AGPL-3.0. If you run a modified version as a network service, you must make the source code available to its users.

Files in the repo

Repository payload11 top-level entries
  • .claude
  • knowledge
  • src
  • .env.example
  • .gitignore
  • CLAUDE.md
  • LICENSE
  • pyproject.toml
  • README.md
  • README.zh-CN.md
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More harnesses

The job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.

42k
chaitanyagiri/
munder-difflin

A local multi-agent harness that works with your existing Claude Code, Codex subscriptions, allows you to run an office of agents

6.8k
holaboss-ai/
holaOS

Open-source agentic workspace enterprises can make their own. Connect the systems you already run — 100+ integrations, MCP, chat tools, apps, browser, local files — with shared memory. Any agent (Claude Code, Codex), any model, or BYOK. Set up in clicks, not months. Local-first: your data never leaves your machines.

11k
QwenAudio/
qwen-audio-agent

A realtime voice runtime that keeps Agents talking, working, and present. Real-time Voice Runtime for AI Agents

2.4k
AMAP-ML/
LongHorizon-Harness

The long-horizon computer-use harness. Run AI agents across desktop apps and the CLI for extended periods while preserving task state and making reliable progress on complex workflows. Features fresh-context execution, durable verified state, independent auditing, recoverable progress, and native Claude Code / Codex / OpenClaw integration.

1.5k
code-yeongyu/
lazycodex

The one and only agent harness for complex codebases. Project memory, planning, execution, and verified completion inside Codex.

3.4k