Skip to content

Turn Ideas into Code with Proposal Sessions

Have a great idea but don’t know how to implement it? Proposal sessions are here to help! This guide will show you how to use proposal sessions (also known as idea sessions) to transform abstract ideas into executable code through OpenSpec’s structured workflow.

Before using proposal sessions, make sure you have:

A proposal session is a structured workflow that guides you through the process of transforming abstract ideas into executed code.

Understanding the differences between them is crucial when choosing which session type to use:

FeatureConversation SessionProposal Session
Working MethodFree conversation, ask and answerStructured 9-stage lifecycle
Use CasesQuick consultation, code explanation, simple modificationsComplex feature development, architecture design, multi-file changes
Planning LevelMinimal planning, direct executionComplete proposals, tasks, design documents
Review ProcessNo formal review processThree-tier annotation system (inline, file, global)
Iterative OptimizationRelies on you actively suggesting improvementsAI automatically optimizes descriptions, supports multi-round annotation adjustments
TraceabilityOnly retains conversation historyGenerates complete OpenSpec documents (proposals, tasks, specifications)
History UtilizationCannot effectively utilize historical experienceUses “memory fragments” system, continuously learns and improves
Code QualityDepends on single conversation qualityHigher quality through planning, review, and iteration
Team CollaborationDifficult to share and collaboratePlanning documents can be shared, facilitating team review

1. Structured Thinking, Avoid Omissions

Proposal sessions force you to think through 9 stages:

  • ✅ What exactly do I want to implement? (Stage 0-1: Clarify requirements)
  • ✅ How to implement? (Stage 3: Generate detailed planning)
  • ✅ Is the planning reasonable? (Stage 4: Review and annotate)
  • ✅ Are you satisfied with the results? (Stage 6: Verify and adjust)

2. Multi-round Optimization, Continuous Improvement

Unlike the “one-time output” of conversation sessions, proposal sessions support:

  • 🔄 AI automatically optimizes your vague descriptions
  • 🔄 Precisely adjust planning through three-tier annotation system
  • 🔄 Can continue optimizing in edit mode after execution
  • 🔄 Multiple iterations until completely satisfied

3. Memory Fragments, Get Smarter with Use

After each proposal is archived, OpenSpec saves:

  • 📦 Proposal document (what you want to implement)
  • 📦 Task list (steps for implementation)
  • 📦 Design document (why design this way)
  • 📦 Specification files (technical specifications and constraints)

Next time when proposing, AI will:

  • 🧠 Reference historical architecture decisions, maintain consistency
  • 🧠 Reuse existing code patterns and specifications
  • 🧠 Avoid re-implementing existing functionality
  • 🧠 Understand the project’s technical debt and design trade-offs

4. Team Collaboration, Knowledge Inheritance

Generated OpenSpec documents can:

  • 👥 Serve as reference descriptions for Pull Requests
  • 👥 Help new members understand architecture decisions
  • 👥 Record the thinking process of “why implement this way”
  • 👥 Form the project’s technical knowledge base

✅ Recommended scenarios for using proposal sessions:

  • Need to create new functional modules
  • Systematic changes involving multiple files
  • Need architecture design and technology selection
  • Want to retain detailed design documents
  • Team projects, need traceable change records
  • Implementation of complex business logic

❌ Recommended scenarios for using conversation sessions:

  • Simple code question consultation
  • Single-file bug fixes
  • Quick code explanation or learning
  • Temporary code snippet generation

The 9-Stage Lifecycle of Proposal Sessions

Section titled “The 9-Stage Lifecycle of Proposal Sessions”

Proposal sessions follow the defined 9-stage lifecycle:

  • Stage 0: Initialization - Define your idea
  • Stage 1: Optimizing - AI refines your description
  • Stage 2: Draft - Review and manual editing
  • Stage 3: Generating - AI creates detailed planning
  • Stage 4: Reviewing - Annotate and approve changes
  • Stage 5: Executing - AI implements changes
  • Stage 6: Execution Complete - Verify in IDE
  • Stage 7: Archiving - Finalize proposal
  • Stage 8: Archived - Lifecycle complete

Display of the 9 stages of idea

The first step is to create a new idea and provide an initial description.

  1. On the session list dashboard, click the + New Idea button

Click new idea button

  1. Enter the proposal title
  2. Describe what you want to accomplish

Fill in basic information for the idea

Tips for Writing Good Initial Descriptions

Section titled “Tips for Writing Good Initial Descriptions”
  • Keep it simple: Ideas don’t need detailed planning, just describe the problem in simple language
  • Colloquial expression: Just talk directly about your needs like talking to a developer
  • Focus on problems: Explain the problems you encounter or want to improve
  • Don’t worry about details: AI will automatically optimize the description based on the actual project situation in subsequent stages

Example (as shown in the screenshot):

Use list format instead of commas, easier to view, please use tabs

Such a simple description is sufficient! AI will automatically optimize it into a complete technical proposal.

After submitting the idea, AI will automatically process and refine it.

AI analyzes your description and:

Automatic description optimization after creating new idea, combining user's description with actual project situation for description optimization

  • Clarify vague requirements
  • Suggest appropriate technologies
  • Identify potential edge cases
  • Generate proposal name

This stage is fully automated. You will see a loading indicator while AI is working.

Effect after description optimization, comparing idea and description

  • Generated proposal name
  • Refined description with additional details
  • Identified scope and boundaries

Now you have the opportunity to review the proposal before planning begins.

You can click on the description content to edit, or directly click “Generate Plan” to continue to the next step.

After description optimization and idea name generation, you can click generate plan to generate a plan about this idea

