Skip to content

Turn a rough idea into a clear product spec.

A product spec is a shared plan for what your product should do. In five short stages, you will describe one user goal, turn it into a flow, check the draft, and publish it for your team.

New here? Start small. One role, one phase, one flow, and a few steps are enough for a useful first draft.

How the pieces connectExample spec

Pick the easiest starting point.

Already have notes? Let AI create a draft. Repeating a familiar project? Use a template. Learning with one small feature? Start blank. Every part remains editable.

Recommended if you have notes

Let AI create a first draft

Paste notes or add documents. CrystalSpec may ask up to five optional questions, then creates a draft for you to review.

Best for
Meeting notes, research, briefs, and existing documents
First move
New project → enter Project Name → With AI → Continue → Create with AI
Best for repeatable work

Reuse a proven template

Choose a ready-made spec or a template your team saved from an earlier published project. You can change it after creation.

Best for
Projects that follow a familiar structure
First move
New project → enter Project Name → From a template → Continue → choose a template → Create from template
Best for learning

Start with a blank project

Start with an empty spec and add only what you need. You can still ask AI for help later.

Best for
Small features and hands-on learning
First move
New project → enter Project Name → Blank → Continue → Create project

When the project opens, start with its Draft revision. With AI, generation may take a few minutes and continues if you leave the page.

A tiny glossary for your first spec.

You do not need to memorize these. They are here so the next five stages read like instructions, not a secret handshake.

Spec
A shared description of what a product should do.
Draft revision
The unpublished version you are editing.
Published revision
A fixed version your team can rely on and share.
Role
A person or system that acts, such as Buyer.
Flow
The steps used to complete one user goal.
Phase
The delivery period a flow belongs to, such as First release.

Explain the project in plain language

Start with three basics: who needs help, what goes wrong today, and what should improve. Then create the names and groups you will reuse.

Where to find it

Dashboard → More actions → Edit Project Details; then Dashboard → Roles, Terminology, Phases, and Epics

A clear project goal

“A buyer can resolve a failed payment without contacting support.”

This says who needs help and what success means. “Build a retry endpoint” only names one possible solution.

  1. Describe the problem and result

    In Description, say who has the problem, what happens today, and what should be different. Leave technical solutions out unless they are required.

  2. Add roles and key terms

    A role is a person or system that takes part, such as Buyer or Payment provider. Add a terminology entry for any word a new teammate might misunderstand.

  3. Group the work

    A phase says when work is planned, such as First release. An epic is an optional group of related flows, such as Payment recovery.

Good enough for now

  • A new reader can identify the user, problem, and desired result
  • Each role and unusual term is explained
  • Each epic supports the project goal

Describe one user journey

A flow shows what happens from the moment a person or system starts something until it succeeds or fails. Begin with the expected path, then add important alternatives.

Where to find it

Sidebar → Flows → New Flow

A clear flow name

Prefer “Recover a failed payment” over “Payment handler.”

The first name tells a reader what success looks like. The second names machinery and hides the buyer's journey.

  1. Create a flow for one goal

    Name it after the result, such as Recover a failed payment. Choose its required phase. Choose an epic only when it helps group related flows.

  2. Add what starts the flow

    A trigger is the event that starts the journey. Choose User when a role starts it, or Time when it starts on a schedule.

  3. Write the steps

    Turn on editing and select Add new step. For each step, choose the responsible role and describe something a reader can observe.

  4. Add alternatives and checks

    Add decision steps for important choices and failures. Add test cases for the results that matter. Create a data model only when the flow reads or changes information that needs a shared definition.

Good enough for now

  • The event that starts the flow is clear
  • Every step says which role acts and what happens
  • Success and failure paths end in a known result
  • Each important result has a test case

Let AI suggest; you decide

AI can find missing cases and draft changes, but you choose what enters the spec. Ask for one clear result, then inspect every suggestion.

Where to find it

Project-aware AI Agent → Start talking to the AI Agent

A useful question

“Find any path in the failed-payment flow where the order could remain in an unclear state.”

It names the flow and the exact problem to look for. “Make this better” leaves too much open to interpretation.

  1. Ask one specific question

    Name the flow and the task: find a missing payment-recovery path, draft test cases, or explain a Spec health finding. Some replies are advice only, with no changes to review.

  2. Review the suggested changes

    Open AI Proposed Changes and use Details to inspect each addition, edit, or deletion. Suggestions start as Approved, so change incorrect ones to Deny.

  3. Submit only what is correct

    Select Submit after your review. Nothing changes before you submit. If another person owns the draft, CrystalSpec blocks the change until the edit lock is available.

Good enough for now

  • The question names one flow or topic
  • Every suggested change was opened and checked
  • Only correct suggestions remain Approved

Share a version your team can use

You make changes in a draft revision. Publishing saves that work as a fixed revision your team can rely on. Read the whole draft before you publish.

Where to find it

Preview in the project header; Dashboard → Spec health; Tools → Analyzer; Draft revision

One editor at a time

Coordinate before taking over another person's draft.

A project has one draft and one editor. An owner or admin can take over, but doing so discards the other person's unpublished work.

  1. Read the full Preview

    Read the spec as a new teammate would. Check that the project description, flows, steps, and data models agree.

  2. Check for gaps

    Spec health finds missing structure. On a project that was already published, its Dashboard card checks the published revision, not your open draft. Analyzer is an optional AI review and uses AI credits.

  3. Review, explain, and publish

    Select Draft revision, expand What changed, and write a Revision Message that says what changed and why. Select Publish, or Send for approval when your workspace requires it.

Good enough for now

  • A new reader can follow the story from problem to result
  • Every warning was checked and corrected when needed
  • The Revision Message says what changed and why

Update the spec when a decision changes

A spec stays useful only while it matches the product. Record decisions near the affected flow, update delivery status, and share a published revision.

Where to find it

Flow → Discussions; Tools → Tracker; More actions → Share

A simple routine

Update the spec when a product decision changes.

Small revisions are easier to review and leave a useful history. No quarterly archaeology expedition required.

  1. Keep decisions near the flow

    Use a flow's Discussions tab for questions and decisions about that flow. Discussions remain available after you publish and do not take the edit lock.

  2. Update delivery status

    In Tracker, update flows and steps as work moves forward. Tracker status is separate from the spec, so it can change without opening a draft.

  3. Share the published version

    Use Share for a read-only link to the current published revision. Drafts are never exposed. When agreed behavior changes, start a new draft, update it, and publish again.

Good enough for now

  • Questions and decisions are recorded beside the flow
  • Tracker matches the current delivery status
  • Shared links show the intended published revision

Check these eight things before you publish.

A useful spec is easy for a new teammate to follow and clear about what happens when things go wrong.

  • Can a new teammate identify the user, problem, and desired result?
  • Do roles and key terms mean the same thing everywhere?
  • Does each flow have a phase and a clear starting event?
  • Does every step say which role acts and what happens?
  • Are important choices, failures, and results covered by test cases?
  • Do data models match the information used in the flows?
  • If you used AI, did a person review every suggestion?
  • Does the Revision Message say what changed and why?

Start with one user goal.

Bring the notes you already have or begin with a blank project. Your first spec does not need to cover the whole product. It only needs to make one useful result clear.

Build your first spec