[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-94534":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":10,"languages":10,"totalLinesOfCode":10,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":14,"starSnapshotCount":14,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},94534,"attention-span","alexgreensh\u002Fattention-span","alexgreensh","Make your agents talk human. ADHD-friendly output styles for Claude Code. So you can pay attention, not tokens.","https:\u002F\u002Falexgreenshpun.com",null,191,6,116,0,75,50.04,"GNU Affero General Public License v3.0",false,"main",true,[22,23,24,25,26,27],"adhd-friendly","claude-code","eli5","explainability","explainable-ai","output-style","2026-08-24 04:01:22","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fbanner.svg\" alt=\"Attention Span — pay attention, not tokens\" width=\"820\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Falexgreensh\u002Fattention-span\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Falexgreensh\u002Fattention-span?label=version&color=6f42c1\" alt=\"Latest version\">\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdirectory-file-count\u002Falexgreensh\u002Fattention-span\u002Foutput-styles?type=file&extension=md&label=styles&color=blue\" alt=\"styles\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fwork-unchanged-2ea44f\" alt=\"work unchanged (hidden-test benchmark)\">\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Falexgreensh\u002Fattention-span?color=orange\" alt=\"AGPL-3.0\">\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ffor-Claude%20Code-d97757\" alt=\"For Claude Code\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Falexgreensh\u002Fattention-span\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Falexgreensh\u002Fattention-span?style=social\" alt=\"Stars\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002Fhero.png\" alt=\"Attention Span mascot\" width=\"900\">\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cb>English\u003C\u002Fb> · \u003Ca href=\"README.es-ES.md\">Español\u003C\u002Fa>\u003C\u002Fp>\n\nA small collection of [output styles](https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Foutput-styles) for Claude Code that change how it *talks to you*, not how it codes. Answer-first, plain English, easy to skim. Each one is a single markdown file you drop in and switch on.\n\nThe concise-by-default rules are kind to your attention first. Trimming Claude's output is a welcome side effect, not the point.\n\nThree so far: **Attention-kind** (the flagship), **Spartan** (terse, zero warmth), and **Rundown** (TL;DR briefings). Each has its own section below.\n\n## Attention-kind\n\nAn ADHD-friendly style. Claude answers first, keeps it short, drops the jargon, and expands only on what's actually worth your attention. Every point is spaced out and marked with a `→`, and the important words are **bold**, so you can skim just the bold and still get the whole answer.\n\nSame engineering ability underneath. Only the delivery changes.\n\n**Who it's for:** anyone whose attention is a limited resource. ADHD, tired, deep in flow, or just done with walls of text.\n\n### Before \u002F after\n\nThe question: **\"Which database should I use for a new social app, PostgreSQL or MongoDB?\"** Same answer, before and after the style.\n\n\u003Ctable>\n\u003Ctr>\n\u003Cth align=\"left\" width=\"50%\">Default &nbsp;·&nbsp; 430 words\u003C\u002Fth>\n\u003Cth align=\"left\" width=\"50%\">Attention-kind &nbsp;·&nbsp; 94 words\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr valign=\"top\">\n\u003Ctd>\n\nFor a new social app, start with PostgreSQL, and the bar for choosing MongoDB instead is high. Social apps are relationship-heavy by nature: users follow users, posts belong to users, comments belong to posts, likes connect users to posts. That's a web of connections, exactly what a relational database is built for. In MongoDB you either cram related data into one record and fight size limits, or split it out and end up stitching it back together in your app code anyway. The feed problem makes this worse: timelines, \"posts from people you follow,\" and mutual-friend lookups all lean on the kind of cross-referencing Postgres does in a single query. You also get consistency for free, since follow counts and \"did I already like this\" checks want real transactions… *[and it keeps going like this]*\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n**→ Use PostgreSQL.** A social app is all relationships (friends, follows, likes), and Postgres handles those natively. Right for ~90% of new social apps.\n\n**→ You keep flexibility.** Its JSONB column stores schema-less data inside the same database, so you get MongoDB's looseness without leaving Postgres.\n\n**→ Pick MongoDB only if** your data is self-contained documents with no links, and you need massive write volume on day one.\n\n**→ The early trap with MongoDB:** six months in, five different shapes of \"user\" and no clean fix. Postgres forces the structure.\n\n**→ Next:** start on managed Postgres (Supabase, Neon, RDS).\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\nSame information. One of them you can read at a glance.\n\n### Does it actually help? (measured, and reproducible)\n\nThe benchmark measures the work and the output separately, and the headline numbers use **no LLM judge**. Every figure is reproducible from this repo. [Full writeup and runnable harness.](benchmarks\u002Fresults\u002F2026-08-11-benchmark.md)\n\n- **The work is untouched.** 12 coding tasks with hidden test suites, style off vs on: pass rates are equal (**both 97%**, within noise). No judge, just tests passing.\n- **~43% shorter output** on average (median 41%), and **50-71% on verbose answers** where it matters; already-short answers barely change.\n- **You reach the point in ~6 words instead of ~40.** The answer is in the first line **75%** of the time vs **3%**. (Reading-grade scores don't apply, they only measure word length and can't see a wall of text.)\n- **Deliverables come out clean 88% of the time** vs 12% with no style, ask for a message or commit and you get just that, no wrapper.\n\nIt's shorter, clearer, and easy to grasp at a glance, with the work untouched. We don't claim it produces better answers, that isn't what it's for.\n\n### What changes\n\n- **Answer first.** Conclusion in line one. No wind-up.\n- **Short by default.** Says the least that fully answers, then stops.\n- **Expands only on what's vital**, so length itself signals importance.\n- **Plain English.** Rare technical terms get a five-word definition, once.\n- **Built to scan.** `→` markers, heavy bold, real spacing between points.\n- **No repetition.** Each point makes one distinct argument, never restated or re-argued.\n- **Re-anchors long tasks** and asks one question at a time, so you never lose the thread.\n- **Comments too.** Code comments inherit the plain-English \"explain the why\" rule, but never the chat formatting.\n\n## Spartan\n\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002Fcat-spartan.png\" alt=\"A cat in a Spartan helmet aims its laser at one lit line\" width=\"860\">\u003C\u002Fp>\n\nTerse mode with the warmth stripped out. Same arrows and bold as Attention-kind, but blunt and imperative, no cushioning, no transitions, maximum compression. For heads-down work when you want signal, not conversation.\n\nThe question: **\"Three priorities this week, room for two, how do I decide what to cut?\"** Both real Opus 5 eval outputs.\n\n\u003Ctable>\n\u003Ctr>\n\u003Cth align=\"left\" width=\"50%\">Default &nbsp;·&nbsp; 310 words\u003C\u002Fth>\n\u003Cth align=\"left\" width=\"50%\">Spartan &nbsp;·&nbsp; 168 words\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr valign=\"top\">\n\u003Ctd>\n\nCut the one that fails the cheapest test: if it slipped a week, who actually feels it, and how much? Run all three through four quick filters and the loser usually falls out on its own. Consequence of delay: two of your three probably have soft deadlines you invented and one has a real one, a person waiting, a dependency downstream, a window that closes. Cut from the self-imposed pile, never the someone-is-blocked-on-me pile. Reversibility: some things get harder the longer they wait, others are exactly as easy next week, so cut the one whose cost curve is flat. Who owns it besides you: if a priority can be delegated or done at 80% by someone else, it is a better cut than one only you can do… *[and it keeps going like this]*\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n**→ Rank by cost of NOT doing it, not by effort or interest.** Ask each: what breaks if this slips a week? The one with the softest consequence gets cut.\n\n**→ Kill the reversible one.** If a task can wait, be delegated, or restarted later with no penalty, cut it. Protect anything with a **hard deadline** or a **dependency** where others are blocked on you.\n\n**→ Run the regret test.** Friday night, which un-done task stings most? Keep that one. The one you'd shrug at is your cut.\n\n**→ Separate loud from important.** The priority screaming at you is often just the most **anxious**, not the most valuable. Cut by impact, not by volume.\n\n**→ Do not half-do all three.** Two finished beats three at 66%. Partial work on the third is the trap, it feels productive and ships nothing.\n\n**→ Cut it out loud.** Tell whoever's affected now, not Friday. A cut you flag is a decision, a cut you hide is a **failure with a delay**.\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\nSame style-only guarantee as Attention-kind: shorter, more scannable, the work untouched. See the [benchmark](benchmarks\u002Fresults\u002F2026-08-11-benchmark.md).\n\n## Rundown\n\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002Fcat-rundown.png\" alt=\"The Rundown cat aims its laser at a checklist, one line lit\" width=\"860\">\u003C\u002Fp>\n\nBriefing style. Opens with a **TL;DR**, shows state as a ✅ \u002F 🟡 \u002F ⬜ checklist, tags the next choices with emoji. Built for status updates and standups. **It optimizes for readability and scannability, not brevity**, so reach for it when clarity matters more than length. Includes a guard against inventing status it wasn't given.\n\nThe question: **\"Summarize where hiring stands: 20 applicants, 5 screened, 2 interviews, no offer, one strong candidate slipping.\"** Both real Opus 5 eval outputs.\n\n\u003Ctable>\n\u003Ctr>\n\u003Cth align=\"left\" width=\"50%\">Default &nbsp;·&nbsp; a paragraph you read\u003C\u002Fth>\n\u003Cth align=\"left\" width=\"50%\">Rundown &nbsp;·&nbsp; a board you scan\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr valign=\"top\">\n\u003Ctd>\n\nHiring stands at the top of the funnel and thin at the bottom. Twenty applicants in, five screened, two interviews booked. No offer has gone out yet, and that gap is the problem: one of the strongest candidates is cooling off while the process idles. The numbers: applicants 20, screened 5, interviews booked 2, offers out 0, at risk 1 strong candidate slipping away. The read: this is a speed problem, not a supply problem. The pipeline is healthy up top, but nothing has converted to an offer, and the best prospect is drifting. The highest-value move is to fast-track the slipping candidate before the delay decides for us. Bottleneck: the offer stage… *[and it keeps going like this]*\n\n\u003C\u002Ftd>\n\u003Ctd>\n\nTL;DR: Pipeline is healthy up top but the finish line is stalling, and your best candidate is about to walk.\n\n**Hiring funnel**\n- ☑️ **Applicants in:** 20 sourced\n- ☑️ **Screened:** 5 of 20 done\n- 🟡 **Interviews:** 2 booked, not yet run\n- ⬜ **Offer:** not drafted, not out\n\n🔴 **Blocker:** One strong candidate is slipping. No offer motion means you lose them by default.\n\n**Your move:**\n- 🚀 Fast-track the strong candidate, skip ahead to offer talk today\n- 📞 Run the 2 booked interviews before deciding\n- 📋 Screen more of the 15 untouched applicants for backup\n- ✍️ Draft the offer now so it is ready to fire\n\nPick one: save the candidate now, or run the full process and risk losing them?\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Install\n\n**1.** Drop the style into your output-styles folder. Global (every project):\n\n```bash\nmkdir -p ~\u002F.claude\u002Foutput-styles\ncurl -o ~\u002F.claude\u002Foutput-styles\u002Fattention-kind.md \\\n  https:\u002F\u002Fraw.githubusercontent.com\u002Falexgreensh\u002Fattention-span\u002Fmain\u002Foutput-styles\u002Fattention-kind.md\n```\n\nOr put it in `.claude\u002Foutput-styles\u002F` inside a single project.\n\n**2.** Set it as your default in `~\u002F.claude\u002Fsettings.json`. Do this once and it's on every session, forever:\n\n```json\n{ \"outputStyle\": \"Attention-kind\" }\n```\n\n**3.** Restart or `\u002Fclear`. That's it.\n\n**Rather not edit JSON?** Install the `\u002Fstyle` command and it does step 2 for you:\n\n```bash\nmkdir -p ~\u002F.claude\u002Fcommands\ncurl -o ~\u002F.claude\u002Fcommands\u002Fstyle.md \\\n  https:\u002F\u002Fraw.githubusercontent.com\u002Falexgreensh\u002Fattention-span\u002Fmain\u002Fcommands\u002Fstyle.md\n```\n\nThen `\u002Fstyle` shows a popup of the styles you have installed. `\u002Fstyle spartan` sets one straight away. `\u002Fstyle default` puts the built-in style back.\n\nIt looks in `~\u002F.claude\u002Foutput-styles\u002F` and in a project's `.claude\u002Foutput-styles\u002F`. A global style is written to `~\u002F.claude\u002Fsettings.json`. A project style is written to `.claude\u002Fsettings.local.json`, so it stays out of your teammates' checkouts.\n\n**Already have it installed?** The styles get updated. Check which version you're on and compare it to the [version badge](https:\u002F\u002Fgithub.com\u002Falexgreensh\u002Fattention-span\u002Freleases) above:\n\n```bash\ngrep attention-span ~\u002F.claude\u002Foutput-styles\u002F*.md\n```\n\nBehind? Re-run the install command in step 1 to overwrite with the latest.\n\nWant to try it for one session first? Run `\u002Fconfig` and pick it under *Output style* instead, then set the default above once you're sold.\n\n**Cost:** ~650 tokens, added once per session and cached after the first request. The benchmark measured ~43% shorter output, so the input cost is negligible after the first reply.\n\n## Actually want to cut your token bill?\n\nAttention Span is here to make your agents' answers readable and easy to grasp at a glance. The lighter token bill on those answers is a welcome side effect. If cutting token spend is your actual goal, the bigger cost is the *work* your agent does, not how it talks, and two sister tools go right at it, pairing naturally with these styles:\n\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002Fsave-tokens.png\" alt=\"The Outsourcerer wizard and the Attention Span cat vacuuming up ghost tokens with Token Optimizer\" width=\"900\">\u003C\u002Fp>\n\n**[Token Optimizer](https:\u002F\u002Fgithub.com\u002Falexgreensh\u002Ftoken-optimizer)** tackles the three layers of token waste most tools never touch:\n\n- **Structural**, e.g. bloated configs, unused skills, stale memory\n- **Runtime**, e.g. verbose output, re-reads\n- **Behavioral**, e.g. model misrouting, cache expiry, retry loops\n\n...and more in each. On top of that it compresses your output stack, checkpoints and restores your work so your sessions stay continuous across compaction, and puts every token and dollar saved on a live dashboard. It's also the only tool that measures your context quality and adjusts to it, because a cheaper session that does worse work is no saving at all.\n\n*Runs on Claude Code, Codex, OpenCode, OpenClaw, Hermes and Copilot.*\n\n**[Outsourcerer](https:\u002F\u002Fgithub.com\u002Falexgreensh\u002Foutsourcerer)** — stay in one session of whatever agent you like best. In the background it:\n\n- runs a squad across the models and harnesses you already pay for\n- picks the best one per task **by benchmark, not just price**\n- checks their work and minds your limits in every engine\n\nYou keep the cockpit; the grunt work happens elsewhere.\n\n*Works across Claude Code, Codex, Antigravity, Devin, Droid, Cursor, Warp and Hermes.*\n\nAttention Span trims how much Claude says. These two govern what your whole stack spends.\n\n## Use with other agents\n\nThe style body is plain markdown with no Claude-specific behavior. The only Claude-Code part is the YAML frontmatter at the top of each file (the `name`\u002F`description` block the `\u002Fconfig` picker reads). Other agents ignore or choke on frontmatter, so the install strips it.\n\nEach style file has a `\u003C!-- body-start -->` marker after the frontmatter. The strip command is one `sed`:\n\n```bash\ncurl -sfL \u003Craw-url> | sed '1,\u002F\u003C!-- body-start -->\u002Fd'\n```\n\nThat gives you clean body markdown, ready to drop into any agent's rules or instructions file.\n\n### Install per agent\n\n**Devin** (global, via Windsurf compatibility):\n\n```bash\nmkdir -p ~\u002F.codeium\u002Fwindsurf\u002Fmemories\ncurl -sfL https:\u002F\u002Fraw.githubusercontent.com\u002Falexgreensh\u002Fattention-span\u002Fmain\u002Foutput-styles\u002Fattention-kind.md -o \u002Ftmp\u002Fattention-span.md \\\n  && sed '1,\u002F\u003C!-- body-start -->\u002Fd' \u002Ftmp\u002Fattention-span.md > ~\u002F.codeium\u002Fwindsurf\u002Fmemories\u002Fattention-kind.md\n```\n\nOr project-level: `.windsurf\u002Frules\u002Fattention-kind.md` in your repo root.\n\n**Codex** (append to global `AGENTS.md`, idempotent via fenced markers):\n\n```bash\nmkdir -p ~\u002F.codex\ncurl -sfL https:\u002F\u002Fraw.githubusercontent.com\u002Falexgreensh\u002Fattention-span\u002Fmain\u002Foutput-styles\u002Fattention-kind.md -o \u002Ftmp\u002Fattention-span.md \\\n  && { printf '\\n\u003C!-- attention-span:start -->\\n'; sed '1,\u002F\u003C!-- body-start -->\u002Fd' \u002Ftmp\u002Fattention-span.md; printf '\u003C!-- attention-span:end -->\\n'; } >> ~\u002F.codex\u002FAGENTS.md\n```\n\nTo update later, remove the old block first (in place), then re-run the install: `sed -i.bak '\u002F\u003C!-- attention-span:start -->\u002F,\u002F\u003C!-- attention-span:end -->\u002Fd' ~\u002F.codex\u002FAGENTS.md`.\n\n**Antigravity CLI (agy)** (project-level `GEMINI.md`, idempotent via fenced markers):\n\n```bash\ncurl -sfL https:\u002F\u002Fraw.githubusercontent.com\u002Falexgreensh\u002Fattention-span\u002Fmain\u002Foutput-styles\u002Fattention-kind.md -o \u002Ftmp\u002Fattention-span.md \\\n  && { printf '\\n\u003C!-- attention-span:start -->\\n'; sed '1,\u002F\u003C!-- body-start -->\u002Fd' \u002Ftmp\u002Fattention-span.md; printf '\u003C!-- attention-span:end -->\\n'; } >> GEMINI.md\n```\n\nRun this in your repo root. agy discovers `GEMINI.md` (or `AGENTS.md`) by walking up from the current directory to the repo root, so the style applies to that project and all subdirectories.\n\nTo update later, remove the old block first (in place), then re-run the install: `sed -i.bak '\u002F\u003C!-- attention-span:start -->\u002F,\u002F\u003C!-- attention-span:end -->\u002Fd' GEMINI.md`.\n\nFor a global install (all projects under your home directory), append to `~\u002FGEMINI.md` instead, agy will find it on the walk-up from any project.\n\nSwap `attention-kind.md` for `spartan.md` or `rundown.md` to install a different style. Same commands, different filename.\n\n**Notes:**\n\n- Devin loads rules via its Windsurf\u002FCursor compatibility layer, not a native rules directory. The `~\u002F.codeium\u002Fwindsurf\u002Fmemories\u002F` path is global; `.windsurf\u002Frules\u002F` is per-project.\n- Codex appends to a shared `AGENTS.md`, so the fenced markers (`\u003C!-- attention-span:start -->` \u002F `\u003C!-- attention-span:end -->`) let you update or remove the block without duplicates.\n- Antigravity CLI (agy) discovers rules by walking up from cwd to repo root, loading any `GEMINI.md` or `AGENTS.md` it finds. No frontmatter support for standalone rules. Global install works by placing `GEMINI.md` in a parent directory (e.g. `~\u002F`) that's always in the walk-up path.\n- The body is ~650 tokens of input, loaded at the start of every session. Claude Code caches it after the first request; other agents may or may not cache (provider-dependent). The output savings (~43%) dwarf the input cost within a few replies either way.\n- The `sed` strip assumes macOS\u002FLinux. On Windows, use WSL or Git Bash.\n\n## The styles\n\n| Style | File | Best for |\n|---|---|---|\n| Attention-kind | [`output-styles\u002Fattention-kind.md`](output-styles\u002Fattention-kind.md) | ADHD, attention fatigue, anyone tired of walls of text |\n| Spartan | [`output-styles\u002Fspartan.md`](output-styles\u002Fspartan.md) | Spartan mode: maximum signal, zero warmth, heads-down work |\n| Rundown | [`output-styles\u002Frundown.md`](output-styles\u002Frundown.md) | Briefings, standups, progress updates (TL;DR + checkboxes) |\n\nEach is one readable markdown file, easy to adapt.\n\n## Notes\n\n- Styles apply to the **main conversation only**. Subagents run their own prompt.\n- These keep Claude's coding behavior intact (`keep-coding-instructions: true`).\n\n## License\n\nAGPL-3.0. See [LICENSE](LICENSE).\n","这是一个为Claude Code设计的注意力友好型输出样式库，旨在优化AI响应的可读性与信息获取效率。核心功能包括提供多种轻量级Markdown格式的输出风格（如Attention-kind、Spartan、Rundown），强制回答前置、精简冗余描述、突出关键信息、结构化排版，并降低认知负荷。技术上不修改模型本身，仅通过Claude Code的output-styles机制调控提示词后处理逻辑。适用于ADHD用户、高负荷开发者、需快速决策的技术人员，以及重视可解释性与人机协作效率的AI辅助编程场景。",2,"2026-08-11 02:30:08","CREATED_QUERY"]