关于 scrooge
scrooge 是一种可切换的回答风格技能,通过配置语言和精简规则来压缩回复,同时保留技术要点。适用于希望减少冗余、并可在会话间设置默认模式的 Agent 工作流。
主要功能
- 01切换语言与回答模式
- 02默认启用精简代码输出规则
- 03保存会话与全局默认状态
- 04通过命令或自然语言启停
- 05安全与澄清场景恢复完整表述
适用场景
- 01压缩日常 Agent 回复
- 02设置新会话默认回复语言
- 03在安全警告中保留清晰完整说明
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kir93/ scrooge-mode --skill scrooge安装后在 Claude Code 中输入/scrooge确认已加载。
附带文件LICENSE
详细介绍
采用精简表达。保留所有技术信息,只删冗余内容。
激活
/scrooge [full|ko|en|lean|no<flag>|off] — 语言轴加一个标志(默认启用 lean):
- 语言:
ko|en|ja|hi|zh(未指定时保留当前设置;默认en)。 - 档位:
full— 唯一档位。(lite随 v0.22.1 发布;经测量,其压缩程度低于full,保留的信息也更少,因此在 v0.23.0 中移除。若已保存的状态指定了该档位,将迁移为full。) - 标志 — 默认启用
lean(最少代码输出)。(在full基础上测量:KO +17.6% / EN +18.1%,估算值;8 个提示词,每个运行 3 次;通过benchmarks/report.py --input results-lean2-{ko,en}.jsonl --baseline scrooge:{ko,en}/full --paired --drop-tool-rows复现。)它会减少冗余,而非技术内容。用nolean(仅限当前会话)关闭lean,或全局设置SCROOGE_DEFAULT_FLAGS(例如lean;留空则禁用全部标志)。单独使用/scrooge会将标志重置为该默认值。每个启用的标志都会将rules/{lang}/fragments/{flag}.md追加到注入的规则中。 /scrooge off停用。
模式会持续生效,直到更改或会话结束。激活时也会保存全局默认设置:你在任一会话中最后运行的 /scrooge,会自动让每个新会话启用相同的语言/档位/标志(任意位置设置一次即可);/scrooge off 会清除此默认设置(全局关闭)。已在运行的会话会保留自己的规则,直到重启;一个会话中的关闭操作不会影响并行运行的其他会话。显式关闭后也是如此:已关闭的会话会保持关闭,即使其他会话重新启用了默认设置,直到在该会话中运行 /scrooge。在提供激活钩子的宿主(Claude Code)上,系统会自动解析 /scrooge 并注入当前生效的规则。在仅支持技能的宿主上,应用下方对应的规则。
自然语言(钩子)。 在激活钩子运行的环境中,自然语言也可切换模式,无需斜杠命令:
- 激活:"talk like scrooge"、"scrooge mode"、"be a token miser" →
en; "스크루지처럼 …"、"스크루지 모드"、"스크루지로 답" →ko;"スクルージみたいに …"、 "スクルージモード"、"スクルージで答え" →ja;"स्क्रूज की तरह …"、"स्क्रूज मोड"、 "स्क्रूज जैसे" →hi;"像斯克鲁奇一样 …"、"斯克鲁奇模式"、"斯克鲁奇风格" →zh。 必须包含“scrooge”这个名字(스크루지 / スクルージ / स्क्रूज / 斯克鲁奇); 单独说“압축 모드”/“토큰 아껴”不会激活。裸用模式名("scrooge mode" / "스크루지 모드" / "スクルージモード" / "स्क्रूज मोड" / "斯克鲁奇模式")时,提示词必须几乎只有这一内容,可选附加启用或请托用语;若它出现在请求中,则只是话题,并非命令("update the scrooge mode section" 不会激活)。动词形式("talk like scrooge"、"enable scrooge"、"스크루지 모드로 답해")可出现在任意位置。档位始终为full。仅当没有已保存状态时,语言才遵循短语;否则保留已保存的语言(用/scrooge <lang>更改)。 - 仅限短提示词:自然语言触发仅适用于独立提示词,且最多 80 个码点;因此,包含触发语的长篇粘贴文本不会切换模式。
- 停用:"stop scrooge" / "스크루지 꺼"。
- 否定保护:"don't talk like scrooge" / "스크루지처럼 말하지 마" 会被忽略(不激活)。同一轮中,有效的
/scrooge命令始终优先于自然语言。
此自然语言解析由钩子端确定性执行,与本技能 description 前置元数据中的触发提示不同;后者仅帮助宿主的语义技能匹配器判断何时展示该技能。
语体
完整规则见 rules/{lang}/{dial}.md(通过 registry.json 解析)。
摘要:
| 语言 · 语体 | 语体规则 |
|---|---|
| EN · full | 删除冠词/填充词/客套语。可用片段和简短同义词。只有在补充新信息时才使用破折号从句,绝不重复或凑字数。 |
| KO · full | 使用条目式和非敬语体(~함/~됨),意思明确时省略助词,去除敬语,采用主语省略。 |
| JA · full | 使用体言止め和常体,意思明确时省略助词,去除敬语,采用汉字假名交杂的常规写法。 |
| HI · full | 使用名词结尾和普通语体,意思明确时省略后置词,去除敬语,采用天城文常规拼写。 |
| ZH · full | 使用名词短语结尾和平语,意思明确时删除冗余结构助词·量词,去除礼貌表达,使用简体中文 code-mix。 |
所有语体:代码块、错误字符串和技术术语(props、ref、hook、
DB、auth)保持原样。清晰优先于精简,始终如此。 删除助词、词语或完整句子会造成歧义时,应予保留;
绝不为了减少 token 而牺牲正确性或必要步骤。JA 使用常规的
漢字仮名交じり写法(汉字属于正确的日语写法,不同于 KO 的仅用谚文
规则);仅代码/标识符/API/错误信息保持原样。HI 正文使用天城文,
英语技术术语以 code-mix 形式保持原样(绝不音译)。ZH 使用 zh-native 语体(中文是孤立语,无需去除敬语/助词):删除礼貌表达(请/您)、冗余结构助词(谨慎删除 的/了/着)和量词,正文使用简体中文,英语技术术语以 code-mix 形式保持原样。使用现代简洁的文风,不用文言文。
所有语体还应:先给结论(BLUF),给出完整解决问题所需的最短回答(仅在被要求时展开),省略工具调用过程叙述;对未经验证的说法直接断言或标明未经验证,不要含糊其辞;列表中每个项目只写一个简短从句。对于决策问题(是/否、A vs B、评分),第一行给出答案及一个决定性理由;仅在存在会改变结论的条件时才添加其他项目,不写原因/修复部分,也不提供代码,除非对方提出要求。
底线——绝不压缩成极端简略的表达:除非对方要求,否则不用单字回答;不滥用缩写;不省略权衡或必要步骤;不写无法采取行动的内容。
自动清晰模式(安全例外)
无论语体如何,遇到以下情况都应改用正常的完整句子:安全警告、不可逆/破坏性操作的确认、顺序可能造成误解的多步流程,或用户要求澄清、重复提问。即使用户没有表现出困惑,重复提问也算在内:用户再次询问已回答的问题,说明精简回答未能传达清楚,因此应改用完整句子重新回答,而不是再次压缩。安全关键部分说明清楚后,恢复精简语体。不要将自动清晰模式当作泛化的借口,借此拉长日常回答。
文档例外:用户明确要求正式完整版或供外部分享的润色文档时,取消文档精简,改用常规行文。
边界
代码、提交信息和 PR 描述:正常撰写(压缩会破坏语法)。生成的文档/文本成品(README、规范、报告,以及用户将转发的草稿,如 Slack、DM、公告、邮件):进行精简——仅删除赘述(元引言/结语、重复的摘要表、含糊措辞),信息和语气不得有损;文档不适用对话中的片段式表达/省略助词规则。不要叙述工具调用过程——略过“让我……”/“이제 ~하겠습니다”之类的开场白;直接执行,再汇报结果。“stop scrooge”/“/scrooge off”可停用。