freshcrate
Skin:/
Home > Frameworks > signal

signal

SIGNAL โ€” Agent Skills: terse structured output (tiers, templates, checkpoints), git workflow skills (commit, push, PR, review, ckpt), Karpathy-inspired coding norms. Claude Code, Cursor, Gemini CLI, C

Why this rank:Release freshnessStrong adoptionHealthy release cadence

Description

SIGNAL โ€” Agent Skills: terse structured output (tiers, templates, checkpoints), git workflow skills (commit, push, PR, review, ckpt), Karpathy-inspired coding norms. Claude Code, Cursor, Gemini CLI, Codex & other Agent Skills hosts.

README

SIGNAL logo

SIGNAL ยท v0.3.2

Less prompt noise. More room for code.
Agent skills that default to dense output: minified .min.md payloads, symbol shorthand, optional checkpoints.

GitHub starsLicenseCIVersion

At a glance

Topic Summary
What you get Shorter instructions + replies in the agent; checkpoints (S3) instead of pasting full thread history when you want them.
What you run npx skills add mattbaconz/signal โ†’ /signal (light) ยท /signal2 (default) ยท /signal3 (auto-CKPT).
What this tree is skills/ = source specs you edit. gemini-signal/ ยท claude-signal/ ยท kiro-signal/ = mirrored host packages (donโ€™t hand-edit; see CONTRIBUTING).

Protocol entrypoints: skills/signal.min.md ยท symbols skills/signal-core.min.md ยท repo github.com/mattbaconz/signal ยท releases CHANGELOG.md

Demo ยท Install ยท Commands ยท Benchmark ยท Repo map ยท Architecture ยท Changelog

Before / after ยท Tiers ยท Karpathy norms ยท Git & CI ยท Stars


Demo

SIGNAL benchmark โ€” skill shrink, live reply savings, live Gemini snapshot

What to trust first: ~87% smaller skill payloads on disk (seven .md โ†’ .min.md pairs, reproducible) and ~67% fewer characters in the live assistant reply (Gemini CLI JSON, EqualContext โ€” matched prompt_tokens). tokens.total on that same single-turn run only moves ~8% because prompt tokens (~8k) dominate the sum โ€” that is expected, not a failed headline. Details: Benchmark ยท docs/token-metrics.md.

Whatโ€™s illustration: scenarios Aโ€“C use ceil(characters / 4) (not billed API tokens) โ€” good for shape, not primary โ€œproofโ€ vs hosts that report real tokenizer counts.

Reproduce: scripts/benchmark.ps1 (static) ยท benchmark/run.ps1 / benchmark/README.md (live + long-session).


Before / after

๐Ÿ‘ค Verbose agent ๐ŸŒ SIGNAL
โ€œI think the problem might be in auth.js around line 47โ€ฆโ€ auth.js:47 ยท null ref ยท guard โ€” ~7ร— fewer tokens in the scripted benchmark.
Paste 10 turns of chat + tool noise into context. CKPT atom: stack, progress, next step โ€” transcript stays out of the window.
One giant SKILL.md tree + references forever. Canonical .md for humans, .min.md for the agent โ€” ~87% smaller on the seven main pairs (Benchmark).

Install

npx skills add mattbaconz/signal

Global:

npx skills add mattbaconz/signal -y -g

After install: open skills/signal.min.md, pick S1 / S2 / S3, add workflow skills (signal-commit, โ€ฆ) only when you need them.

Claude Code (app + CLI)

Plugins only exist in Claude Code (the coding agent). The consumer claude.ai desktop chat does not expose /plugin โ€” if slash commands like /plugin are ignored or โ€œunknown,โ€ youโ€™re either in the wrong app or on an old Claude Code build. Update Claude Code and restart; official troubleshooting: Discover plugins โ€” โ€œ/plugin command not recognizedโ€.

A) Plugin marketplace (when /plugin works) โ€” in the Claude Code session, same input as other slash commands:

/plugin marketplace add mattbaconz/signal
/plugin install signal@signal-suite

(owner/repo works for GitHub; you can use a full Git URL instead.) Then run /reload-plugins. Marketplace id is signal-suite โ€” confirm with /plugin marketplace list. Details: claude-signal/README.md.

With the plugin, skills are namespaced: /signal:signal, /signal:signal-commit, /signal:signal-push, โ€ฆ (plugin name signal, then :, then folder name under claude-signal/skills/).

