Cleaning Up Research Sessions について
Cleaning Up Research Sessions は、調査完了後、アーカイブや共有の前にセッションフォルダーを整理するスキルです。削除候補を提示して確認を求め、論文、要約、方法記録などの重要ファイルを保護します。
主な機能
- 01保護対象と整理候補を分類
- 02整理前に計画を提示して確認
- 03ファイルはゴミ箱への移動を優先
- 04整理後に主要ファイルと JSON を検証
- 05再現性のため補助スクリプトを保持
活用シーン
- 01完了した調査セッションの一時ファイルを削除
- 02アーカイブや共有前に調査フォルダーを整理
- 03主要な調査資料が保たれているか確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kthorn/ research-superpower --skill cleaning-up-research-sessionsインストール後、Claude Code で/cleaning-up-research-sessionsを入力して読み込まれたか確認します。
詳細
研究セッションのクリーンアップ
概要
研究ワークフローで作成された中間ファイルを削除し、重要なデータはすべて保持します。
基本原則: ユーザーに確認しながら慎重にクリーンアップします。重要なものは決して削除しません。
使用するタイミング
次の場合にこのスキルを使用します:
- 研究セッションが完了し、統合されている
- 研究セッションのフォルダーをアーカイブまたは共有する準備をしている
- 研究フォルダーに一時ファイルや中間ファイルが蓄積している
- ユーザーから明示的にクリーンアップを依頼された
使用しない場合:
- 研究がまだ進行中である
- ユーザーが最終成果物をまだ確認していない
- 削除しても安全なファイルがわからない
必ず保持するファイル
以下は決して削除しないでください(保護対象リスト):
主要な成果物:
SUMMARY.md- 方法論を含む、強化された調査結果relevant-papers.json- 関連性の高い論文の絞り込み結果papers-reviewed.json- 完全なスクリーニング履歴papers/directory - すべての PDF と補足ファイルcitations/citation-graph.json- 引用関係
方法論のドキュメント:
screening-criteria.json- ルーブリックの定義(存在する場合)test-set.json- ルーブリック検証用の論文(存在する場合)abstracts-cache.json- 再スクリーニング用のキャッシュ済み抄録(存在する場合)rubric-changelog.md- ルーブリックのバージョン履歴(存在する場合)
補助ドキュメント(存在する場合):
README.md- プロジェクトの概要TOP_PRIORITY_PAPERS.md- 厳選された優先リストevaluated-papers.json- 詳細な構造化データ
プロジェクト設定:
.claude/directory - 権限と設定- 作成された
*.pyヘルパースクリプト - 再現性のために保持
クリーンアップ対象となる可能性のあるファイル
削除候補(確認が必要):
中間検索結果:
initial-search-results.json- スクリーニング前の PubMed 生検索結果- 削除しても安全な理由:データは papers-reviewed.json に含まれています
- 保持する理由:再現性のために生の検索結果を確認できます
一時ファイル:
*.tmpfiles*.swpfiles(vim のスワップファイル).DS_Store(macOS)__pycache__/(Python キャッシュ)*.pyc(Python コンパイル済みファイル)
ログファイル:
*.logfilesdebug-*.txtfiles
クリーンアップのワークフロー
Step 1: 研究セッションを分析する
cd research-sessions/YYYY-MM-DD-description/
# List all files with sizes
find . -type f -exec ls -lh {} \; | awk '{print $5, $9}' | sort -rh
カテゴリごとにファイルを特定します:
- 主要な成果物(必ず保持)
- 方法論ファイル(保持すべき)
- 中間ファイル(クリーンアップ候補)
- 一時ファイル(削除しても安全)
Step 2: クリーンアップ計画をユーザーに提示する
削除するファイルを提示します:
🧹 Cleanup Analysis for: research-sessions/2025-10-11-btk-selectivity/
Files to KEEP (protected):
✅ SUMMARY.md (45 KB)
✅ relevant-papers.json (12 KB)
✅ papers-reviewed.json (28 KB)
✅ papers/ (14 PDFs, 32 MB)
✅ citations/citation-graph.json (5 KB)
✅ screening-criteria.json (2 KB)
✅ abstracts-cache.json (156 KB)
Files that CAN be removed (intermediate):
🗑️ initial-search-results.json (8 KB) - Raw PubMed results
🗑️ .DS_Store (6 KB) - macOS metadata
Total space to recover: 14 KB
Proceed with cleanup? (y/n/review)
選択肢:
y- 中間ファイルを削除するn- クリーンアップをキャンセルし、すべて保持するreview- 決定する前に各ファイルの内容を表示する
Step 3: 削除を確認する
ファイルを削除する前に必ず:
- 保護対象リストに含まれていないことを確認する
- SUMMARY.md から参照されていないことを確認する
- ユーザーにもう一度確認する
確認の例:
About to delete:
- initial-search-results.json (8 KB)
This file contains raw PubMed search results. The data is preserved in
papers-reviewed.json, so this is safe to delete.
Confirm deletion? (y/n)
Step 4: クリーンアップを実行する
確認済みのファイルを削除します:
# Move to trash instead of rm (safer)
# On macOS:
mv initial-search-results.json ~/.Trash/
# On Linux:
mv initial-search-results.json ~/.local/share/Trash/files/
# Or use rm if user confirms
rm initial-search-results.json
結果を報告します:
✅ Cleanup complete!
Removed:
- initial-search-results.json (8 KB)
- .DS_Store (6 KB)
Space recovered: 14 KB
Protected files preserved:
- All 8 core files kept
- All 14 PDFs kept
- All methodology documentation kept
Step 5: 整合性を確認する
クリーンアップ後、重要なファイルを確認します:
# Check core files exist
test -f SUMMARY.md && echo "✓ SUMMARY.md"
test -f relevant-papers.json && echo "✓ relevant-papers.json"
test -f papers-reviewed.json && echo "✓ papers-reviewed.json"
test -d papers && echo "✓ papers/ directory"
# Verify JSON files are valid
jq empty relevant-papers.json && echo "✓ relevant-papers.json valid JSON"
jq empty papers-reviewed.json && echo "✓ papers-reviewed.json valid JSON"
ユーザーに報告します:
✅ Integrity check passed
- All core files present
- All JSON files valid
- All PDFs intact
特別なケース
Case 1: サイズの大きい abstracts-cache.json
abstracts-cache.json が非常に大きい場合(>100 MB):
⚠️ abstracts-cache.json is 256 MB
This file enables re-screening if you update the rubric. Options:
1. Keep (recommended if you might refine rubric)
2. Compress (gzip to ~50 MB, can decompress later)
3. Delete (only if research is final and won't be updated)
Choice? (1/2/3)
ユーザーが圧縮を選択した場合:
gzip abstracts-cache.json
# Creates abstracts-cache.json.gz
echo "Compressed abstracts-cache.json to $(du -h abstracts-cache.json.gz | cut -f1)"
Case 2: ヘルパースクリプト
研究中にユーザーがヘルパースクリプトを作成した場合:
📝 Found helper scripts:
- screen_papers.py (created for batch screening)
- deep_dive_papers.py (created for data extraction)
These scripts document your methodology. Recommendations:
- Keep for reproducibility
- Add comments if not already documented
- Reference in SUMMARY.md under "Reproducibility" section
Keep scripts? (y/n)
Case 3: 複数の研究セッション
複数のセッションをクリーンアップする場合:
# Find all research sessions
find research-sessions/ -maxdepth 1 -type d
# For each session:
for session in research-sessions/*/; do
echo "Analyzing: $session"
# Run cleanup analysis
done
ユーザーに確認します:
Found 5 completed research sessions.
Clean up all sessions? (y/n/select)
- y: Analyze and clean all sessions
- n: Cancel
- select: Choose which sessions to clean
安全対策
保護対象ファイルのリスト
決して削除しないパターンをハードコードしたリストとして管理します:
PROTECTED_PATTERNS = [
'SUMMARY.md',
'relevant-papers.json',
'papers-reviewed.json',
'papers/*.pdf',
'papers/*.zip',
'citations/citation-graph.json',
'screening-criteria.json',
'test-set.json',
'abstracts-cache.json',
'rubric-changelog.md',
'README.md',
'TOP_PRIORITY_PAPERS.md',
'evaluated-papers.json',
'*.py', # Helper scripts
'.claude/*', # Project settings
]
ファイルを削除する前に:
def is_protected(filepath):
"""Check if file matches any protected pattern"""
for pattern in PROTECTED_PATTERNS:
if fnmatch(filepath, pattern):
return True
return False
# Never delete protected files
if is_protected(file_to_delete):
print(f"⚠️ ERROR: {file_to_delete} is protected and cannot be deleted")
return
ドライランモード
実行前に、削除対象を必ず表示します:
# Dry run (show only, don't delete)
echo "DRY RUN - No files will be deleted"
for file in $candidate_files; do
if is_safe_to_delete "$file"; then
echo "Would delete: $file ($(du -h $file | cut -f1))"
fi
done
echo ""
echo "Proceed with actual deletion? (y/n)"
他のスキルとの連携
answering-research-questions ワークフローの後に:
- フェーズ 8(統合)を完了する
- ユーザーが SUMMARY.md と relevant-papers.json を確認する
- 必要に応じて:cleaning-up-research-sessions を実行する
- 研究フォルダーをアーカイブまたは共有する
answering-research-questions のフェーズ 8 に追加:
### Optional: Cleanup
After reviewing outputs, optionally clean up intermediate files:
"Research session is complete. Would you like me to clean up intermediate files?
I'll show you what will be deleted before removing anything."
If yes: Use `cleaning-up-research-sessions` skill
よくある間違い
papers-reviewed.json を削除する: これは重複排除データベースです。絶対に削除しないでください → ハードコードされたリストで常に保護してください abstracts-cache.json を削除する: 再スクリーニングに必要です → ユーザーに確認し、デフォルトでは保持してください ヘルパースクリプトを削除する: 再現性の確保に重要です → デフォルトでは保持し、削除するかユーザーに確認してください 削除するファイルをユーザーに見せない: ユーザーは計画を確認する必要があります → まず必ずドライランを表示してください 確認せずに削除する: リスクが高すぎます → 必ず最後に確認を求めてください クリーンアップ後に検証しない: ファイルが破損している可能性があります → 削除後に必ず整合性チェックを実行してください
クイックリファレンス
| 操作 | コマンド |
|---|---|
| すべてのファイルをサイズとともに一覧表示する | find . -type f -exec ls -lh {} \; | sort -rh |
| JSON が有効か確認する | jq empty file.json |
| ゴミ箱に移動する(macOS) | mv file ~/.Trash/ |
| ゴミ箱に移動する(Linux) | mv file ~/.local/share/Trash/files/ |
| 大きなファイルを圧縮する | gzip file |
| フォルダーのサイズを計算する | du -sh . |
成功基準
クリーンアップが成功したと判断できる条件:
- 保護対象のファイルがすべて残っており、有効である
- 確認済みの中間ファイルのみが削除されている
- ユーザーが、何が削除されたか、またその理由を把握している
- 回収した容量が報告されている
- 整合性チェックに合格している
- 研究セッションが引き続き完全に機能する
セッションの例
User: "Can you clean up the research session folder?"
Agent: "I'll analyze the research session and show you what can be safely cleaned up."
[Analyzes folder]
Agent: "🧹 Cleanup Analysis for: research-sessions/2025-10-11-btk-selectivity/
Files to KEEP (protected):
✅ SUMMARY.md (45 KB) - Final findings
✅ relevant-papers.json (12 KB) - Filtered results
✅ papers-reviewed.json (28 KB) - Complete history
✅ papers/ (14 PDFs, 32 MB) - Downloaded papers
✅ citations/citation-graph.json (5 KB) - Citation network
✅ screening-criteria.json (2 KB) - Rubric definition
✅ abstracts-cache.json (156 KB) - Cached abstracts
Files that CAN be removed:
🗑️ initial-search-results.json (8 KB) - Raw PubMed results
→ Data is preserved in papers-reviewed.json
🗑️ .DS_Store (6 KB) - macOS metadata
→ Not needed
Total space to recover: 14 KB
Proceed with cleanup? (y/n/review)"
User: "y"
Agent: "Final confirmation - About to delete:
- initial-search-results.json (8 KB)
- .DS_Store (6 KB)
All protected files will be preserved. Confirm? (y/n)"
User: "y"
Agent: [Deletes files]
"✅ Cleanup complete!
Removed:
- initial-search-results.json (8 KB)
- .DS_Store (6 KB)
Space recovered: 14 KB
Running integrity check...
✅ All core files intact
✅ All JSON files valid
✅ All 14 PDFs present
Research session is ready for archiving or sharing."
次のステップ
クリーンアップ後:
- 研究フォルダーが整理され、アーカイブできる状態になっている
- フォルダーを共同研究者と共有する
- 長期保存用のストレージに移動する
- 必要に応じて、追加の研究を続ける