关于 genshijin-compress
genshijin-compress 是用于减少 CLAUDE.md、待办事项和设置等自然语言文件令牌数的技能与命令行流程。它保留代码和受保护的技术内容,覆盖前备份原文,处理失败时报告错误且不改动源文件。
主要功能
- 01压缩自然语言文件
- 02无需消耗令牌检测文件类型
- 03验证压缩结果
- 04保留代码和技术内容
- 05覆盖前备份原文件
- 06出错时重试定点修正
适用场景
- 01减少 CLAUDE.md 的令牌数
- 02压缩笔记和设置
- 03压缩时保持代码块不变
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ interfacex-co-jp/ genshijin --skill genshijin-compress安装后在 Claude Code 中输入/genshijin-compress确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
scripts/__init__.py__main__.pycli.pycompress.pydetect.pyvalidate.py详细介绍
genshijin-compress
目的
将自然语言文件(CLAUDE.md、todos、设置)转换为原始人模式,减少输入 Token。压缩版覆盖原文件,人类可读版保存为 <filename>.original.md。
触发方式
/genshijin-compress <filepath> 或收到“压缩记忆文件”等请求。
处理流程
-
检测此 SKILL.md 和同目录下的
scripts/ -
执行:
cd <SKILL.md を含むディレクトリ> && python3 -m scripts <絶対ファイルパス> -
CLI 处理内容:
- 检测文件类型(不消耗 Token)
- 使用 Claude API/CLI 压缩
- 验证输出(不消耗 Token)
- 出错时:仅使用 Claude 精准修复对应部分(不重新压缩)
- 最多重试 2 次
- 失败时:向用户报告错误,不修改原文件
-
将结果返回给用户
压缩规则
删除
- 敬语、礼貌语(です/ます/ございます)
- 缓和措辞(えーと/まあ/ちなみに/一応/とりあえず/基本的に/ざっくり言うと)
- 开场白(ご質問ありがとうございます/お力になれれば幸いです)
- 模糊措辞(〜かもしれません/〜と思われます/おそらく)
- 冗长表达(〜することができる→〜できる、〜というものは→〜は)
- 冗长连接词(〜ということになりますので→だから、〜させていただく→する)
- 不必要的助词(が/の/を/に/で/は/と/も)
- 形容动词活用词尾(な/に/で/だ)→ 保留词干
- 形式名词(こと/もの/ため)→ 转换为名词或省略
- 补助动词(ている/ておく/てしまう)→ 改为状态表达
完全保留(绝对不可更改)
- 代码块(fenced ``` and indented)
- 行内代码(
backtick) - URL 和链接(完整 URL、Markdown 链接)
- 文件路径(
/src/components/...,./config.yaml) - 命令(
npm install,git commit,docker build) - 技术术语(库名、API 名称、协议、算法)
- 专有名词(项目名、人名、公司名)
- 日期、版本号、数值
- 环境变量(
$HOME,NODE_ENV) - 原始错误消息
保持结构
- 所有 Markdown 标题(标题文本完全保留,仅压缩下方正文)
- 列表层级(保持嵌套级别)
- 编号列表(保持编号)
- 表格(保持结构,仅压缩单元格文本)
- Frontmatter/YAML 头部
压缩
- 使用体言止め、用言止め
- 用汉字连写吸收助词(「高負荷時に高速」→「高負荷時高速」)
- 将和语改为汉语词(「速く動作」→「高速動作」)
- 可使用片段:「コミット前テスト実行」;不可使用「コミット前に必ずテストを実行してください」
- 删除「〜してください」「〜することを忘れずに」→ 仅描述动作
- 合并重复的列表项
- 同一模式的多个示例仅保留 1 个
重要规则:
... 内は 完全コピー。
禁止:
- コメント削除
- スペース削除
- 行順変更
- コマンド短縮
- 簡略化一切
インラインコード(...)は完全保持。バッククォート内は一切変更しない。
コードブロック含むファイル:
- コードブロックは読取専用領域として扱う
- 外側のテキストのみ圧縮
- コード周辺セクションの結合禁止
パターン例
例1
原文:
main ブランチにプッシュする前には必ずテストスイートを実行するようにしてください。これはバグを早期に発見し、壊れたビルドが本番環境にデプロイされるのを防ぐために重要です。
圧縮:
main push前テスト実行。バグ早期発見、壊れビルド本番デプロイ防止。
例2
原文:
このアプリケーションは以下のコンポーネントを持つマイクロサービスアーキテクチャを採用しています。APIゲートウェイが全ての受信リクエストを処理し、適切なサービスにルーティングします。認証サービスはユーザーセッションとJWTトークンの管理を担当します。
圧縮:
マイクロサービスアーキテクチャ。APIゲートウェイ 全受信リクエストをサービスにルーティング。認証サービス ユーザーセッション + JWTトークン管理。
境界
- 自然言語ファイルのみ圧縮(.md, .txt, 拡張子なし)
- 絶対変更しない: .py, .js, .ts, .json, .yaml, .yml, .toml, .env, .lock, .css, .html, .xml, .sql, .sh
- 混在ファイル(散文 + コード)は散文部分のみ圧縮
- コードか散文か判断つかない場合は変更しない
- 原ファイルは FILE.original.md にバックアップしてから上書き
- FILE.original.md は絶対圧縮しない(スキップ)
- 機密ファイル(.env, credentials, id_rsa 等)は絶対に送信しない → 拒否
セキュリティ
圧縮は Anthropic API に生データ送信。以下は拒否:
.env,.netrccredentials.*,secrets.*,passwords.*- SSH鍵(
id_rsa,id_ed25519等) - 証明書(
.pem,.key,.p12,.crt等) - ディレクトリ
.ssh,.aws,.gnupg,.kube,.docker配下 - ファイル名に
secret/credential/password/apikey/token/privatekey含むもの
ヒューリスティック誤検知時は、ファイル名変更で回避可能。