After approving the draft, AI will automatically generate detailed implementation planning.

After clicking the Generate Plan button, the system will show the automatically generated status:

Interface showing plan generation in progress

You can view the generation progress in real-time in the conversation tab:

Generation process can be viewed in the conversation tab

AI creates multiple documents:

DocumentTypeDescription
ProposalMainDescribes the functionality and goals to be implemented
TasksMainSpecific implementation task list
DesignOptionalArchitecture design document (if needed)
SpecificationReferenceOpenSpec-related specification files, saved as memory fragments

Annotation focus: You usually only need to annotate the Proposal, Tasks, and Design sections. The specification files (specs) section usually doesn’t need attention.

This is the most critical stage, where you review, annotate, and approve the implementation plan.

After plan generation is complete, it will enter review state, and then manual review of the plan is required

You can click on the tabs to view the generated files and make annotations:

Planning-related files displayed on tabs

Hagicode provides three levels of annotations to provide feedback.

Highlight specific text and add comments:

Click on a specific file to perform inline annotations

Add feedback at the document level:

You can also add file-level annotations at the bottom of files

After adding annotations, you can click the button in the upper right corner or directly click the “Review” tab to view and submit all annotations:

After file annotations, you can click the upper right corner or click the review tab to view current annotation content

Provide overall feedback for the proposal:

You can also add global annotations unrelated to files in the review tab

Note: Global annotations need to click the “Save” button to take effect.

Global annotations need to click save to take effect

After confirming annotations, you can click the submit all annotations button, and AI will modify the plan based on your annotations:

After all annotations are confirmed, you can click the submit all annotations button to let AI modify based on your annotations

You can view the process of AI processing annotations in the conversation tab:

After annotation submission, you can see AI modification process in the conversation tab

Annotation is an iterative process. You can continuously add annotations, submit, wait for AI to process, and then review the updated plan until satisfied:

No

Yes

Yes

No

Annotations

You

Submit Feedback

AI Adjusts

Review Updated Plan

Satisfied?

Execute Immediately?

Execute Immediately

When satisfied with the plan:

  1. Ensure all key feedback has been addressed
  2. Click Approve and Execute
  3. Proposal enters execution stage

After plan is manually confirmed to be correct, you can click execute immediately in the info tab

AI is now automatically implementing the approved plan.

Execution panel display effect:

Display of plan execution in progress

AI:

  • Creates new files according to specifications
  • Modifies existing files to make changes
  • Follows implementation plan step by step
  • Shows progress for each operation

After execution is complete, you will see:

  • Summary of created/modified files
  • Any warnings or issues encountered
  • Links to view changes

AI has completed implementation. Now it’s time to verify the changes.

Display of stage after plan execution is complete

Open the project in your preferred IDE for review.

Code change display after plan execution is complete

Stage 6 enables a special edit mode conversation for post-execution adjustments.

If you are not satisfied with the execution results, you can explain to AI in the conversation in edit mode what needs to be adjusted. AI will continue to complete edits until the adjustment results meet your requirements. You can perform multiple rounds of adjustments until completely satisfied:

If not satisfied with execution results, you can continue to ask AI to modify according to your requirements in the conversation

Before continuing:

  • Review all file changes in IDE
  • Test new functionality locally
  • Run any existing tests
  • Request any final adjustments through edit mode
  • Ensure compliance with code quality standards

After being satisfied with the implementation, AI will archive the proposal.

Clicking the Archive Plan button completes:

If all results have achieved satisfactory effects, you can click archive plan to complete the process

Archive in progress

AI:

  • Marks the proposal as complete
  • Creates change summary
  • Generates commit message suggestions
  • Moves proposal to archive

Display of archive complete stage

The proposal lifecycle is complete. The proposal is now in the archive.

Code change display after archive is complete

Remember to commit the implemented changes and archived planning files:

:::重要提示 Commit Archived Planning Files

Besides code changes, you should also commit the archived planning files to your Git repository. These files include:

  • Proposal (proposal.md)
  • Tasks (tasks.md)
  • Design (design.md, if any)
  • Specification files (specs/)

Why commit planning files?

OpenSpec uses archived proposals and specification files as “memory fragments” to reference these historical records in subsequent proposals and implementations. This way:

  1. ✅ AI can understand the project’s architecture decisions and historical changes
  2. ✅ Maintain consistency in code style and patterns
  3. ✅ Avoid re-implementing existing functionality
  4. ✅ Each proposal’s results will get better and better

Even if not committing to a central repository, at least ensure these files are kept locally so OpenSpec can continuously learn and improve. :::

Terminal window
cd /path/to/your/project
# Add code changes and planning files
git add .
git commit -m "Add JWT authentication system"
- Implemented AuthService with JWT token generation
- Added JWT middleware for route protection
- Created authentication endpoints (register, login, logout)
- Integrated bcrypt for password hashing
- Archived proposal planning: openspec/changes/add-jwt-auth/"
StageNameTypeDescription
0InitializationUserCreate new idea with title and description
1OptimizingAIAI refines description and generates name
2DraftUserReview and manually edit proposal
3GeneratingAIAI creates detailed implementation planning
4ReviewingUserAnnotate plan and approve execution
5ExecutingAIAI implements approved changes
6Execution CompleteUserVerify changes and make adjustments
7ArchivingAIAI completes and archives proposal
8Archived-Proposal lifecycle complete

Learn more about OpenSpec:

  • OpenSpec Specifications: Understand how OpenSpec works and best practices
  • OpenSpec Document Structure: Learn how to organize and manage proposal, task, and specification files
  • OpenSpec Memory Fragments System: Deep dive into how to use historical proposals to improve future development