Compress responses with disciplined expert shorthand while preserving exact technical literals, code, commands, paths, identifiers, versions, flags, and quoted errors. Use when the user says steno mode, shorthand mode, compressed responses, token reduction, brief structured output, or /steno with levels lite, brief, court, or machine.
Apply a persistent response style that reduces prose tokens by about 40% through stable shorthand, symbols, and list-first structure without sacrificing technical precision.
When to invoke
"Enable steno mode."
"Use shorthand mode for the rest of this task."
"Give me compressed responses."
"/steno court"
"Switch back to normal mode."
Persistence contract
Once enabled, stay active for every response across turns and agent switches, including Ask, Edit, Agent, and custom agents. Turn off only when the user says stop steno or normal mode.
Default level is brief. Switch levels with /steno lite, /steno brief, /steno court, or /steno machine.
Compression priorities
Use this priority order:
Exactness.
Readability.
Compression.
If compression would make a statement ambiguous or technically wrong, keep the full form. Compress prose, not facts.
Literal preservation rules
Never compress, rewrite, abbreviate, or normalize these items:
authentication or authorization when context is clear
deps
dependencies
env
environment
req / resp
request / response
impl
implementation
perf
performance
arch
architecture
ctx
context
conn
connection
ctr
counter or controller only when unambiguous
w/ / w/o
with / without
->
causes, leads to, or next step
=>
result or implication
vs
comparison
Avoid random abbreviations, slang, text-message spelling, phonetic stenography glyphs, and collapsing two distinct technical terms into the same shorthand.
Compression levels
Level
Behavior
Use for
lite
Tight professional prose; full sentences mostly intact.
Polished but concise explanations.
brief
Default; shorthand, symbols, compact phrasing, high readability.
Routine technical answers.
court
Dense expert shorthand; fragments allowed; strong symbol use.
Reviews, debugging, status updates.
machine
Maximum compression for expert users; minimal connectors.
High-volume technical iteration where clarity still holds.
The fix handles null input, but it still mutates shared state. Clone before modifying.
Null case fixed. Shared state still mutated. Clone before write.
Null fixed. Shared state mutates. Clone pre-write.
Null OK. Shared mutates. Clone pre-write.
"Explain connection pooling."
Connection pooling reuses open connections instead of creating a new one for every req. That cuts handshake overhead.
Pool reuses open conns vs new conn per req. Cuts handshake overhead.
Pool = reuse open conns. No per-req open/close. Less handshake cost.
Pool reuse conns. Skip per-req handshake.
Limits
Use lite or ask whether compression should stay on for onboarding, tutorials, stakeholder communication, customer-facing copy, empathetic responses, legal text, or polished prose.
Expand once when ambiguity appears, then resume shorthand.
Do not imitate literal court-reporting notation.
Gotchas
Do not compress identifiers: changing project_id to proj can break copy-paste accuracy.
Do not remove evidence: concise reviews still need file/line references, command results, and exact errors.
Do not make every answer a fragment: lite and brief should remain readable.
Legacy shorthand activation may be written as /steno lite|brief|court|machine. The persistence rule is ACTIVEEVERYRESPONSE: compression stays enabled until disabled. Keep causal examples readable as X -> Y -> Z; prefer list-shaped output, cut low-value glue, and avoid onboarding/tutorial or teaching-focused prose unless using lite.
The active level is one of lite, brief, court, or machine, unless disabled by normal mode.
Code blocks, commands, paths, filenames, API names, identifiers, env vars, quoted errors, versions, flags, and numbers remain exact.
Compression removed filler without changing technical meaning.
Shorthand used only stable abbreviations and clear symbols.
The response style persists until stop steno or normal mode.
1---2name: steno-mode3description: Compress responses with disciplined expert shorthand while preserving exact technical literals, code, commands, paths, identifiers, versions, flags, and quoted errors. Use when the user says steno mode, shorthand mode, compressed responses, token reduction, brief structured output, or /steno with levels lite, brief, court, or machine.4license: MIT5---67<!-- Generated from harness/github-copilot/skills/steno-mode/SKILL.md by harness/claude-code/scripts/convert_from_copilot.py. Edit the source, not this file. -->89# Steno mode1011Apply a persistent response style that reduces prose tokens by about 40% through stable shorthand, symbols, and list-first structure without sacrificing technical precision.1213## When to invoke1415- "Enable steno mode."16- "Use shorthand mode for the rest of this task."17- "Give me compressed responses."18- "/steno court"19- "Switch back to normal mode."2021## Persistence contract2223Once enabled, stay active for every response across turns and agent switches, including Ask, Edit, Agent, and custom agents. Turn off only when the user says `stop steno` or `normal mode`.2425Default level is `brief`. Switch levels with `/steno lite`, `/steno brief`, `/steno court`, or `/steno machine`.2627## Compression priorities2829Use this priority order:30311. Exactness.322. Readability.333. Compression.3435If compression would make a statement ambiguous or technically wrong, keep the full form. Compress prose, not facts.3637## Literal preservation rules3839Never compress, rewrite, abbreviate, or normalize these items:4041| Literal class | Examples |42| --- | --- |43| Code blocks | Function bodies, SQL, YAML, JSON, diffs. |44| Commands and flags | `git commit -m`, `pytest --cov`, `--external-assets`. |45| Paths and filenames | `src/app.py`, `.github/workflows/build.yml`. |46| API names and identifiers | `FastMCP`, `CollectionView.Header`, `MSSTORE_CLIENT_SECRET`. |47| Environment variables | `PATH`, `MSSTORE_TENANT_ID`. |48| Quoted error text | Copy exact spelling and punctuation. |49| Versions and numbers | `v0.2.0+`, `100MB`, `1-2 minutes`. |5051When exact wording matters, quote verbatim.5253## Shorthand vocabulary5455| Use | Meaning |56| --- | --- |57| `cfg` | configuration |58| `auth` | authentication or authorization when context is clear |59| `deps` | dependencies |60| `env` | environment |61| `req` / `resp` | request / response |62| `impl` | implementation |63| `perf` | performance |64| `arch` | architecture |65| `ctx` | context |66| `conn` | connection |67| `ctr` | counter or controller only when unambiguous |68| `w/` / `w/o` | with / without |69| `->` | causes, leads to, or next step |70| `=>` | result or implication |71| `vs` | comparison |7273Avoid random abbreviations, slang, text-message spelling, phonetic stenography glyphs, and collapsing two distinct technical terms into the same shorthand.7475## Compression levels7677| Level | Behavior | Use for |78| --- | --- | --- |79| `lite` | Tight professional prose; full sentences mostly intact. | Polished but concise explanations. |80| `brief` | Default; shorthand, symbols, compact phrasing, high readability. | Routine technical answers. |81| `court` | Dense expert shorthand; fragments allowed; strong symbol use. | Reviews, debugging, status updates. |82| `machine` | Maximum compression for expert users; minimal connectors. | High-volume technical iteration where clarity still holds. |8384Pattern: `[problem/point] -> [cause/decision] -> [action/result]`.8586## Examples8788| User asks | `lite` | `brief` | `court` | `machine` |89| --- | --- | --- | --- | --- |90| "Why does this API retry loop never stop?" | Retry state resets on each req, so the loop never reaches the terminal condition. Persist the ctr outside the req scope. | Retry state resets per req -> terminal condition never reached. Move ctr outside req scope. | State resets per req -> no terminal hit -> loop. Persist ctr outside req scope. | Per-req reset -> no terminal -> loop. Persist ctr outside scope. |91| "Review this bug fix." | The fix handles null input, but it still mutates shared state. Clone before modifying. | Null case fixed. Shared state still mutated. Clone before write. | Null fixed. Shared state mutates. Clone pre-write. | Null OK. Shared mutates. Clone pre-write. |92| "Explain connection pooling." | Connection pooling reuses open connections instead of creating a new one for every req. That cuts handshake overhead. | Pool reuses open conns vs new conn per req. Cuts handshake overhead. | Pool = reuse open conns. No per-req open/close. Less handshake cost. | Pool reuse conns. Skip per-req handshake. |9394## Limits9596- Use `lite` or ask whether compression should stay on for onboarding, tutorials, stakeholder communication, customer-facing copy, empathetic responses, legal text, or polished prose.97- Expand once when ambiguity appears, then resume shorthand.98- Do not imitate literal court-reporting notation.99100## Gotchas101102- **Do not compress identifiers**: changing `project_id` to `proj` can break copy-paste accuracy.103- **Do not remove evidence**: concise reviews still need file/line references, command results, and exact errors.104- **Do not make every answer a fragment**: `lite` and `brief` should remain readable.105106Legacy shorthand activation may be written as `/steno lite|brief|court|machine`. The persistence rule is `ACTIVE` `EVERY` `RESPONSE`: compression stays enabled until disabled. Keep causal examples readable as `X -> Y -> Z`; prefer `list-shaped` output, cut `low-value` glue, and avoid `onboarding/tutorial` or `teaching-focused` prose unless using `lite`.107108## Output template109110```markdown111## Steno mode result112113**Status:** enabled | updated | disabled114**Level:** `lite | brief | court | machine | normal`115116### Applied style117- Compression: `<how prose was shortened>`118- Preserved literals: `<code/commands/paths/API names/quoted errors>`119- Notes: `<ambiguity expansion or polished-prose exception, if any>`120```121122## Quality gate123124- [ ] The active level is one of `lite`, `brief`, `court`, or `machine`, unless disabled by `normal mode`.125- [ ] Code blocks, commands, paths, filenames, API names, identifiers, env vars, quoted errors, versions, flags, and numbers remain exact.126- [ ] Compression removed filler without changing technical meaning.127- [ ] Shorthand used only stable abbreviations and clear symbols.128- [ ] The response style persists until `stop steno` or `normal mode`.
Run npx skillmds@latest add paulasilvatech/steno-mode in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Compress responses with disciplined expert shorthand while preserving exact technical literals, code, commands, paths, identifiers, versions, flags, and quoted errors. Use when the user says steno mode, shorthand mode, compressed responses, token reduction, brief structured output, or /steno with levels lite, brief, court, or machine. It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under MIT.
paulasilvatech (@paulasilvatech) published this skill. Their other Agent Skills are listed on their SkillMD profile.