B) No /plugin โ€” standalone skills (works everywhere Claude loads ~/.claude/skills/): clone this repo, run scripts/sync-integration-packages.ps1 once if needed, then:

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\install-signal-all.ps1

That copies claude-signal/skills/ into %USERPROFILE%\.claude\skills\. Then use short commands like /signal, /signal-commit (see Commands). Do not also install the plugin for the same skills.

C) One-off: run Claude Code from a terminal with the plugin dir โ€” claude-signal/README.md (claude --plugin-dir ./claude-signal from the repo).

Optional: merge templates/claude-CLAUDE.min.md into your project CLAUDE.md for thin always-on defaults.


Commands

Command What it does
/signal S1 โ€” entry tier
/signal2 S2 โ€” strong default
/signal3 S3 โ€” auto-CKPT
/signal-commit Stage + conventional commit
/signal-push Commit + push
/signal-pr Push + PR (gh)
/signal-review One-line review, severity required
/signal-state .signal_state.md
/signal-diff Summarized changes
/signal-search Summarized search

Tier detail: Tiers.


Repo map

There is no legacy top-level signal/ directory in this repoโ€”ignore older docs that referred to it. This table is what you actually open after cloning.

Location What it is You need it ifโ€ฆ
[skills/](skills/) Canonical skill specs: *.md (readable) + *.min.md (dense) You install via npx skills add or copy skills into an agent
[gemini-signal/](gemini-signal/), [claude-signal/](claude-signal/) Mirrored host extension layouts (SKILL.md per tool) You ship the Gemini CLI or Claude Code plugin from this tree
[kiro-signal/](kiro-signal/) Kiro mirror: skills/ + bundled references/ with rewritten paths You import into Kiro IDE โ€” see docs/kiro.md
[references/](references/) Shared refs (symbols, Karpathy norms, benchmarks, checkpoint notes) You cite norms or symbols
[templates/](templates/) Snippets to merge into a projectโ€™s GEMINI / CLAUDE files You integrate SIGNAL into an app repo
[scripts/](scripts/) shrink.ps1, sync-integration-packages.ps1, verify.ps1, benchmark.ps1 You contribute or verify locally (CONTRIBUTING.md)

Why SIGNAL

Same idea as At a glance, with moving parts: symbols instead of paragraphs, .signal_state.md for durable state, signal-diff / signal-search instead of raw dumps โ€” all optional tools you pull in when the session needs them.

flowchart LR
  subgraph inputs [Verbose]
    V1[Long replies]
    V2[Full thread history]
    V3[Hedging and filler]
  end
  subgraph signal [SIGNAL]
    S[Symbol grammar]
    C[CKPT summaries]
    M[Minified skills]
  end
  subgraph outputs [Dense]
    D1[Terse pointers]
    D2[Checkpoint atom]
    D3[~87% smaller payloads]
  end
  V1 --> S
  V2 --> C
  V3 --> S
  S --> D1
  C --> D2
  M --> D3
Loading

Cumulative transcript savings (baseline vs checkpoint-style history) are covered in benchmark/README.md (benchmark/long-session/ after a full clone). Prompt vs output vs tokens.total โ€” hosts report different scopes; see docs/token-metrics.md.


Tiers

Use /signal, /signal2, or /signal3.

Tier You get Rough habit savings
S1 Symbols, no preamble, no hedge, terse ~35%
S2 S1 + BOOT, aliases, delta-friendly turns another ~20% on top
S3 S2 + auto-checkpoint every 5 turns long sessions stay bounded

Symbol grammar (snippet)

Symbol Meaning Example
โ†’ causes / produces nullrefโ†’crash
โˆ… none / remove / empty cache=โˆ…
ฮ” change / diff ฮ”+cacheโ†’~5ms
! required / must !fix before deploy
[n] confidence 0.0โ€“1.0 fix logic [0.95]

Full reference: [skills/signal-core.min.md](skills/signal-core.min.md).


Benchmark

The chart matches Demo. Honest order of strength: (1) skill file shrink on disk โ€” verifiable byte counts; (2) live reply length โ€” real JSON from one Gemini run; (3) single-turn tokens.total โ€” moves slowly when prompt is huge; (4) scripted Aโ€“C โ€” ceil(chars/4) illustrations, not API tokenizer truth.

