# Maintenance

> File cleanup and archiving. Tidies up bloated Plans.md, session-log.md, old logs, and state files. Trigger: /maintenance, cleanup, archive, organize, split session-log. Do NOT load for: implementation, review, release, new feature development.

- Skill: `chachamaru127/maintenance` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add chachamaru127/maintenance`
- Raw SKILL.md: https://api.skillmd.com/api/skills/chachamaru127/maintenance/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Chachamaru127 (https://skillmd.com/u/chachamaru127)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/chachamaru127/maintenance

---


# Maintenance

散らかったファイルを整頓する単一目的スキル。auto-cleanup-hook が警告を出した時、
または定期的な家事として呼び出す。

> **前提**: 破壊的操作（アーカイブ移動・行削除）の前に Plans.md / session-log.md の
> 重要情報が SSOT (decisions.md / patterns.md) に昇格済みか確認する。
> 未同期なら `/memory sync` を先に走らせる。

## Quick Reference

| サブコマンド | 対象 | 典型トリガー |
|------------|------|-------------|
| `maintenance plans` | Plans.md 完了タスクのアーカイブ移動 | 「Plans.md 整理」「古いタスクを移動」 |
| `maintenance session-log` | session-log.md の月別分割 | 「session-log 分割」「ログが長い」 |
| `maintenance logs` | `.claude/logs/` の古いファイル削除 | 「ログ掃除」「30日以上前のログ消して」 |
| `maintenance state` | `agent-trace.jsonl` / `harness-usage.json` のトリム | 「trace 肥大」「state 圧縮」 |
| `maintenance all` | 上記4つを順に実行 | 「全部整理」「総掃除」 |

`--dry-run` を付けると何をするかだけ列挙して実行しない。自由記述の指示（例:
「古いアーカイブも消して」「この session-log だけ残して」）は Step 1 で
受け付けて Step 2 以降の処理パラメータに反映する。

## 実行手順

1. **ユーザー指示のパース**: サブコマンド + 自由記述（除外対象、保存先、日数閾値）を抽出
2. **SSOT 同期チェック**: `.claude/state/.ssot-synced-this-session` が無ければ
   `/memory sync` を促す（Plans.md を触る場合のみ必須）
3. **参照ファイルを開く**: `${CLAUDE_SKILL_DIR}/references/cleanup.md` を読み対応セクションを実行
4. **Before/After を報告**: 行数と削除件数を表示して完了

## サブコマンド詳細

対象ごとの実行手順・閾値・アーカイブ先は [cleanup.md](./references/cleanup.md) を参照。

## auto-cleanup-hook との連携

PostToolUse hook (`scripts/auto-cleanup-hook.sh` / Go 版 `auto_cleanup_hook.go`) は
Plans.md・session-log.md・CLAUDE.md の行数超過を検知すると
`/maintenance で古いタスクをアーカイブすることを推奨します` と feedback を返す。
警告を見たら対象と件数を読み取り、整理案を出す。警告そのものをアーカイブ移動や削除の承認として扱わない。
明示された maintenance の対象と除外条件がある場合は、その範囲で既存の SSOT 同期と破壊的操作のゲートに従う。

## 注意事項

- **進行中タスクは動かさない**: `cc:WIP`, `pm:依頼中`, `cursor:依頼中` はアーカイブ対象外
- **アーカイブ先ディレクトリは固定**: `.claude/memory/archive/` — 別の場所に移すときは
  ユーザーに確認する
- **バックアップ**: 200 行超のファイルを編集する前に `cp <file> <file>.bak.$(date +%s)` で
  ローカルバックアップを取る
- **CLAUDE.md は警告のみ**: 自動編集しない。分割提案だけ出す

## 関連スキル

- `memory` — Plans.md 整理前の SSOT 昇格（decisions.md / patterns.md 更新）
- `harness-setup` — セットアップ直後の定期メンテは `harness-setup` 経由でも呼べる
- `session-init` — セッション開始時のメンテ推奨通知を制御

