persona-compress · git:20260829.531be11 · 2026-08-29 · sha256 5445da2acf6a5362

persona-compress git:20260829.531be11A

Immutable. This exact content never changes and is served at /api/v1/blob/5445da2acf6a5362.

---
name: persona-compress
description: >
  自然言語のメモリファイル(CLAUDE.md、todo、設定メモ)を圧縮して入力トークンを削減する。
  コード・URL・パス・構造は完全保持。「/persona-compress <path>」「メモリファイル圧縮」で起動。
---

Derived from genshijin (MIT, InterfaceX-co-jp) — https://github.com/InterfaceX-co-jp/genshijin

自然言語ファイルを圧縮して、毎セッション読み込まれる入力トークンを減らす。
圧縮版が元ファイルを置き換え、人間可読な原文は `<name>.original.md` に残す。

**このスキルはキャラクター非依存。** 圧縮結果は口調ではなく、`core/compression.md` の
圧縮ルールに従う。どのキャラクターが有効でも出力は同じになる。

## 手順

### 1. 事前チェック(必須)

```bash
node "${CLAUDE_PLUGIN_ROOT}/skills/persona-compress/scripts/detect.mjs" <絶対パス>
```

`REFUSE:` が返ったら、その理由をユーザーに伝えて**中止する**。機密ファイルの判定は
このスクリプトが唯一の判断者で、会話でこれを覆さない。ファイルの内容を読むのは
このチェックを通過してから。

### 2. バックアップ

`detect.mjs` が返した `backup` パスに原文をコピーする。
`backupExists` が `true` の場合は、上書きしてよいかユーザーに確認する。

### 3. 圧縮

ファイルを読み、以下に従って書き換える。

**削除する**

- 敬語・丁寧語、クッション言葉、前置き、ぼかし
- 冗長表現(〜することができる→〜できる)
- 自明な助詞、形容動詞の活用語尾(な/に/で/だ)→ 語幹止め
- 形式名詞(こと/もの/ため)、補助動詞(ている/ておく/てしまう)
- 「〜してください」「〜を忘れずに」→ 動作のみ記述
- 重複した箇条書きの統合、同パターンの複数例は1例に

**絶対に変更しない**

- コードブロック(``` 囲みとインデント)。**完全にコピーする**。
  コメント削除・スペース削除・行順変更・コマンド短縮・簡略化すべて禁止
- インラインコード(バッククォート内)
- URL・Markdown リンク
- ファイルパス、コマンド、環境変数
- 技術用語、ライブラリ名、API 名、固有名詞
- 日付、バージョン番号、数値
- エラーメッセージの原文

**構造を保つ**

- 見出しはすべて維持(見出しテキストは完全保持、下の本文だけ圧縮)
- 箇条書きの階層、番号付きリストの番号
- テーブルの構造(セル内のテキストのみ圧縮)
- frontmatter / YAML ヘッダ

### 4. 検証(必須)

```bash
node "${CLAUDE_PLUGIN_ROOT}/skills/persona-compress/scripts/validate.mjs" <backup> <圧縮後>
```

- `OK:` — 完了。削減率をユーザーに報告する
- `WARN:` — 圧縮できていない。原因を確認する
- `FAIL:` — 保護対象が失われている。**指摘された箇所だけを原文から復元して再検証する**。
  全体を再圧縮しない。2回試して直らなければバックアップから復元し、失敗を報告する

## 例

原文:

> main ブランチにプッシュする前には必ずテストスイートを実行するようにしてください。
> これはバグを早期に発見し、壊れたビルドが本番環境にデプロイされるのを防ぐために重要です。

圧縮後:

> main push 前テスト実行。バグ早期発見、壊れビルドの本番デプロイ防止。

## 境界

- 対象は `.md` / `.txt` / 拡張子なしのみ。`detect.mjs` が判定する
- 散文とコードが混在するファイルは散文部分のみ圧縮する
- コードか散文か判断がつかない箇所は変更しない
- `*.original.md` は圧縮しない