Organize research project documentation - structure working files, prepare sharing packages, maintain clean project layout
npx claudepluginhub joshuarweaver/cascade-ai-ml-engineering --plugin delphine-l-claude-globalThis skill is limited to using the following tools:
> **Supporting files in this directory:**
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Supporting files in this directory:
- migration-guide.md - Migration from flat to directory-based organization, pattern reference, format debugging
- manifest-updates.md - MANIFEST update best practices, patterns, and checklists
- version-control-and-examples.md - Version control for document iterations, VGP project example
Organize project documentation in a structured way that separates internal working files from shareable content. This makes it easy to:
documentation/
├── README.md # Documentation index
│
├── data_descriptions/ # SHARE: Data understanding
│ ├── dataset_name_README.md
│ ├── column_definitions.md
│ └── data_sources.md
│
├── methods/ # SHARE: Methodology
│ ├── workflow.md
│ ├── analysis_plan.md
│ └── protocol.md
│
├── results/ # SHARE: Key findings
│ ├── analysis_summary.md
│ └── key_findings.md
│
├── reference/ # SHARE: External references (optional)
│ ├── citations.md
│ └── useful_resources.md
│
├── progress/ # INTERNAL: Development tracking
│ ├── PROGRESS.md
│ ├── session_YYYY-MM-DD.md
│ └── RESUME_HERE.md
│
├── action_reports/ # INTERNAL: What was done
│ ├── corrections_YYYY-MM-DD.md
│ ├── figure_regeneration.md
│ ├── data_verification.md
│ └── updates_summary.md
│
├── todos/ # INTERNAL: Planning
│ ├── priorities.md
│ ├── search_lists.md
│ └── task_tracking.md
│
├── internal/ # INTERNAL: Project management
│ ├── minimal_essential_files.md
│ ├── documentation_organization.md
│ └── notebook_issues.md
│
└── deprecated/ # INTERNAL: Old versions
├── old_analysis_v1.md
└── deprecated_workflow.md
Purpose: Help recipients understand the data
Include:
Examples:
vgp_assemblies_README.mdcolumn_definitions.mddata_sources.mdkaryotype_data_README.mdPurpose: Explain how analysis was done
Include:
Examples:
karyotype_workflow.mdanalysis_plan.mddata_fetching_protocol.mdquality_control_methods.mdPurpose: Present findings and conclusions
Include:
Examples:
analysis_summary.mdcomplete_results.mdhaplotype_analysis_summary.mdPurpose: Provide additional context
Include:
Purpose: Track development and resume work
Include:
Examples:
PROGRESS.mdsession_2026-02-05.mdRESUME_HERE.mdtier1_search_progress.mdPattern matching: *progress*, *session*, *resume*
Purpose: Document what actions were taken
Include:
Examples:
corrections_complete.mdfigure_regeneration_summary.mddata_verification.mdupdates_summary.mdmigration_changes.mdPattern matching: *correction*, *update*, *regeneration*, *restoration*, *verification*, *migration*
Purpose: Planning and task management
Include:
Examples:
karyotype_search_priorities.mdanalysis_todos.mdPattern matching: *todo*, *priority*, *task*
Purpose: Project meta-documentation
Include:
Examples:
minimal_essential_files.mddocumentation_organization.mdnotebook_coherence_issues.mdtext_fixes_needed.mdPattern matching: *essential*, *organization*, *issue*, *fixes*, *coherence*
Purpose: Old versions kept for reference
Include:
Pattern matching: *deprecated*, *old*, *backup*
When creating sharing packages, include only these directories:
SHARE_INCLUDE = [
'data_descriptions', # Essential for understanding data
'methods', # Essential for understanding methodology
'results', # Essential for understanding findings
'reference' # Optional: external references
]
INTERNAL_EXCLUDE = [
'progress', # Internal tracking
'action_reports', # Internal updates
'todos', # Internal planning
'internal', # Project management
'deprecated', # Old versions
'logs', # Runtime logs
'working_files' # Temporary files
]
mkdir -p documentation/{data_descriptions,methods,results,reference,progress,action_reports,todos,internal,deprecated}
# Create documentation README
# For general project README templates, see the folder-organization skill
cat > documentation/README.md << 'EOF'
# Project Documentation
## For Recipients (Shareable)
- **data_descriptions/** - Understanding the data
- **methods/** - How the analysis was done
- **results/** - Key findings and summaries
## Internal (Development)
- **progress/** - Progress tracking and session notes
- **action_reports/** - Updates, corrections, verifications
- **todos/** - Task lists and priorities
- **internal/** - Project management
EOF
Reorganize documentation gradually:
See migration-guide.md for detailed migration commands, pattern reference table, and format debugging templates.
Update filtering to use directory-based exclusion:
# Exclude entire directories
EXCLUDE_DIRS = ['progress', 'action_reports', 'todos', 'internal',
'deprecated', 'logs', 'working_files']
# Or include only specific directories
INCLUDE_DIRS = ['data_descriptions', 'methods', 'results', 'reference']
When creating sharing packages from projects with organized documentation:
Advantages:
Implementation in share-project command:
def ignore_internal_dirs(dir, files):
"""Exclude internal documentation directories."""
ignore_list = []
for item in files:
# Exclude internal directories
if item in ['progress', 'action_reports', 'todos', 'internal',
'deprecated', 'logs', 'working_files', 'temp', 'tmp']:
ignore_list.append(item)
# Exclude hidden files except .gitkeep
elif item.startswith('.') and item != '.gitkeep':
ignore_list.append(item)
return ignore_list
shutil.copytree("documentation", f"{SHARE_DIR}/documentation",
ignore=ignore_internal_dirs,
dirs_exist_ok=True)
Quick Reference:
data_descriptions/, methods/, results/, reference/progress/, action_reports/, todos/, internal/, deprecated/Before (file-pattern matching):
# Complex, hard to maintain, easy to miss files
exclude_patterns = [
'*CORRECTION*', '*UPDATE*', '*VERIFICATION*', '*REGENERATION*',
'*RESTORATION*', '*PROGRESS*', '*SESSION*', '*RESUME*',
'*PRIORITY*', '*TODO*', '*TASK*', '*ESSENTIAL*', '*ISSUE*',
'*FIXES*', '*COHERENCE*', '*DEPRECATED*', '*CLEANUP*',
'*MIGRATION*', # ... and many more
]
After (directory-based):
# Simple, clear, maintainable
exclude_dirs = ['progress', 'action_reports', 'todos', 'internal', 'deprecated']
Impact: In practice, this approach eliminated 15+ incorrectly shared files and reduced maintenance complexity from 50+ patterns to 5 directories.
See also:
- manifest-updates.md for MANIFEST update patterns and checklists
- version-control-and-examples.md for document iteration tracking and a full VGP project example