Investigation

Scaffolds a structured investigation in scratch/ for empirical research and documentation. The foundation of every Propel workflow.

Overview

The Investigation skill activates when the user wants to explore, trace, or document a system before making changes. It creates a dated folder in scratch/ with a living README that accumulates findings across the session. Every non-trivial task in Propel starts with an investigation.

Gate 0 Must Fire First

Before starting any investigation, Gate 0 (Intake) must have been completed. If the user has not been asked scoping questions and approved a scope statement, the investigation skill refuses to proceed.

PropertyDetails
Trigger"start an investigation", "trace X to Y", "what touches X", "follow the wiring", "archeology", "figure out why X happens"
Active ModesResearcher Engineer Debugger
Outputscratch/{YYYY-MM-DD}-{name}/README.md
PrerequisiteGate 0 (Intake) completed

Scratch Scaffolding

When the investigation skill activates, it performs these steps in order:

  1. Check for past experiments. Before creating a new investigation, check scratch/registry/ for past entries with matching keywords. If found, inject them as context.
  2. Create a dated folder in {REPO_ROOT}/scratch/ with the format {YYYY-MM-DD}-{descriptive-name}.
  3. Create a README.md in this folder using the template below.
  4. Create scripts and data files as needed for empirical work.
  5. Split into sub-documents as patterns emerge for complex investigations.
Scratch is Gitignored

The scratch/ directory is in .gitignore and will NOT be committed. Never delete anything from scratch — it doesn't need cleanup. When distilling findings into PRs, include all relevant info inline; PRs must be self-contained.

README Template

Every investigation README follows this structure. The sections are filled progressively as findings accumulate.

# Investigation: {descriptive-name}

## Scope (Human-Approved)
{One paragraph scope statement from Gate 0.
 This is what the user confirmed they want.}

## Paper References
{Links to any extracted paper notes in scratch/paper-notes/
 that are relevant to this investigation.}
- [paper-name](../paper-notes/paper-name.md) — relevance note

## Task Checklist
- [ ] {task 1}
- [ ] {task 2}

## Findings
{Updated as investigation progresses}

## Surprises / Risks
{Things that were unexpected or will complicate
 the implementation}

## Design Decisions (Human-Approved)
{Filled in after Gate 1 — documents the user's answers
 to design-direction questions}

## Previous Experiment Learnings
{Entries from scratch/registry/ that matched this
 investigation's keywords, if any}

Investigation Patterns

These are common patterns, not rigid categories. Most investigations blend multiple patterns.

Tracing

Triggers: "trace from X to Y", "what touches X", "follow the wiring"

System Architecture Archeology

Triggers: "document how the system works", "archeology"

Bug Investigation

Triggers: "figure out why X happens", "this is broken"

Technical Exploration

Triggers: "can we do X?", "is this possible?", "figure out how to"

Design Research

Triggers: "explore the API", "gather context", "design alternatives"

Gate 1: Post-Investigation Checkpoint

After the investigation is complete, findings must be presented to the user before any design work begins. This is Gate 1.

## Investigation Summary

### What I Found
- [3-5 bullet summary of key findings:
  architecture, code paths, dependencies]

### Surprises / Risks
- [Things that were unexpected or will
  complicate the implementation]
- [Existing behavior that might conflict
  with the proposed change]

### Open Questions — I Need Your Input
1. [Trade-off question surfaced by investigation]
2. [Architecture choice that requires human judgment]
3. [Priority question about which findings to act on]

Gate 1 Rules

Task Checklists

The Task Checklist section in the README is updated as the investigation progresses. Each item should be specific and verifiable. Check items off as they are completed. For complex investigations, split tasks by pattern:

Living Documentation Across /clear

The investigation README is a living document — it persists across /clear boundaries. This is critical because research sessions often span multiple context windows. The README serves as the bridge between sessions:

Best Practices