from-prd
Skill1 starsChanged 17 days agoMITView on GitHub
Seed memory-bank files from an existing PRD, product brief, spec, or requirements document. Use when a new project has a source document but little or no code yet.
In this repository36 other files it gives its agents.
- AGENTS.mdAGENTS.md
- analyzeSkill
- ask-claudeSkill
- breakdownSkill
- decision-logSkill
- discoverSkill
- handoffSkill
- init-memorySkill
- retroSkill
- reviewSkill
- risk-reviewSkill
- runbookSkill
- security-checkSkill
- shipSkill
- startSkill
- sync-upstreamSkill
- update-memorySkill
- weekly-updateSkill
- analyzeSkill
- ask-codexSkill
- breakdownSkill
- decision-logSkill
- discoverSkill
- from-prdSkill
- handoffSkill
- init-memorySkill
- retroSkill
- reviewSkill
- risk-reviewSkill
- runbookSkill
- security-checkSkill
- shipSkill
- startSkill
- sync-upstreamSkill
- update-memorySkill
- weekly-updateSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
26 rules. About 0 are common, 15 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use this when a new project has a PRD, product brief, strategy doc, or similar source document, but little or no code yet.
- Very specific: line 16
Effective bank: if memory-bank.local/ exists (upstream Serel Memory development only), it is the working bank — the substantive-content …
- Very specific: line 20
Local install at a project scope: after resolving the scope, and only when it is not the root, check from the repository root whether Serel …
- Very specific: line 30
Setup context: if setup already ran in this session (docs/serel-setup.md, or start's setup mode), treat its answers as given (PRD path, …
- Distinctive: line 37
If the user provided a path, use it.
- Very specific: line 38
If not, look for likely files in docs/, the repo root, or filenames containing prd, brief, spec, requirements, or product.
- Distinctive: line 39
If there are multiple plausible files, ask which one to use.
- Distinctive: line 40
Read the PRD in full.
- Distinctive: line 52
Before proposing memory-bank contents, present a clarifications checkpoint:
- Very specific: line 59
Ask at most 3 targeted follow-up questions for material gaps that would make the memory bank misleading if guessed.
- Distinctive: line 60
If there are clarifying questions, stop and wait for the user's answers before synthesis.
- Distinctive: line 70
Use this format for each proposal:
- Distinctive: line 82
After all proposals, stop and wait.
- Distinctive: line 86
Do not wrap an entire file proposal in a Markdown code fence if the proposed file itself contains fenced code blocks.
- Distinctive: line 87
If a proposal includes a code block, close the fence before continuing with the next heading or metadata line.
- Distinctive: line 88
Keep architecture sketches simple unless a code fence is genuinely useful.
- Very specific: line 89
Keep CONFIDENCE, SOURCE, and QUESTIONS / ASSUMPTIONS outside the proposed file body.
- Distinctive: line 94
Treat the PRD as source material, not absolute truth.
- Very specific: line 95
Do not invent details to fill empty sections.
- Very specific: line 96
Keep systemPatterns.md and techContext.md light unless the PRD states real technical decisions.
- Very specific: line 97
Use decisionLog.md only for explicit decisions in the PRD.
- Very specific: line 98
Use activeContext.md to capture the immediate next focus after seeding the bank.
- Very specific: line 99
Use progress.md to reflect that the project is initialized/planning unless code already exists.
- Distinctive: line 100
Do not overwrite the PRD.
- Distinctive: line 101
Do not bloat the bank; preserve signal.
- Distinctive: line 105
When approved files are written, end with:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
From PRD
Use this when a new project has a PRD, product brief, strategy doc, or similar source document, but little or no code yet. You'll read the document, ask only for important gaps, then propose initial memory bank contents.
This sits between discover and init-memory:
discoveris for rough ideas with no source document.from-prdis for a project with a PRD or brief but no meaningful code yet.init-memoryis for an existing codebase.
Effective bank: if memory-bank.local/ exists (upstream Serel Memory development only), it is the working bank — the substantive-content check and any proposed writes target it, not the tracked starter templates. See "Resolving the effective bank" in docs/workflow-contract.md.
Scope: resolve which bank this targets per "Resolving scope" in docs/workflow-contract.md — an optional --scope <path> argument selects a project bank when the repo configures scopes; otherwise the root bank, as always.
Local install at a project scope: after resolving the scope, and only when it is not the root, check from the repository root whether Serel Memory is installed locally (the test in "Setup routing" in docs/workflow-contract.md):
top="$(git rev-parse --show-toplevel)"
if [ -n "$(git -C "$top" ls-files --others --ignored --exclude-standard -- bin/serel-memory docs/workflow-contract.md hooks/lib/resolve-scope.sh)" ] ||
git -C "$top" check-ignore -q .serel-memory.json; then echo "LOCAL INSTALL"; fiIf it prints LOCAL INSTALL, stop before any other step. A local install holds the root bank only: it excludes the root memory-bank/ and .rules, and scopes listed later do not extend that, so a bank seeded at this scope would be visible to Git. Say so, write nothing, leave any existing files at this scope, the exclusions, .gitignore and instruction files as they are, and offer the supported choices: the root bank (--scope .) or a shared, committed install, where scoped banks work. Never un-ignore, untrack or force-add anything.
Setup context: if setup already ran in this session (docs/serel-setup.md, or start's setup mode), treat its answers as given (PRD path, stage, users, constraints) and ask only about what is still missing. The proposal and approval steps below are unchanged.
Stage: after resolving the scope, check the selected scope for meaningful product code, not counting Serel Memory's own files (its workflows, hooks/, bin/serel-memory, framework docs, bank templates, and the tests/ and .github/ a degit copy brings) or code in another scope. If there is some, this is the code-plus-spec case: stop and recommend init-memory naming this PRD, with the same --scope. It inspects the implementation first and keeps the PRD as planned intent (see docs/serel-setup.md).
Workflow
- Determine the PRD path.
- If the user provided a path, use it.
- If not, look for likely files in
docs/, the repo root, or filenames containingprd,brief,spec,requirements, orproduct. - If there are multiple plausible files, ask which one to use.
- Read the PRD in full.
- Check each core file in the effective bank. If every one has real content beyond the template placeholders, the bank is initialized: do not re-seed it; point to
startto resume orupdate-memoryto correct it. If only some do (a partial bank, such as aprojectbrief.mdthe user wrote), keep those files exactly as they are, read them first as given, and propose only the files that are missing, empty, or template-only; where the PRD disagrees with an existing file, say so instead of rewriting it. - Extract what the PRD clearly says about:
- Problem
- User
- Current workaround or status quo
- Goals and success criteria
- Minimum scope
- Anti-scope
- Constraints
- Stack, platform, or architecture hints
- Risks, open questions, and unresolved decisions
Before proposing memory-bank contents, present a clarifications checkpoint:
CLARIFYING QUESTIONS: - [question] or "(none - PRD is sufficient for initial seeding)"Ask at most 3 targeted follow-up questions for material gaps that would make the memory bank misleading if guessed. Skip questions where
TBDis acceptable.- If there are clarifying questions, stop and wait for the user's answers before synthesis. If there are none, say so and proceed.
- Propose contents for every memory bank file (in a partial bank, only the files still missing, empty, or template-only):
memory-bank/projectbrief.mdmemory-bank/productContext.mdmemory-bank/systemPatterns.mdmemory-bank/techContext.mdmemory-bank/decisionLog.mdmemory-bank/activeContext.mdmemory-bank/progress.md
Use this format for each proposal:
FILE: memory-bank/<name>.md
PROPOSAL:
<proposed contents, preserving the file's heading structure>
CONFIDENCE: high / medium / low
SOURCE: <PRD section or evidence used>
QUESTIONS / ASSUMPTIONS: <only if needed>After all proposals, stop and wait. Do not write anything until the user approves or revises.
Output quality
- Do not wrap an entire file proposal in a Markdown code fence if the proposed file itself contains fenced code blocks.
- If a proposal includes a code block, close the fence before continuing with the next heading or metadata line.
- Keep architecture sketches simple unless a code fence is genuinely useful.
- Keep
CONFIDENCE,SOURCE, andQUESTIONS / ASSUMPTIONSoutside the proposed file body. - End by asking whether the user wants to approve, revise, or inspect a specific file first.
Rules
- Treat the PRD as source material, not absolute truth.
- Do not invent details to fill empty sections. Use
<TBD>or ask. - Keep
systemPatterns.mdandtechContext.mdlight unless the PRD states real technical decisions. - Use
decisionLog.mdonly for explicit decisions in the PRD; otherwise state that no durable decisions have been recorded yet. - Use
activeContext.mdto capture the immediate next focus after seeding the bank. - Use
progress.mdto reflect that the project is initialized/planning unless code already exists. - Do not overwrite the PRD.
- Do not bloat the bank; preserve signal.
Handoff
When approved files are written, end with:
"Memory bank seeded from the PRD. Run
startto verify the bootstrap, orbreakdownto break the first implementation chunk into steps."
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

