feat(skills): add project memory workflow#880
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What problem are you trying to solve?
Superpowers currently has no core workflow for preserving and reusing durable project memory across sessions.
Closes #551
That shows up in two ways:
Superpowers needs a general-purpose memory system. This PR is one concrete solution to that problem.
What does this PR change?
This PR introduces one concrete memory workflow in core Superpowers:
using-memoryfor incremental retrieval of relevant project historyrecord-memoryfor recording closed, reviewable change units as durable memoryIt also replaces the older
memory-trackernaming and updates the shipped memory type templates so retrieval and recording use separate routing fields.The core design is:
using-memory)record-memory)docs/superpowers/memory/The resulting directory structure is:
This PR also includes the context-engineering rules needed to keep retrieval cheap and predictable:
MEMORY.mdis the type-definition layerINDEX.mdis an index-only lookup layerIn practice,
using-memoryis designed to:docs/superpowers/memory/*/MEMORY.mdgreponlyUse When/Avoid WhenINDEX.mdrecord-memoryfollows the complementary write path:MEMORY.mdfilesRecord When/Avoid Recording WhenINDEX.mdIs this change appropriate for the core library?
Yes.
This is general workflow infrastructure for multi-session agentic development. It is not tied to one domain, one repository layout outside Superpowers' own docs area, or any third-party tool or service. The same need appears in feature work, debugging, refactoring, and long-running design iteration.
What alternatives did you consider?
I considered three broader alternatives before landing on this implementation:
AGENTS.mdorCLAUDE.mdinstead of introducing a dedicated workflowI rejected them because they either make retrieval too expensive, fail to preserve reusable project history in a disciplined form, or cause context rot by mixing historical memory into always-loaded instruction files. This PR's memory workflow is intended to complement existing artifacts, not replace them.
Does this PR contain multiple unrelated changes?
No.
The changes are related parts of one memory-workflow refactor:
Existing PRs
#555explored the same general problem space. This PR narrows the solution to a memory workflow split between retrieval and recording.Environment tested
Evaluation
This PR is intended as a draft. I have tried this workflow in a few of my own projects, but not with broad or deep enough usage to treat the current shape as fully proven.
Rigor
superpowers:writing-skillsand completed adversarial pressure testing (paste results below)Adversarial / review results used during development:
using-memorycould be discovered with a minimal description instead of broader workflow injectionHuman review