关于 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/目录 - 所有 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/目录 - 权限和设置- 已创建的
*.py辅助脚本 - 为确保可复现性而保留
可以清理的文件
可考虑删除的文件(需确认):
中间搜索结果:
initial-search-results.json- 筛选前的原始 PubMed 结果- 可以安全删除:数据已包含在 papers-reviewed.json 中
- 保留理由:可查看原始搜索结果,确保可复现性
临时文件:
*.tmp文件*.swp文件(vim 交换文件).DS_Store(macOS)__pycache__/(Python 缓存)*.pyc(Python 编译文件)
日志文件:
*.log文件debug-*.txt文件
清理工作流
步骤 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
按类别识别文件:
- 核心输出(必须保留)
- 方法论文档(应当保留)
- 中间文件(可考虑清理)
- 临时文件(可以安全删除)
步骤 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- 在决定前展示每个文件的内容
步骤 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)
步骤 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
步骤 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
特殊情况
情况 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)"
情况 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)
情况 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."
后续步骤
清理后:
- 研究文件夹已整理干净,可供归档
- 与协作者共享文件夹
- 移至长期存储
- 如有需要,继续后续研究