Produce an ideas document that turns the existing research into a prioritized list of user-facing ideas for later proposal, design, and implementation work.
By "ideas", we mean user-facing goals, proposals, or features. This document is not an implementation plan.
If two partial ideas only make sense together, combine them into one idea instead of listing both.
-
Identify the target change folder
Search changes/ for the existing folder that best matches the user's input.
Prefer:
- An exact folder-name match
- A folder whose name clearly matches the described feature
- A folder that already contains
research.md
If multiple folders are plausible, stop and ask the user which one to use.
Do not guess when the match is ambiguous.
If no relevant researched change exists, tell the user that no matching changes/<feature-name>/research.md was found.
Do not create a new change folder here.
The output path is changes/<feature-name>/ideas.md.
-
Read the existing research thoroughly
Read the full research.md before drafting anything.
Use it to understand:
- The problem being solved
- The intended user-facing outcome
- Which capabilities appear essential vs optional
- The main user pain points or constraints
- What orchid-orm already supports and what is missing
Pay special attention to:
Purpose and goals
Requirements and edge cases
Existing support in orchid-orm
Proposed user-facing design
Valuable external context and Community ideas and pain points matter only insofar as they help clarify what ideas are justified in the research document itself.
-
Derive candidate ideas from the research
Extract only ideas that are clearly supported by the research.
Good ideas are:
- User-facing capabilities
- Clear product or interface proposals
- Distinct pieces of value a user could understand and want
Exclude:
- Internal implementation tasks
- Refactors
- Infrastructure work with no standalone user value
- Open questions presented in the research but not resolved enough to become an idea
- Anything that requires adding assumptions beyond the research
Do not split a single cohesive capability into multiple ideas unless each part independently adds value to users.
If an idea only matters because another idea exists, it should likely be part of that larger idea.
Prefer wording that a human can understand on first read.
If the research uses dense shorthand, rename the idea or explain it later in How.
-
Categorize the ideas
Use up to these three categories and in this order:
Must haves: ideas that are required for the feature to function in a meaningful way
Valuables: ideas that clearly improve the feature for users, but the main purpose is still achievable without them
Nice to have: extra convenience or narrower-scope ideas that are beneficial but not essential
Skip any category that has no supported ideas.
A lower-priority category must not contain an idea that higher-priority ideas depend on.
If that happens, reclassify the blocking idea upward or merge the ideas.
-
Prioritize and connect the ideas
Within each category, order ideas by:
- First: ideas that do not depend on another listed idea
- Then: ideas that depend on earlier ideas
- Throughout: higher-concept importance first
The ordering should make conceptual sense for the feature, not read like a task list.
For every idea, determine which earlier ideas it depends on.
Only list ideas that actually appear earlier in the document.
If none, say None.
-
Write or update ideas.md
If changes/<feature-name>/ideas.md already exists, read it now, preserve any still-supported ideas, remove unsupported or stale content, and reconcile the document with the current research.md.
If the file does not exist yet, create it.
Use this structure:
# <Feature Title>
## Must haves
### 1. <Idea title>
- Why: <Why this idea matters for the researched feature.>
- Adds: <What user-facing value or capability this idea adds.>
- How: <How the idea would work or be experienced from the user's perspective. Use a short list instead if multiple ingredients are needed to make the idea understandable.>
- Depends on: <Comma-separated earlier idea titles, or `None`.>
#### Use cases (optional)
- <Brief scenario that shows the problem and how this idea solves it.>
<Optional minimal code example if it genuinely helps.>
## Valuables
### 2. <Idea title>
- Why: <Why this idea matters for the researched feature.>
- Adds: <What user-facing value or capability this idea adds.>
- How: <How the idea would work or be experienced from the user's perspective. Use a short list instead if multiple ingredients are needed to make the idea understandable.>
- Depends on: <Comma-separated earlier idea titles, or `None`.>
**Use cases**: (one or more, optional)
- <Brief scenario that shows the problem and how this idea solves it.>
<Optional minimal code example if it genuinely helps.>
## Nice to have
### 3. <Idea title>
- Why: <Why this idea matters for the researched feature.>
- Adds: <What user-facing value or capability this idea adds.>
- How: <How the idea would work or be experienced from the user's perspective. Use a short list instead if multiple ingredients are needed to make the idea understandable.>
- Depends on: <Comma-separated earlier idea titles, or `None`.>
#### Use cases (optional)
- <Brief scenario that shows the problem and how this idea solves it.>
<Optional minimal code example if it genuinely helps.>
Document guidance:
- Use the research title for
# <Feature Title> when it is clear
- Keep every field concise and specific
Why should explain importance in the context of this researched topic
Adds should explain the concrete user-facing value
How should make the idea easier for a human to picture, especially when the title or Adds could still feel abstract
- Keep
How at a user-facing level; mention workflow or API shape only when it genuinely clarifies the idea
- If
How needs multiple ingredients, use a short list instead of cramming them into one sentence
Depends on should name earlier ideas exactly as written, or None
- Add
Use cases when they make the idea clearer
- Every use case should briefly show the situation, state how the idea solves it, and may include a minimal code example
- If there are multiple distinct use cases, list all of them
- If there is only one useful use case, include just one
- If the idea is simple and already self-explanatory, skip
Use cases instead of adding filler
- Do not add category intros unless they are genuinely useful
- Do not include implementation steps, acceptance criteria, or internal architecture
-
Quality check
Before finishing, verify:
- The file was written to the correct
changes/<feature-name>/ideas.md path
- The chosen change folder is the best match for the user's input
- Every listed idea is clearly supported by
research.md
- No idea depends on unstated assumptions outside the research
- Each idea adds standalone user value
- Categories are correct and empty ones were skipped
- Ordering reflects conceptual priority and dependency
Depends on only references earlier ideas that the current idea truly relies on
How makes ambiguous ideas more understandable without turning them into implementation plans
Use cases are present when they add clarity, and omitted when they would just repeat the idea
- The document stays at the user-facing or interface-design level
- Implementation detail appears only when necessary for high-level understanding
- Idea titles are
### headings prefixed with numbers, and numbering continues across categories without restarting