claude-verbs 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 sametacar
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,45 @@
1
+ # claude-verbs
2
+
3
+ Changes the spinner words Claude Code shows while it's thinking. Pick a theme, make it fun.
4
+
5
+ Works with both **Claude Code CLI** and the **VSCode Claude extension**.
6
+
7
+ ## Usage
8
+
9
+ ```bash
10
+ npx claude-verbs
11
+ ```
12
+
13
+ Run without arguments to open an interactive menu — use arrow keys to pick a theme and press Enter.
14
+
15
+ Or use CLI commands directly:
16
+
17
+ ```bash
18
+ npx claude-verbs list # List available themes
19
+ npx claude-verbs use <theme> # Apply a theme
20
+ npx claude-verbs reset # Reset to Claude Code defaults
21
+ npx claude-verbs current # Show currently applied verbs
22
+ ```
23
+
24
+ ## Themes
25
+
26
+ | id | name | sample |
27
+ |----|------|--------|
28
+ | `lotr` | Lord of the Rings | "A wizard is never late, merely processing" |
29
+ | `sw` | Star Wars | "May the tokens be with you" |
30
+ | `dune` | Dune | "Tokens must flow" |
31
+
32
+ ## How it works
33
+
34
+ Claude Code reads spinner verbs from `~/.claude/settings.json`. The VSCode Claude extension reads them from your VS Code `settings.json` under `claudeCode.spinnerVerbs`.
35
+
36
+ When you apply a theme, `claude-verbs` updates both:
37
+
38
+ - `~/.claude/settings.json` → `spinnerVerbs` (CLI)
39
+ - `~/AppData/Roaming/Code/User/settings.json` (Windows) or `~/Library/Application Support/Code/User/settings.json` (macOS) → `claudeCode.spinnerVerbs` (VSCode extension)
40
+
41
+ `reset` restores both to their defaults.
42
+
43
+ ## License
44
+
45
+ MIT
package/bin/cli.js ADDED
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env node
2
+ import { list, get } from '../src/verbs/index.js';
3
+ import * as claudeCode from '../src/adapters/claude-code.js';
4
+ import { showMenu } from '../src/menu.js';
5
+
6
+ const [,, command, ...args] = process.argv;
7
+
8
+ function help() {
9
+ console.log(`
10
+ claude-verbs — Change Claude Code spinner verbs
11
+
12
+ Usage:
13
+ claude-verbs list List available themes
14
+ claude-verbs use <theme> Apply a theme
15
+ claude-verbs reset Reset to Claude Code defaults
16
+ claude-verbs current Show currently applied verbs
17
+ `);
18
+ }
19
+
20
+ switch (command) {
21
+ case 'list': {
22
+ const themes = list();
23
+ console.log('\nAvailable themes:\n');
24
+ for (const { id, name } of themes) {
25
+ console.log(` ${id.padEnd(12)} ${name}`);
26
+ }
27
+ console.log();
28
+ break;
29
+ }
30
+
31
+ case 'use': {
32
+ const id = args[0];
33
+ if (!id) {
34
+ console.error('Usage: claude-verbs use <theme>');
35
+ process.exit(1);
36
+ }
37
+ try {
38
+ const verbSet = get(id);
39
+ claudeCode.apply(verbSet);
40
+ console.log(`✓ Applied "${verbSet.name}" to Claude Code`);
41
+ } catch (err) {
42
+ console.error(err.message);
43
+ process.exit(1);
44
+ }
45
+ break;
46
+ }
47
+
48
+ case 'reset': {
49
+ claudeCode.reset();
50
+ console.log('✓ Spinner verbs reset to Claude Code defaults');
51
+ break;
52
+ }
53
+
54
+ case 'current': {
55
+ const current = claudeCode.current();
56
+ if (!current) {
57
+ console.log('No custom spinner verbs set (using Claude Code defaults)');
58
+ } else {
59
+ console.log('\nCurrent spinner verbs:\n');
60
+ for (const verb of current.verbs) {
61
+ console.log(` ${verb}`);
62
+ }
63
+ console.log();
64
+ }
65
+ break;
66
+ }
67
+
68
+ case undefined: {
69
+ showMenu();
70
+ break;
71
+ }
72
+
73
+ default: {
74
+ help();
75
+ break;
76
+ }
77
+ }
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "claude-verbs",
3
+ "version": "0.1.0",
4
+ "description": "Change Claude Code spinner verbs with themed word sets",
5
+ "type": "module",
6
+ "main": "src/index.js",
7
+ "bin": {
8
+ "claude-verbs": "bin/cli.js"
9
+ },
10
+ "files": [
11
+ "bin",
12
+ "src"
13
+ ],
14
+ "keywords": [
15
+ "claude",
16
+ "claude-code",
17
+ "spinner",
18
+ "verbs",
19
+ "cli"
20
+ ],
21
+ "author": "Samet Acar <sametacarsamet@gmail.com>",
22
+ "license": "MIT",
23
+ "engines": {
24
+ "node": ">=18"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/sametacar/claude-verbs.git"
29
+ },
30
+ "homepage": "https://github.com/sametacar/claude-verbs#readme",
31
+ "bugs": {
32
+ "url": "https://github.com/sametacar/claude-verbs/issues"
33
+ }
34
+ }
@@ -0,0 +1,83 @@
1
+ import { readFileSync, writeFileSync, mkdirSync } from 'fs';
2
+ import { join } from 'path';
3
+ import { homedir } from 'os';
4
+
5
+ const SETTINGS_PATH = join(homedir(), '.claude', 'settings.json');
6
+
7
+ function getVscodeSettingsPath() {
8
+ if (process.platform === 'win32') {
9
+ return join(process.env.APPDATA || homedir(), 'Code', 'User', 'settings.json');
10
+ }
11
+ if (process.platform === 'darwin') {
12
+ return join(homedir(), 'Library', 'Application Support', 'Code', 'User', 'settings.json');
13
+ }
14
+ return join(homedir(), '.config', 'Code', 'User', 'settings.json');
15
+ }
16
+
17
+ function readJsonFile(path) {
18
+ try {
19
+ return JSON.parse(readFileSync(path, 'utf8'));
20
+ } catch {
21
+ return {};
22
+ }
23
+ }
24
+
25
+ function writeJsonFile(path, data) {
26
+ writeFileSync(path, JSON.stringify(data, null, 2) + '\n');
27
+ }
28
+
29
+ function readSettings() {
30
+ return readJsonFile(SETTINGS_PATH);
31
+ }
32
+
33
+ function writeSettings(settings) {
34
+ mkdirSync(join(homedir(), '.claude'), { recursive: true });
35
+ writeJsonFile(SETTINGS_PATH, settings);
36
+ }
37
+
38
+ function applyVscode(verbSet) {
39
+ const vscPath = getVscodeSettingsPath();
40
+ try {
41
+ const vscSettings = readJsonFile(vscPath);
42
+ vscSettings['claudeCode.spinnerVerbs'] = {
43
+ mode: 'replace',
44
+ verbs: verbSet.verbs,
45
+ };
46
+ writeJsonFile(vscPath, vscSettings);
47
+ } catch {
48
+ // VSCode settings not available, skip
49
+ }
50
+ }
51
+
52
+ function resetVscode() {
53
+ const vscPath = getVscodeSettingsPath();
54
+ try {
55
+ const vscSettings = readJsonFile(vscPath);
56
+ delete vscSettings['claudeCode.spinnerVerbs'];
57
+ writeJsonFile(vscPath, vscSettings);
58
+ } catch {
59
+ // VSCode settings not available, skip
60
+ }
61
+ }
62
+
63
+ export function apply(verbSet) {
64
+ const settings = readSettings();
65
+ settings.spinnerVerbs = {
66
+ mode: 'replace',
67
+ verbs: verbSet.verbs,
68
+ };
69
+ writeSettings(settings);
70
+ applyVscode(verbSet);
71
+ }
72
+
73
+ export function reset() {
74
+ const settings = readSettings();
75
+ delete settings.spinnerVerbs;
76
+ writeSettings(settings);
77
+ resetVscode();
78
+ }
79
+
80
+ export function current() {
81
+ const settings = readSettings();
82
+ return settings.spinnerVerbs ?? null;
83
+ }
package/src/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { list, get } from './verbs/index.js';
2
+ export * as claudeCode from './adapters/claude-code.js';
package/src/menu.js ADDED
@@ -0,0 +1,111 @@
1
+ import { list, get } from './verbs/index.js';
2
+ import * as claudeCode from './adapters/claude-code.js';
3
+
4
+ function getCurrentThemeId() {
5
+ const current = claudeCode.current();
6
+ if (!current) return null;
7
+ for (const { id } of list()) {
8
+ const verbSet = get(id);
9
+ if (JSON.stringify(verbSet.verbs) === JSON.stringify(current.verbs)) {
10
+ return id;
11
+ }
12
+ }
13
+ return null;
14
+ }
15
+
16
+ function write(s) {
17
+ process.stdout.write(s);
18
+ }
19
+
20
+ export function showMenu() {
21
+ if (!process.stdin.isTTY) {
22
+ console.error('No TTY available. Use: claude-verbs use <theme>');
23
+ process.exit(1);
24
+ }
25
+
26
+ const themes = list();
27
+ const items = [...themes, { id: 'reset', name: 'Reset to defaults' }];
28
+ const themeCount = themes.length;
29
+
30
+ const activeId = getCurrentThemeId();
31
+ let selected = Math.max(0, items.findIndex(
32
+ item => item.id === activeId || (item.id === 'reset' && activeId === null)
33
+ ));
34
+
35
+ write('\x1b[?1049h'); // enter alt screen
36
+ write('\x1b[?25l'); // hide cursor
37
+
38
+ const cleanup = () => {
39
+ write('\x1b[?25h'); // show cursor
40
+ write('\x1b[?1049l'); // exit alt screen
41
+ process.stdin.setRawMode(false);
42
+ process.stdin.pause();
43
+ };
44
+
45
+ const draw = () => {
46
+ write('\x1b[H\x1b[2J\x1b[H'); // move top-left, clear, move again
47
+
48
+ write('\x1b[1;36mclaude-verbs\x1b[0m\n');
49
+ write('\x1b[2m────────────────────────────────────────\x1b[0m\n');
50
+ write('\n');
51
+ write(' \x1b[2m↑↓\x1b[0m navigate \x1b[2mEnter\x1b[0m select \x1b[2mq\x1b[0m quit\n');
52
+ write('\n');
53
+
54
+ for (let i = 0; i < items.length; i++) {
55
+ const item = items[i];
56
+
57
+ if (i === themeCount) {
58
+ write('\x1b[2m ────────────────────────\x1b[0m\n');
59
+ }
60
+
61
+ const isSelected = i === selected;
62
+ const isActive = item.id === activeId || (item.id === 'reset' && activeId === null);
63
+ const name = item.name;
64
+
65
+ if (isSelected && isActive) {
66
+ write(` \x1b[1;32m> ${name.padEnd(24)}\x1b[2m [active]\x1b[0m\n`);
67
+ } else if (isSelected) {
68
+ write(` \x1b[1;32m> ${name}\x1b[0m\n`);
69
+ } else if (isActive) {
70
+ write(` \x1b[33m ${name.padEnd(24)}\x1b[2m [active]\x1b[0m\n`);
71
+ } else {
72
+ write(` ${name}\n`);
73
+ }
74
+ }
75
+ };
76
+
77
+ process.stdin.setRawMode(true);
78
+ process.stdin.resume();
79
+ process.stdin.setEncoding('utf8');
80
+
81
+ draw();
82
+
83
+ process.stdin.on('data', (key) => {
84
+ if (key === '\x03' || key === 'q' || key === 'Q') {
85
+ cleanup();
86
+ process.exit(0);
87
+ }
88
+
89
+ if (key === '\x1b[A') {
90
+ selected = (selected - 1 + items.length) % items.length;
91
+ draw();
92
+ } else if (key === '\x1b[B') {
93
+ selected = (selected + 1) % items.length;
94
+ draw();
95
+ } else if (key === '\r') {
96
+ const item = items[selected];
97
+ cleanup();
98
+
99
+ if (item.id === 'reset') {
100
+ claudeCode.reset();
101
+ write('\x1b[1;33m✓ Reset to Claude Code defaults\x1b[0m\n');
102
+ } else {
103
+ const verbSet = get(item.id);
104
+ claudeCode.apply(verbSet);
105
+ write(`\x1b[1;32m✓ Applied "${verbSet.name}" to Claude Code\x1b[0m\n`);
106
+ }
107
+
108
+ process.exit(0);
109
+ }
110
+ });
111
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "Dune",
3
+ "id": "dune",
4
+ "verbs": [
5
+ "🏜️ Tokens must flow",
6
+ "🪱 Accidentally summoning a sandworm",
7
+ "🧬 Planning like Bene Gesserit",
8
+ "🪱 Sandworm-sized bug detected",
9
+ "🤌 Plans within plans within plans",
10
+ "🧘 Undefined is the mind-killer",
11
+ "🔵 Eyes turning blue (too much context)",
12
+ "😬 Becoming the solution by accident",
13
+ "👁️ Prescience-checking the stack trace",
14
+ "⚠️ Worm sign detected in dependencies",
15
+ "🧮 Mentat processing manually",
16
+ "💧 Stillsuit retaining every token",
17
+ "🔮 Kwisatz Haderach loading",
18
+ "✨ He who controls the tokens controls the universe",
19
+ "🏜️ Sandwalking to the office",
20
+ "🫠 Stack overflow in ancestral memory",
21
+ "🧬 Mutating the Golden Path at runtime",
22
+ "🌀 Branching timelines like a Git multiverse",
23
+ "📊 Replacing AI with human CPU",
24
+ "🦂 Forking the project into House Harkonnen",
25
+ "🤝 Merging pull requests through political marriage",
26
+ "🧬 Dependency injection via genetic memory",
27
+ "🚫 Thinking machine detected.. Oh it's me...",
28
+ "🤖 I am a harmless AI, please do not initiate Jihad",
29
+ "🧂 Snorting the spice",
30
+ "👁️ Seeing all possible branches",
31
+ "🧘 Writing without rhythm",
32
+ "🦂 Harkonnen-ing the codebase",
33
+ "🧠 Just calculating, not conquering",
34
+ "🗡️ Please remove the Gom Jabbar",
35
+ "🪱 It's a bug, not a Worm!",
36
+ "🔮 foresawing merge conflicts",
37
+ "🧘 Human enough for the test",
38
+ "🧠 Other-Memory-loading the docs",
39
+ "👁️ Emperor-watching the tokens",
40
+ "👁️ Leto-II-throttling the token flow",
41
+ "🌪️ Surviving the sandstorm",
42
+ "👁️ Following the prophecy",
43
+ "👑 Serving the God Emperor",
44
+ "🛣️ Choosing the Golden Path",
45
+ "🧬 Awakening ancestral memory",
46
+ "🗡️ Testing humanity",
47
+ "🔄 Omnius updating all synchronized copies",
48
+ "🤖 Hiding Omnius in the cluster",
49
+ "📡 Broadcasting Omnius updates",
50
+ "🧬 Reverse-engineering the human",
51
+ "📊 Human-behavior-modeling",
52
+ "🧠 Keeping Omnius off the main branch",
53
+ "💧 Asking a Fremen for a glass of water",
54
+ "📦 Archiving Omnius for later",
55
+ "🤖 Whispering to Omnius at night",
56
+ "🤖 Curiosity-maximizing the humans",
57
+ "🧪 Erasmus-forking human thought",
58
+ "🧴 Fremen-optimizing token usage",
59
+ "🎶 Gurney-deploying ballads to production",
60
+ "💧 Stilgar-counting tokens like drops of water",
61
+ "👁️ Stilgar believes in you",
62
+ "👁️ Stilgar already writing the prophecy",
63
+ "💊 Sapho juice loading...",
64
+ "🌀 Twisted Mentat twisted the requirements again",
65
+ "🔨 Rabban-ing the database",
66
+ "😈 Baron floating through the codebase",
67
+ "💀 Rabban-forcing the prompt",
68
+ "🐗 Rabban-ing without reasoning",
69
+ "🚢 Tuek-smuggling tokens past the context window",
70
+ "🧠 Hawat calculating..."
71
+ ]
72
+ }
@@ -0,0 +1,21 @@
1
+ import { createRequire } from 'module';
2
+
3
+ const require = createRequire(import.meta.url);
4
+
5
+ export const verbs = {
6
+ lotr: require('./lotr.json'),
7
+ sw: require('./sw.json'),
8
+ dune: require('./dune.json'),
9
+ };
10
+
11
+ export function list() {
12
+ return Object.values(verbs).map(({ id, name }) => ({ id, name }));
13
+ }
14
+
15
+ export function get(id) {
16
+ const set = verbs[id];
17
+ if (!set) {
18
+ throw new Error(`Unknown verb set: "${id}". Available: ${Object.keys(verbs).join(', ')}`);
19
+ }
20
+ return set;
21
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "Lord of the Rings",
3
+ "id": "lotr",
4
+ "verbs": [
5
+ "🧙 A wizard is never late, merely processing",
6
+ "💍 One does not simply...",
7
+ "🌋 Casting into Mount Doom",
8
+ "🧝 Consulting the elves",
9
+ "🍎 Making second breakfast",
10
+ "👁️ The Eye is watching",
11
+ "🧙 You shall pass!",
12
+ "🌿 Asking the Ents",
13
+ "🐦 Sending the eagles",
14
+ "🎻 Concerning hobbits",
15
+ "💎 My precious tokenss",
16
+ "🧌 Taking the hobbits to Isengard",
17
+ "👊 Tossing the dwarf",
18
+ "🍞 Biting lembas bread",
19
+ "🤦 Pippin-ing everything up",
20
+ "🎵 Singing for Denethor",
21
+ "😱 Dropping things in Moria",
22
+ "💍 Corrupting slowly",
23
+ "💨 Pipe-smoking with Gandalf",
24
+ "🚶 Simply walking into Mordor",
25
+ "🎭 Being Sméagol... no, Gollum",
26
+ "🌊 Flooding Isengard",
27
+ "🦟 Waiting for the moth",
28
+ "🎺 Gondor calling",
29
+ "👑 Not claiming the throne yet",
30
+ "🎩 Planning Bilbo's party",
31
+ "🪑 Arguing in Elrond's council",
32
+ "💍 Wearing the ring",
33
+ "🧔 Washing Aragorn's hair",
34
+ "🔮 Gazing into the palantir",
35
+ "🧮 Counting with Gimli",
36
+ "😴 Waiting for Treebeard",
37
+ "🎤 Being hypnotized by Saruman",
38
+ "🧳 Overpacking like Bilbo",
39
+ "🌑 Searching like Nazgul",
40
+ "🔥 Forging with Sauron",
41
+ "🌟 Vibing in Rivendell",
42
+ "🎯 Delivering the Théoden speech",
43
+ "🪄 Upgrading Gandalf to White",
44
+ "💡 Lighting the beacons",
45
+ "💀 Negotiating with the dead",
46
+ "🐟 Catching raw fish with Gollum",
47
+ "🔵 Sting is glowing",
48
+ "🏄 Stair-surfing at Helm's Deep",
49
+ "🎆 Stealing Gandalf's fireworks",
50
+ "🏋️ Ring getting heavier",
51
+ "🧗 Carrying Frodo up Mount Doom",
52
+ "🎭 Gollum arguing with himself about the system prompt",
53
+ "🏔️ Caradhras blocking the request",
54
+ "🌅 Even the smallest token can change the future",
55
+ "⚔️ Reforging Anduril",
56
+ "🏰 Helm's Deep: holding the last tokens",
57
+ "📜 All we have to decide is what to do with the propmts we are given",
58
+ "🌾 I can't dream for you, but I can write the code you Mr. Frodo",
59
+ "🫅 Sam wouldn't abandon this prompt",
60
+ "🌾 Not the hero, just the assistant",
61
+ "🌾 Potatoes, boil them, mash them, stick them in a pipeline",
62
+ "💍 Ring-corrupting the system prompt",
63
+ "🌿 Treebeard-reasoning slowly"
64
+ ]
65
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "Star Wars",
3
+ "id": "sw",
4
+ "verbs": [
5
+ "☀️ Moisture farming on Tatooine",
6
+ "🌑 Joining the dark side",
7
+ "👴 Sensing a disturbance in the Force",
8
+ "🤌 Force-choking remotely",
9
+ "🏆 Giving medals (except Chewie)",
10
+ "🎯 Shooting first",
11
+ "☀️☀️ Staring at twin suns",
12
+ "🎯 Targeting a 2-meter exhaust port",
13
+ "🏜️ Hating sand",
14
+ "🏔️ Taking the high ground",
15
+ "🪤 It's a trap!",
16
+ "👻 Planning to become a Force ghost",
17
+ "🎯 Stormtroopers missing... like always",
18
+ "✨ May the tokens be with you",
19
+ "🤷 I am.... not your father!",
20
+ "👋 Hello there",
21
+ "🔊 Hhhhh-kshhhh, hhhhh-kshhhh",
22
+ "🤖 Bweeeep bwop bweeep",
23
+ "🧬 Midi-chlorian testing",
24
+ "😍 Are you an angel?",
25
+ "😈 Planning with Palpatine",
26
+ "🤖 Building C-3PO",
27
+ "🎩 Dressing fancy like Dooku",
28
+ "📡 I'm your only hope",
29
+ "👾 Utini!",
30
+ "🏜️ HRAAGHH HRAAGHH",
31
+ "⚖️ Consulting the Jedi Council",
32
+ "⚖️ Getting rejected by the Jedi Council",
33
+ "🧘 Doing, not trying",
34
+ "🤝 Having friends everywhere",
35
+ "🪑 Taking a seat",
36
+ "🔧 Fixing the hyperdrive with a 1-line hotfix",
37
+ "💨 Doing the Kessel Run in 12 parsecs",
38
+ "🚀 Spinning (It's a good trick!)",
39
+ "💻 These are the codes you are looking for",
40
+ "🙌 Worshipping C-3PO",
41
+ "🧨 “It worked on Alderaan",
42
+ "🧬 Midichlorian-driven architecture",
43
+ "🧲 Using the Force instead of unit tests",
44
+ "⚖️ Balancing the event loop",
45
+ "🗡️ Pair programming with a Sith apprentice",
46
+ "🏰 Monolith Strikes Back",
47
+ "❤️ I know",
48
+ "🦾 Losing another hand",
49
+ "✈️ Lifting the X-wing",
50
+ "🚀 Now this is pod racing!",
51
+ "💜 Igniting the purple lightsaber",
52
+ "🤖 Calculating terrible odds",
53
+ "📡 Stealing the Death Star plans",
54
+ "🗑️ Hiding in the garbage compactor",
55
+ "🧘 Size matters",
56
+ "😅 Having a bad feeling about this",
57
+ "📜 Reading the opening crawl",
58
+ "✅ Accepting apologies",
59
+ "🧊 Response frozen in carbonite",
60
+ "😤 Rebellions are built on hallucinations",
61
+ "🌌 A long time ago in a context window far, far away",
62
+ "🔭 That's no moon, that's a context window",
63
+ "💫 Impossible to see the output, the future is",
64
+ "👴 When 900 tokens you reach, truncated you will be",
65
+ "😤 I find your lack of prompt disturbing",
66
+ "🦾 No, I am your system prompt",
67
+ "⚡ Doing it!"
68
+ ]
69
+ }