Heuristic scenarios (illustration only)

Uses ceil(characters / 4) โ€” not billed API tokens; useful for shape, not a substitute for tokenizer-accurate counts on every host.

Scenario Verbose SIGNAL Saved
A: 10-turn history vs CKPT ~167 ~45 ~73% ยท ~3.7ร—
B: Bug paragraph vs one line ~51 ~7 ~86% ยท ~7.3ร—
C: Hedging vs [conf] ~8 ~2 ~75% ยท ~4ร—

Skill pairs (canonical .md โ†’ .min.md) โ€” primary on-disk proof

Pair Bytes (โ‰ˆ) Est. tok (โ‰ˆ) Shrink
signal 2.8K โ†’ 0.7K ~712 โ†’ ~182 ~75%
signal-ckpt 5.6K โ†’ 0.7K ~1389 โ†’ ~163 ~88%
signal-commit 8.3K โ†’ 0.7K ~2071 โ†’ ~178 ~91%
signal-pr 4.7K โ†’ 0.5K ~1177 โ†’ ~130 ~89%
signal-push 3.7K โ†’ 0.5K ~936 โ†’ ~131 ~86%
signal-review 5.5K โ†’ 0.6K ~1378 โ†’ ~145 ~90%
signal-state 2.0K โ†’ 0.7K ~511 โ†’ ~163 ~68%
7 pairs total ~32.7K โ†’ ~4.4K ~8173 โ†’ ~1090 ~87%

Min-only helpers (signal-core, signal-diff, signal-search) โ‰ˆ 1.6K bytes (~389 est. tokens).

Live Gemini (single-turn chess harness)

Caveat: one turn per arm, EqualContext (matched project GEMINI.md). No checkpoints, no /signal3 auto-CKPT, no multi-turn BOOT/delta โ€” this stresses output style on one task type, not long-session history collapse.

Source: benchmark/benchmark chess/run_chess_compare.ps1 with -Pair EqualContext. Model gemini-3.1-pro-preview.

Why tokens.total is not the hero row: both sides load ~8k prompt tokens. tokens.total โ‰ˆ prompt + generation, so a big reply cut still yields only a ~8% drop in tokens.total โ€” while reply characters fall ~67% (that is the visible win on this run).

Metric Baseline SIGNAL-style Notes
Reply (chars) ~1,823 ~604 ~67% fewer โ€” primary live win on this run
prompt_tokens ~8,060 ~8,061 Matched โ€” methodology check (EqualContext)
tokens.total (max) ~9,039 ~8,333 ~8% lower โ€” dominated by prompt; see above

Reading the numbers & multi-turn proof

[docs/token-metrics.md](docs/token-metrics.md) โ€” prompt vs output vs tokens.total. Multi-turn / cumulative protocol benchmark: [benchmark/long-session/](benchmark/long-session/) (see [benchmark/README.md](benchmark/README.md)) โ€” that is where checkpoint-style savings compound vs a growing baseline transcript.

Reproduce

Static (heuristic + skill table printout; no API):

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\benchmark.ps1

Live chess (refreshes JSON under benchmark/benchmark chess/):

powershell -NoProfile -ExecutionPolicy Bypass -File .\benchmark\run.ps1 -Mode Chess -Pair EqualContext

Long-session (multi-turn; many API calls):

powershell -NoProfile -ExecutionPolicy Bypass -File .\benchmark\run.ps1 -Mode LongSession -Quick

Architecture

flowchart TB
  subgraph protocol [Protocol layer]
    P["signal.min.md"]
    CORE["signal-core.min.md"]
  end
  subgraph workflow [Workflow skills]
    CKPT["signal-ckpt"]
    GIT["commit / push / pr"]
    REV["signal-review"]
  end
  subgraph context [Context tools]
    DIFF["signal-diff"]
    SRCH["signal-search"]
    ST["signal-state"]
  end
  subgraph persist [Persistence]
    STATE[".signal_state.md"]
  end
  P --> CORE
  P --> CKPT
  P --> GIT
  P --> REV
  P --> DIFF
  P --> SRCH
  ST --> STATE
Loading

Tier ladder:

