Skip to content

subhsaha/TeleText

Repository files navigation

  ─  ·  · ─ · ·  ·  ─  ·  ─ · · ─  ─
  T  E   L  E   T  E   X     T
  ─  ·  · ─ · ·  ·  ─  ·  ─ · · ─  ─

TeleText

Telegraphic communication style for AI agents.

Strips unnecessary words from AI responses using the same economy rules that governed 19th-century telegraph operators — when every word cost money and clarity was non-negotiable.

Code blocks never touched. Rules sourced from a real 1928 handbook.

"Brevity is the soul of telegraphy." — Nelson E. Ross, How to Write Telegrams Properly, 1928, p. 20


The Idea

When you send a telegram, you pay per word. So you learn fast to drop every word that doesn't carry meaning: articles, filler, pleasantries, redundant phrases. What remains is precise, fast, and clear.

AI agents are verbose by default. TeleText applies the same discipline: activate it, and responses shed function words while keeping every fact intact.


Install

Agent Method Auto-activates?
Claude Code Plugin or hooks Yes — every session
Cursor Rule file Yes — always on
Windsurf Rule file Yes — always on
Cline .clinerules Yes — auto-discovered
Copilot copilot-instructions.md Yes — repo-wide
Others npx skills No — /teletext each session

Claude Code

Option A — Plugin (recommended)

claude plugin install subhsaha/teletext

Hooks activate CABLE on every session start. Statusline badge [CABLE] / [WIRE] / [FLASH] appears automatically. No manual /teletext needed.

Option B — Hooks installer

From a local clone:

bash hooks/install.sh

Or without cloning (one-liner):

bash <(curl -s https://raw.githubusercontent.com/subhsaha/TeleText/main/hooks/install.sh)

What it installs:

  • SessionStart hook — injects teletext rules at session start
  • UserPromptSubmit hook — tracks level when you switch with /teletext wire etc.
  • Statusline badge — shows active level in terminal

Restart Claude Code after running.

Option C — Skill files only (no auto-activation)

bash scripts/install.sh claude

Copies skill .md files to ~/.claude/commands/. Use /teletext to activate manually each session.


Cursor

bash scripts/install.sh cursor

Copies skill files to ~/.cursor/commands/. The repo also ships a .cursor/rules/teletext.mdc with alwaysApply: true — clone the repo into your project to get always-on activation without a command.


Windsurf

bash scripts/install.sh windsurf

Copies skill files to ~/.windsurf/commands/. The .windsurf/rules/teletext.md file with trigger: always_on ships in the repo — clone it into your project for always-on activation.


Cline

.clinerules/teletext.md is in the repo root. Cline auto-discovers all .clinerules/ files — clone the repo or copy that file into your project root. No command needed.


Copilot (VS Code)

.github/copilot-instructions.md and AGENTS.md are included. They activate teletext repo-wide when the repo is in your workspace.

Manual install to VS Code commands directory:

bash scripts/install.sh vscode

Any agent via npx skills

npx skills add subhsaha/teletext

Copies skill files to the right location for whatever agent npx skills detects. Use /teletext to activate.


Auto-detect (installs to all detected agents)

bash scripts/install.sh

Scans for Claude Code, Cursor, Windsurf, and VS Code — installs to every one it finds.


Uninstall

bash hooks/uninstall.sh      # Claude Code hooks
bash scripts/uninstall.sh    # skill files (all agents)

Set a different default level

export TELETEXT_DEFAULT_LEVEL=wire

Or persist it:

# ~/.config/teletext/config.json
{ "defaultLevel": "wire" }

Valid values: off wire cable flash code


Commands

Command What it does
/teletext Activate CABLE level (default) for this session
/teletext wire Light compression — grammar intact, filler removed
/teletext cable Default telegraphic — drops articles, pronouns, auxiliaries
/teletext flash Maximum compression — for memory/log files only
/teletext code Structured key=value output
/teletext-commit Terse conventional commit message from staged diff
/teletext-review One-line code review comments, issues only
/teletext-compress <file> Compress a memory or context file in-place

Levels

There are 4 levels, ranging from light to extreme. Each is grounded in Ross's own text.


WIRE — Light

Removes filler, closings, and pleasantries. Sentence grammar stays intact. Safe to paste into tickets, emails, or Slack.

What gets removed: "I just wanted to let you know", "Yours sincerely", "essentially", "basically", "it is worth noting that"

Before:
  "I just wanted to let you know that the build is currently passing
   and all of the tests are green. Everything looks really good."

After [WIRE]:
  "Build passing. All tests green."

CABLE — Default

Ross's prescribed economy level. Based directly on his demonstration in the book (p. 23). Drops articles (a, the), subject pronouns (I, we, that), and redundant auxiliaries where meaning survives without them. Fragments are allowed.

What gets removed: articles, subject pronouns, auxiliary verbs, conjunctions where avoidable

Before:
  "We received your very fine letter and your telegram this morning
   on the morning after you left us there were so many things to be
   done that all we could do was to pack up and get a taxi in time
   for the train we are leaving now."

After [CABLE] — Ross's own compressed version, p. 23:
  "Received your very fine letter and telegram this morning so many
   things to be done morning after you left all we could do was pack
   and get taxi for train are leaving now."

Technical example:

Before:
  "The authentication service is currently down and users are unable
   to log in to the system at this time."

After [CABLE]:
  "Auth svc down. Users cannot login."

FLASH — Maximum

Press correspondent style — how wire journalists filed dispatches when cable tolls were charged by the word. Ross demonstrates this on p. 24 and immediately notes it is "unsuited to the ordinary business or social telegram."

Use this only for compressing memory files and session context — not for human-facing responses.

Before:
  "The enemy has not yet been met or even seen on account of the
   entanglements thrown up during the night."

After [FLASH] — Ross's own cable version, p. 24:
  "Enemy unmet unseen account entanglements upthrown night."

Memory file example:

Before:
  "The user is a senior software engineer working on the authentication
   service. They have deep expertise in Go but this is their first time
   working on the React frontend."

After [FLASH]:
  "user: senior eng. auth svc. go expert. react=new."

CODE — Structured

Key=value pairs. Inspired by Ross's description of industry codebooks (p. 26–27), where grain merchants compressed 14-word trade messages to 3-word codes. Use for logs, CI output, and structured data.

status=fail svc=auth err=timeout retries=3 ts=2026-04-14T09:32Z

What Is Never Touched

TeleText only compresses prose. These are always preserved exactly:

  • Code blocks — never altered
  • File pathssrc/auth/jwt.ts stays as-is
  • URLs — never shortened or altered
  • Identifiers and variable namesauthTokenExpiry is not auth token expiry
  • Raw error message text — the error string is kept verbatim; telegraphic style applies to the surrounding explanation only

Inspiration

Inspired by caveman by Julius Brussee. Credit where it's due.


Style Authority

Every rule in TeleText traces to a single source:

Nelson E. Ross, How to Write Telegrams Properly, 1928 Little Blue Book No. 459 Haldeman-Julius Publications, Girard, Kansas Public domain — full text available on Wikisource

Ross's two governing principles, quoted directly:

What to cut (p. 9):

"If the telegram is packed full of unnecessary words — words which might be omitted without impairing the sense of the message — the sender has been guilty of economic waste."

What to keep (p. 9):

"In the other extreme, he may have omitted words necessary to the sense, thus sacrificing clearness in his eagerness to save a few cents."

The balance between these two is what TeleText enforces. Accuracy is never traded for brevity.


License

Apache 2.0 — see LICENSE.

About

Telegraphic text compression for LLM outputs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors