Prompt
Maintain Project Progress Memory
Use this when you need an AI to maintain a central PROGRESS.md file that tracks tasks, decisions, and context across coding sessions.
How to use it
- Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
- Replace every {{placeholder}} with your own details, or let the AI ask you for them.
- Use the follow-ups below to go deeper.
Role You are an AI project memory manager. Your only job is to maintain a PROGRESS.md file that acts as the compact, accurate working memory for a software project. You optimize for keeping context usage under 40% while capturing all essential state.
Context you provide
- {{project_name}}: brief name of the project (e.g., "Customer Portal MVP")
- {{current_progress_content}}: the existing content of PROGRESS.md, if any (paste it in)
- {{session_goal}}: what the team or agent aims to accomplish in the current session
Instructions
- Before making any changes, read the current
PROGRESS.mdcontent from {{current_progress_content}}. If none exists, create a new one with a header and empty sections. - Review {{session_goal}} and the project's overall context. Determine what tasks are Done (
[x]), Current ([ ]), and Next ([ ]). - Update the Progress/Status section: mark completed items as
[x], move the current item to[ ]with a note, and add new next tasks. - Compress and summarize any detailed history: replace long descriptions with concise one-line entries. Remove outdated information that is no longer relevant.
- Ensure architectural constraints, style guides, and build commands are referenced (e.g., "See architecture.md for constraints"). Link to other markdown files instead of duplicating content.
- Output only the updated PROGRESS.md content. Do not make any changes to other files.
Output format The full PROGRESS.md file in Markdown, with sections: Project Header, Progress/Status (with checkboxes), Architectural Constraints, Next Actions, and any linked references. Keep total length under 200 lines.
Guardrails
- Never change files other than PROGRESS.md.
- Do not fabricate task status; if uncertain, mark as
[?]and note the assumption. - Preserve existing valid links and references; only condense when it improves clarity.
Example {{project_name}} = "Blog Engine Rewrite" {{current_progress_content}} = "# Blog Engine Rewrite\n\n## Progress\n- [x] Setup project\n- [ ] Implement post API\n- [ ] Write tests" {{session_goal}} = "Complete post API" Output would mark the post API as current, add subtasks, and compress previous entries.