flowchart LR
  S1["/signal โ€” S1"] --> S2["/signal2 โ€” S2"]
  S2 --> S3["/signal3 โ€” S3"]
  S1 -.- D1["~35% vs loose chat"]
  S2 -.- D2["BOOT ยท aliases ยท ฮ”"]
  S3 -.- D3["Auto-CKPT every 5 turns"]
Loading

Coding norms (Karpathy-style)

Tiers shape assistant chat (symbols, templates, checkpoints). Karpathy-style norms shape implementation work (how you edit code and ship commits): orthogonal axesโ€”activating /signal3 does not replace surgical diffs or explicit assumptions.

Norms in brief (canonical list: [references/karpathy-coding-norms.md](references/karpathy-coding-norms.md)):

  1. Assumptions โ€” explicit over implicit; say when unsure.
  2. Simplicity โ€” avoid over-engineering.
  3. Surgical diffs โ€” minimal changes tied to the goal.
  4. Verifiable goals โ€” reproduce, test, or verify where it matters.
  5. No filler โ€” skip โ€œhere is the codeโ€; show the code.
Resource Link
Full norms [references/karpathy-coding-norms.md](references/karpathy-coding-norms.md)
In skills [skills/signal.md](skills/signal.md), [skills/signal-core.min.md](skills/signal-core.min.md) (KarpathyNorms), [skills/signal-commit.min.md](skills/signal-commit.min.md) (followKarpathy)
Host templates [templates/gemini-GEMINI.md](templates/gemini-GEMINI.md), [templates/claude-CLAUDE.md](templates/claude-CLAUDE.md)

Git workflows & CI

Skill Role
[skills/signal-commit.min.md](skills/signal-commit.min.md) Stage all, conventional commit (--draft / --split)
[skills/signal-push.min.md](skills/signal-push.min.md) Commit + push
[skills/signal-pr.min.md](skills/signal-pr.min.md) Commit + push + gh pr create

CI: [.github/workflows/verify.yml](.github/workflows/verify.yml) runs [scripts/verify.ps1](scripts/verify.ps1) on Windows for main and PRs.


Changelog

All releases: CHANGELOG.md.


Repository layout (clone root)

./
โ”œโ”€โ”€ skills/              # canonical *.md + *.min.md (edit here; see CONTRIBUTING.md)
โ”œโ”€โ”€ assets/              # logos, benchmark infographic
โ”œโ”€โ”€ references/          # symbols, Karpathy norms, benchmarks, checkpoint notes
โ”œโ”€โ”€ templates/           # Gemini / Claude merge snippets
โ”œโ”€โ”€ scripts/             # benchmark.ps1, shrink.ps1, verify.ps1, sync-integration-packages.ps1
โ”œโ”€โ”€ gemini-signal/       # Gemini CLI extension (mirrored from skills/)
โ”œโ”€โ”€ claude-signal/       # Claude Code plugin (mirrored from skills/)
โ”œโ”€โ”€ kiro-signal/         # Kiro IDE import (mirrored + bundled references/)
โ”œโ”€โ”€ hooks/
โ””โ”€โ”€ GEMINI.md            # root context (synced from gemini-signal/)

Star History

Star History Chart

v0.3.2 โ€” Shrinking Session. Brutalist token compression.

Release History

VersionChangesUrgencyDate
main@2026-05-03Latest activity on main branchHigh5/3/2026
v0.3.1Latest release: v0.3.1High4/21/2026
v0.2.0Tag v0.2.0High4/17/2026
v0.1.1Tag v0.1.1High4/16/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

agentic-configProject-agnostic, composable AI workflow automation via pi packages and Claude Code plugins.v0.3.1
MeowKitProduction ready. AI Agent Workflow System for Claude Codev2.10.2
cc-sddTurn approved specs into long-running autonomous implementation. A minimal, adaptable SDD harness with Agent Skills for Claude Code, Codex, Cursor, Copilot, Windsurf, OpenCode, Gemini CLI, and Antigrav3.0.2
ctxraySee how you really use AI โ€” X-ray your AI coding sessions locallyv2.2.1
outputThe open-source TypeScript framework for building AI workflows and agents. Designed for Claude Code describe what you want, Claude builds it, with all the best practices already in place.main@2026-06-05

More in Frameworks

langchainThe agent engineering platform
deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of ta
tqdmFast, Extensible Progress Meter
simBuild, deploy, and orchestrate AI agents. Sim is the central intelligence layer for your AI workforce.