mcpField
C
Cleaning Up Research Sessions

Cleaning Up Research Sessions

github.com/kthorn生産性13157 回インストール53 週間前に更新
リポジトリ

Cleaning Up Research Sessions について

Cleaning Up Research Sessions は、調査完了後、アーカイブや共有の前にセッションフォルダーを整理するスキルです。削除候補を提示して確認を求め、論文、要約、方法記録などの重要ファイルを保護します。

主な機能

  1. 01保護対象と整理候補を分類
  2. 02整理前に計画を提示して確認
  3. 03ファイルはゴミ箱への移動を優先
  4. 04整理後に主要ファイルと JSON を検証
  5. 05再現性のため補助スクリプトを保持

活用シーン

  1. 01完了した調査セッションの一時ファイルを削除
  2. 02アーカイブや共有前に調査フォルダーを整理
  3. 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 に含まれています
    • 保持する理由:再現性のために生の検索結果を確認できます

一時ファイル:

  • *.tmp files
  • *.swp files(vim のスワップファイル)
  • .DS_Store(macOS)
  • __pycache__/(Python キャッシュ)
  • *.pyc(Python コンパイル済みファイル)

ログファイル:

  • *.log files
  • debug-*.txt files

クリーンアップのワークフロー

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: 削除を確認する

ファイルを削除する前に必ず:

  1. 保護対象リストに含まれていないことを確認する
  2. SUMMARY.md から参照されていないことを確認する
  3. ユーザーにもう一度確認する

確認の例:

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 ワークフローの後に:

  1. フェーズ 8(統合)を完了する
  2. ユーザーが SUMMARY.md と relevant-papers.json を確認する
  3. 必要に応じて:cleaning-up-research-sessions を実行する
  4. 研究フォルダーをアーカイブまたは共有する

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."

次のステップ

クリーンアップ後:

  • 研究フォルダーが整理され、アーカイブできる状態になっている
  • フォルダーを共同研究者と共有する
  • 長期保存用のストレージに移動する
  • 必要に応じて、追加の研究を続ける

コメント