---
title: "Generate sessions"
description: "Start a Generate session, pick a methodology, answer the interview and review each spec file as MySpec writes it."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.myspec.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate sessions

A **Generate session** is a chat in which MySpec interviews you and then writes
a set of spec files, one stage at a time. You review each file before the next
one is written. The files from one session form a **bundle**.

Use a Generate session to create specs for a new product or feature. To change
spec files that already exist, use an [Edit session](/guides/edit-sessions/).
For a Brownfield project, see [Work on an existing codebase](/guides/brownfield/).

## Start a Generate session

1. **Open a new chat**

   Open your project. Under **Chats**, select the **Generate** tab, then
   **Chat**. In a project with no chats yet, you can also select
   **+ Start your first chat**.

   If MySpec asks **What would you like to do?**, choose **Generate**.
2. **Choose a methodology**

   Under **Generate methodology**, pick the workflow this session follows. See
   [Choose a methodology](#choose-a-methodology).
3. **Check the language, model and spec depth**

   The AI writes in the language you use MySpec in. Change it now if you need
   to: you can't change it once the session starts. See
   [Language and AI model](#language-and-ai-model). The **Spec depth** picker
   sets how many rounds of questions and reviews the AI may use. See
   [Spec depth](#spec-depth).
4. **Describe what you want to build**

   MySpec fills the message box with your project's name and description, for
   example "I want to build Acme. My project description is: …". Add any
   detail you have, attach documents if they help, then send the message.

Before you send, a welcome panel lists the stages of the methodology you
picked. Select a stage to read what it does.

> **You need Write access**
>
> Starting a session, sending messages, answering the AI and using slash
> commands such as `/btw` need **Write** or **Admin** on the project. With
> **Read** access you can open and read every session, but the message box is
> locked under a **Read-only access** banner: "You have read-only access to
> this project. Ask a project admin for Write access to chat with the AI." See
> [Teams and project access](/guides/teams-and-project-access/#what-read-users-see).

## Choose a methodology

The **Generate methodology** picker lists the workflows that fit your project
type. MySpec is listed first and selected by default. When only one workflow
fits, you see a **Using …** badge instead of a picker. You can't change the
methodology after you send the first message.

| Methodology | Shown in the picker as | Stages |
|---|---|---|
| MySpec | **MySpec generate-workflow (v1)** | Interview → Constitution → Requirements → Solution → Tasks |
| SpecKit | **SpecKit generate-greenfield (v1)** | Interview → Constitution → Specify → Plan → Tasks |

Greenfield projects see MySpec and SpecKit. Brownfield projects see the
workflows for existing codebases instead, described in
[Work on an existing codebase](/guides/brownfield/). Projects of type **Auto**
see all of them.

### MySpec stages

| Stage | What it produces |
|---|---|
| Interview | A short round of guided questions about your project's goals, users, and constraints. Your answers steer every stage that follows. No spec file is produced yet. |
| Constitution | Your project's guiding principles and non-negotiable rules, saved as `constitution.md`: the foundation every later spec must stay consistent with. |
| Requirements | A structured `requirements.md`: user stories plus the functional and non-functional requirements the system must satisfy. |
| Solution | The technical approach (architecture, data model and key design decisions), captured in `solution.md`. |
| Tasks | A concrete, ordered work plan saved as `tasks.md`, ready to hand off for implementation. |

### SpecKit stages

| Stage | What it produces |
|---|---|
| Interview | The same guided questions as in MySpec. No spec file yet. |
| Constitution | The project's guiding principles, saved as `constitution.md`. SpecKit keeps one constitution per project: a later SpecKit session in the same project updates it instead of starting a new one. |
| Specify | A SpecKit-style `spec.md` describing what to build and why, kept independent of implementation details. |
| Plan | A concrete technical implementation plan, saved as `plan.md`. |
| Tasks | An ordered work plan saved as `tasks.md`. |

[Spec files](/spec-files/) explains what each file contains and where it is
saved.

## How each stage runs

The header shows the stages of your session and where you are. After the
Interview, each stage runs through three steps. The chat marks every move with
a label such as **Requirements · Generating**.

| Step | What happens |
|---|---|
| **Collecting** | The AI may ask a few more questions about this stage. |
| **Generating** | The AI writes the file. You watch it appear in a card, then approve it or ask for changes. |
| **Review** | An AI reviewer checks the file and gives a verdict. You decide which feedback to apply. |

When you finish the review, the next stage starts. After the last stage, the
session is complete. See [Finish a session and build](/guides/finishing-a-session/).

## Answer the interview

The AI asks questions in rounds, such as **Round 1 — 3 questions**. How many
rounds it may ask depends on the [spec depth](#spec-depth).

- Each question says **Select one** or **Select all that apply**.
- An option marked **(Recommended)** is the AI's suggestion.
- Some options list the technologies they involve. Hover a technology's logo
  for a short description. Where a logo links to the technology's website,
  selecting it opens the site without choosing the option.
- To give your own answer, choose **Other** and type it in the box.
- Answer every question, then select **Submit Answers**.

You can also answer in your own words in the message box. MySpec matches your
reply to the questions. If your reply asks something instead, the AI answers
and the questions stay open. If the AI replaces a round, the old one is marked
as withdrawn.

### Recommended domain knowledge

When the Interview ends, MySpec may show **Recommended domain knowledge**:
skills that match the product you described, such as banking or healthcare.
Select **Use this skill** to give the AI deeper industry context for the
remaining stages, or **Skip**. See [Custom Skills](/guides/custom-skills/).

## Review each spec file

Each file goes through two checks: yours, then the AI reviewer's.

### Approve the draft

When the AI finishes writing, the file appears as a card with its path, for
example `specs/acme-portal/requirements.md`. Select the eye icon to read it.

- **Approve** sends the file to the AI reviewer.
- **Request Changes** opens a box. Describe what to change, then select
  **Submit Feedback**. The AI rewrites the file and the card shows the new
  revision, such as **Rev 2**.

### Act on the AI review

The review card shows a verdict, **Pass** or **Needs Revision**, a short
message, and two lists:

- **Must Fix**: problems the reviewer thinks need fixing. They are selected for
  you.
- **Recommendations**: optional improvements. They are not selected.

Each item can include a suggestion and a confidence score, which shows how sure
the reviewer is that the feedback is right. How many review rounds can still
ask for changes depends on the [spec depth](#spec-depth). Select or clear
items, then choose:

| Button | Shown when | What it does |
|---|---|---|
| **Next** | Verdict is **Pass** and nothing is selected | Keeps the file and moves to the next stage. |
| **Accept Feedback** | Items are selected, or the verdict is **Needs Revision** (greyed out until you select an item) | The AI revises the file using the selected items. You then approve the new version as before. |
| **Request change** | Always | Opens a box for your own instructions. Send them with **Submit Feedback** (Pass) or **Submit Edit** (Needs Revision). |
| **Ignore** | Verdict is **Needs Revision** | Keeps the file as it is and moves to the next stage. |

> **Tip**
>
> You can also type your decision in the message box, for example "looks good,
> continue". If you ask a question instead, the AI answers it and the buttons
> stay available.

You change files by hand in an [Edit session](/guides/edit-sessions/), not in
a Generate session. See [View and edit spec files](/guides/spec-editor/).

## Go back to an earlier stage

Use `/goback` to revise a stage you have already finished.

- Type `/goback` and press Enter to pick from a list. **Go back to which
  stage?** shows the earlier stages. Your current progress is preserved.
- Or say what you want to change, for example
  `/goback adjust requirement FR-002`. The AI works out which stage you mean. If
  it isn't sure, it asks **Go back — which stage?**.

MySpec returns to that stage, asks follow-up questions, and then works forward
through the later stages again. Recent earlier versions of each file stay in its
revision list.

You can't go back to the Interview. To change your original answers, start a
new session: the list offers **Create new session**.

## Slash commands

Type `/` in the message box to open **Slash commands**. Pick a command, type
its text if it needs any, then press Enter. Escape cancels.

| Command | What it does | Available |
|---|---|---|
| `/btw <question>` | Asks a side question about the workflow or your spec files, for example `/btw what does FR-005 mean?`. The answer appears in its own card. It doesn't change the session and isn't kept in the chat. It works even while the AI is replying. | Generate and Edit sessions, once the session has started |
| `/goback [text]` | Goes back to an earlier stage. See [above](#go-back-to-an-earlier-stage). | Generate sessions |
| `/complete` | Ends the session now, after you confirm. | Once the session has started; in a Generate session, after the first spec file is written |

A command you can't use yet is greyed out. Hover it to see why, for example
"Available after the first spec file is generated."

## Language and AI model

**Language.** The AI replies and writes specs in the language you use MySpec
in: English, 日本語, 简体中文 or Tiếng Việt. To change it, open the avatar menu
and choose **Language** before you send the first message. See
[Language](/guides/account/#language). Once a session has started, its language
is locked: "Language is locked for this session. Start a new chat to use a
different language."

**AI model.** MySpec picks a model for you. When more than one model is
offered, a model picker appears in the message box and you can choose another.
The next message uses the model you picked, and your browser remembers the
choice.

## Spec depth

**Spec depth** sets how many rounds of questions the AI may ask, and how many
review rounds may still ask for changes to a spec file. Pick it in the
**Spec depth** picker beside the model picker in the message box. The picker
shows the current level: **Lite**, **Full** or **Ultra**.

| Level | Question rounds | Review rounds that can ask for changes |
|---|---|---|
| **Lite** | Up to 3 in the Interview, 2 in each stage's **Collecting** step | 2 per spec file |
| **Full** (the default) | Up to 6 in the Interview, 5 in each stage's **Collecting** step | 5 per spec file |
| **Ultra** | No limit | No limit |

- **Lite** suits a quick first draft. The AI asks the questions that change
  your specs most in its first round, picks sensible defaults for the rest,
  and lists the defaults it chose so you can correct them.
- **Ultra** lets the AI keep asking and reviewing for as long as it needs. It
  asks until every requirement is clear instead of picking defaults, and
  reviews each spec file in more depth: ambiguity, gaps, missing error and edge
  cases, and contradictions with earlier spec files.
- When the limit is reached, the AI stops asking and moves on.
- Your browser remembers the level, like the model. A change applies from your
  next message, so you can switch level in the middle of a session.
- Spec depth applies to every Generate methodology, including the ones for
  [existing codebases](/guides/brownfield/), where the limit for the Interview
  also applies to Explore. Edit sessions have no spec depth picker.
- A session started from your coding agent runs at **Full**. See
  [Start a session from your agent](/mcp/tools/#start-a-session-from-your-agent).

### Later review rounds

At every level, each review of a spec file after the first works like this:

- The reviewer first checks that the revision fixed what you selected and
  broke nothing else.
- It doesn't raise again an item you chose not to act on.
- At **Lite** and **Full**, it raises a new **Must Fix** only for something the
  revision made wrong, unsafe or contradictory. Anything else is a
  recommendation, or nothing. At **Ultra**, it may also raise a new, serious
  problem it finds on a deeper pass.

At **Lite** and **Full**, once a spec file has used its review rounds, the next
review only confirms the file: the verdict is **Pass**, with no **Must Fix** and
only a few recommendations. Select **Next** to move on. A serious problem the
revision introduced, such as a security, data loss or accessibility problem, is
still listed first and named in the review message, so you see it before you
continue.

## Attach files and reference spec files

- **Attach a file**: select **Upload attachment**, drag a file onto the message
  box, or paste a screenshot. The file is added to the project's attachments
  and referenced in your message. Each file can be up to 10 MB.
- **Reference a file**: type `@` or select **Reference a file**, then choose a
  spec file, an attachment or a file from your Local Workspace. You can also
  drag a spec file or an attachment from the file explorer onto the message
  box.

The AI can read the project's attachments and spec files while it works. See
[Attachments and local files](/guides/attachments/).

## When a reply doesn't finish

If the AI stops before it finishes, MySpec shows **Reply didn't finish**: "The
AI ran out of room or time before it finished replying. Send your message
again, or ask for a smaller change — your work is not lost."

Other messages you may see:

| Message | What to do |
|---|---|
| **Connection lost** | Check your internet connection and send your message again. |
| **Session is busy** | The session is being processed on another device. Dismiss the message and select **Refresh chat** in the header. |
| **Your session expired** | Dismiss the message and send it again. MySpec signs you back in. |
| **AI agent is still running** | You tried to leave while the AI is working. **Stay** keeps it running; **Leave anyway** interrupts it. |

## Archived sessions

You can archive a session from its card in the project's **Chats** list. An
archived session says who archived it: "This session was archived by _name_. It
is read-only and cannot be continued." The message box is hidden, and you can only delete the session.
Archiving, unarchiving and deleting a session need **Write** access.

To use it again, select **Archived** in the **Chats** list and choose
**Unarchive** from the session's menu. If you archive a session before it is
complete, its spec files are hidden from the file explorer until you unarchive
it. Files from completed sessions stay visible. See [Projects](/guides/projects/).

## Next steps

- [Finish a session and build](/guides/finishing-a-session/) — Complete the session, download the bundle or hand it to a build tool.
- [Spec files](/spec-files/) — What each generated file contains.

Source: https://docs.myspec.dev/guides/generate-sessions/index.mdx
