Turning Markdown into Persistent Memory: Inside the planning-with-files Claude Code Plugin

planning-with-files is a Claude Code plugin that replaces volatile AI context with durable Markdown files—task_plan.md, findings.md, and progress.md—using hooks to automatically sync goals, record research, and log actions, enabling reliable task tracking, error persistence, and seamless session recovery for complex coding projects.

Tech Minimalism
Tech Minimalism
Tech Minimalism
Turning Markdown into Persistent Memory: Inside the planning-with-files Claude Code Plugin

Core Concepts

planning-with-files stores task state in three Markdown files: task_plan.md (task breakdown, phases, progress), findings.md (research results, decisions), and progress.md (session logs, test results). Each file serves a distinct role, turning the file system into stable working memory.

task_plan.md – Task Blueprint

Goal definition : state the problem and expected outcome to prevent scope creep.

Phase split (3–7) : break complex tasks into executable stages.

Open issues list : list unresolved core problems.

Decision log : record technical choices and rationale.

Failure attempts : note discarded solutions to avoid repetition.

Phase status is tracked with checkboxes: [ ] not started, [-] in progress, [x] completed.

findings.md – Knowledge Repository

Collects verified information: requirements, research conclusions, technical choices, problem‑solution pairs, reference links, UI observations, etc. Only confirmed facts are stored.

progress.md – Execution Log

Current phase

Executed actions (Write, Edit, Bash, …)

File changes

Test and run results

Errors and exceptions

5‑Question restart check

The file provides traceability; revisiting it reveals what was done, why it stopped, and which pitfalls were already hit.

Working Mechanism

The plugin installs four automatic hooks that run at key moments.

SessionStart – fires when a session begins, confirming the plugin is active.

PreToolUse – before Write/Edit/Bash, reads task_plan.md and refreshes the goal, preventing target drift.

PostToolUse – after Write/Edit, reminds the user to update the phase status in task_plan.md.

Stop – at session end, checks that every phase is marked completed; otherwise it prompts further work.

2‑Action Rule

After any two view‑type operations (view, browser, search), the findings must be immediately written to findings.md. This rule ensures that abundant information from exploratory steps is not lost to context overflow.

Manus Principles Reflected

File system as memory : all critical data lives in three Markdown files instead of volatile context.

Attention operations : PreToolUse re‑reads the plan before each action.

Error persistence : failures are logged in task_plan.md for future avoidance.

Goal tracking : checkboxes give real‑time progress visibility.

Completion verification : Stop hook validates that every phase is finished.

Quick Start

/plugin marketplace add OthmanAdi/planning-with-files
/plugin install planning-with-files@planning-with-files

After installation, restart Claude Code to activate the plugin.

Claude Code marketplace UI for adding the planning-with-files plugin
Claude Code marketplace UI for adding the planning-with-files plugin

Real‑World Example: Building a Python TODO CLI

Phase 1 – Planning

Run /planning-with-files:plan with the task description. The plugin creates task_plan.md, findings.md, and progress.md. The plan lists goals, phases, and initial status checkboxes.

Initial task_plan.md view after planning
Initial task_plan.md view after planning

Phase 2 – Research

During research, each pair of view operations (e.g., WebSearch → record result, WebFetch → update findings) triggers an automatic write to findings.md. The plan file is updated to mark Phase 1 and Phase 2 as completed.

findings.md being populated with research results
findings.md being populated with research results

Phase 3 – Implementation & Error Handling

All Write/Edit/Bash actions are logged in progress.md, including error messages and stack traces, providing a complete execution trace.

progress.md showing logged operations and errors
progress.md showing logged operations and errors

Phase 4 – Verification

When all phases are marked [x], the Stop hook confirms task completion.

All phases checked off in task_plan.md
All phases checked off in task_plan.md

Best‑Practice Workflow

Create task_plan.md first – the backbone of the process.

Strictly follow the 2‑Action rule to keep findings.md up‑to‑date.

Record every error, even if resolved, to avoid repeat failures.

Use the 5‑Question restart check to quickly assess the current state after a session break.

Session Recovery

When the context window fills, run /clear to free space. On the next /planning-with-files invocation, the plugin scans ~/.claude/projects/ for the last timestamps of the three files, extracts missing context, and presents a recovery report.

1. Detect previous session in ~/.claude/projects/
2. Locate the latest task_plan.md, findings.md, progress.md
3. Extract any unsynced context
4. Show a summary of activities since the last update

Conclusion

By persisting task state, research findings, and execution logs to Markdown, planning-with-files mitigates the volatility of AI‑driven coding sessions, prevents goal drift, eliminates repeated errors, and keeps the context window focused on immediate needs, making complex or long‑running projects more controllable and traceable.

hooksMarkdownpersistent memoryAI workflowClaude Codeplanning-with-files
Tech Minimalism
Written by

Tech Minimalism

Simplicity is the most beautiful expression of technology.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.