Skip to content
The living specification system for teams building with AI

The most expensive
work is the work
you have to throw away.

Products change. But when product decisions are scattered, teams and coding agents build against outdated assumptions. CrystalSpec keeps the specification structured, approved, and current as the product evolves.

Free 14-day trial. No credit card. Cancel in two clicks.

PMI found poor requirements were the primary cause in 47% of unsuccessful projects.
app.crystalspec.com / acme / onboarding / F-0007-user-sign-in
Flow · F-0007
User Sign-In
✎ Editing draft
1
Enter email & passwordUSER
2
Validate credentialsSYS
3
Suspicious sign-in?DECISIONSYS
4
Verify via magic linkSUB-FLOWSYS
5
Land on the dashboardUSER
4 Test Cases2 Roles2 TriggersAI Assist
Proposed change
Add a "Rate-limit failed attempts" step to block brute-force sign-ins.
Illustrative preview · awaiting reviewer decision
Revision v4 · draft
Every AI edit needs your approval
Versioned & revertible by default
Structured intent, not disconnected prose
Queryable by coding agents via MCP

Your backlog tracks progress.
CrystalSpec keeps the product coherent.

Roadmaps, documents, and tickets help teams plan and deliver. CrystalSpec connects the behavior underneath: what the product should do, why it works that way, and how everyone verifies it.

Documents

Explain the idea

Great for capturing the thinking. Harder to keep every behavior, dependency, and decision connected as the product grows.

Project tools

Coordinate the delivery

Keep owners, deadlines, and status visible. Coordinate the work without trying to become the definition of the product.

CrystalSpec

Define and evolve the product

Connect flows, roles, data, decisions, and tests in one living, versioned model that people and agents can query.

Change is inevitable. Drift isn't.

Keep every decision connected to the product it shapes, from the first draft through every revision after launch.

Define it clearly. Keep it alive as the product changes.

AI helps maintain the structure. Your team owns every decision, from the first draft through every revision after launch.

01

Define

Describe the product in plain language. CrystalSpec turns it into connected flows, roles, data models, decisions, and test cases.

02

Review & approve

The AI returns concrete proposals: create this flow, update that step. Each one is validated before it can be applied, and you accept or reject them individually.

03

Connect

Publish the current revision for stakeholders, Slack, and coding agents. Everyone queries the same approved context.

04

Evolve

Version changes as the product grows. Analyze contradictions and gaps, review what changed, and revert any revision when needed.

AI proposes. You decide.

Chat with an assistant that knows your whole project. Suggestions arrive as structured proposals (create this flow, update that field, delete that role), each validated before it can be applied. Nothing is written until you approve it.

  • Approve or reject proposals one by one, or all at once
  • Validation catches missing fields and broken references up front
  • Every approval and rejection is recorded
AI Proposed Changes3 pending
CREATE
Flows › Refund request
New flow with 6 steps, USER trigger, 2 test cases
applicable
UPDATE
Data Models › Order › status
Add REFUNDED to the status enum
applicable
DELETE
Roles › Billing Clerk
Superseded by the Finance Manager role
applicable
Reviewing never consumes AI credits.
Reject (1)Approve (2)

Find the holes before they cost a sprint.

One click scans a project, flow, or step for contradictions, gaps, and dead glossary terms. Findings come back graded by severity, and "Fix all with AI" turns the report into proposals you review like any other change.

  • Whole-project, per-flow, or per-step analysis with an optional goal
  • Findings graded as contradictions, warnings, and notes
  • A browsable history of past analyses, with jumps straight to the flow
Inconsistency analysis — Whole project3 findings
CONTRADICTIONCheckout
Checkout flow has no payment step
The Checkout flow ends before the customer is charged.
WARNINGRefunds
Refund flow has no test cases
Every other top-level flow defines at least one.
NOTEGlossary
Glossary term 'SKU' is never used
Defined in the glossary but not referenced by any flow or step.
Previous analyses Fix all with AI

Git-style history for product decisions.

Editing forks a draft revision locked to one editor, so the published spec stays stable while you work. Publishing cuts a new version with a change summary and a field-level changeset. Any version can be reverted.

  • One active editor per draft, so edits never collide
  • Field-level "View changes" diffs between revisions
  • Optional sign-off before publish, with named approvers
  • Revert with full lineage, plus a per-project activity timeline
Revision history — Acme Onboardingv4
v4Editing draftin progress
Locked by Maria — refining the refund epic
v3Publishedby Maria · 2 days ago
Refunds epic: 2 new flows, Order model gains REFUNDED status
+2 flows~1 data model−1 roleView changes Revert
v2Publishedby Alex · last week
Checkout hardening after the inconsistency report
+4 test cases~2 flowsView changes Revert

Your agents can query the spec.

The spec is typed data, so an agent can pull a flow, list revisions, diff what changed, or ask the project a question over a hosted MCP server, a scoped GraphQL API, and signed webhooks on every publish. A markdown PRD can't answer those questions. A structured spec can.

  • MCP tools for Claude Code, Claude Desktop, and Cursor
  • Query the typed graph: flows, models, revisions, glossary terms
  • HMAC-signed revision.published webhooks, plus read-only public links
MCPGraphQLWebhooksPDF
# Point your agent at your spec
claude mcp add crystalspec \
https://app.crystalspec.com/mcp \
--header "Authorization: Bearer csk_…"
# Tools your agent can call
get_spec_overviewget_flowlist_revisionsask_projectget_custom_instructions+15 more
# Signed webhook on every publish
revision.published → X-CrystalSpec-Signature: sha256=…

Everything a spec needs, in one place.

Built for product, engineering, and design teams. The spec is typed, queryable data, so people and agents work from the same structure.

Flows that branch

Plain steps, nested sub-flows, and decision points with labelled branches. Every flow renders as a live diagram you can click into.

Data models, drawn or generated

Typed fields, enums, arrays, and references between models. Build them by hand or generate them from your project's context.

Test cases on every flow

Each flow carries verification cases with codes and descriptions, so QA starts from the spec instead of guessing at it.

Discussions where the work is

Threads anchored to flows and projects, with @mentions, a global unread inbox, and an AI teammate that answers when you mention @cs.

Share without an account

Publish a read-only link to any project. Visitors can browse the live spec and ask AI questions about it; that usage is associated with the shared workspace.

The full anatomy of a spec

Roles, phases, epics, glossary terms, and reference resources, typed and cross-referenced so every flow and model shares one vocabulary.

Cmd+K everything

A command palette that searches every flow, step, model, and term in your project, and lands you there with the editor open.

Access control that holds

Owners, admins, and contributors, with per-project read/write overrides enforced server-side on every operation.

PDF & DOCX export

A server-rendered PDF or a styled Word document of the entire specification, for whenever a stakeholder asks for "the document."

Ask the spec in Slack

Mention @CrystalSpec in a bound channel and it answers in-thread from your published revision, with a link back to the project.

Standing instructions

House style, tone, and things to always check, injected into every AI call across chat, analysis, and revision summaries. Only an owner can change them.

Sign-off before a revision ships

Require approval before publish. Drafts park as pending, approvers are notified in-app, in Slack, and over webhooks, and both sides are credited on release.

Ten dollars a seat. That's the pricing page.

Try everything free, then pay $10 per member per month, with each member's monthly AI allowance included. A five-person team runs $50 a month, all in.

Free Trial

Every feature unlocked for 14 days while you evaluate.

$0for 14 days

Upgrade only when you're ready to commit.

  • Full spec authoring & AI assistant
  • 500 AI credits per member, monthly
  • Versioned revisions & publishing
  • Read-only public sharing
Start free trial
No credit card to start500 AI credits per member, refreshed monthlyShared one-time top-ups for busy weeksAdd or remove seats anytimeCancel whenever

Questions we hear a lot.

Is CrystalSpec a project management tool?

No. Project management tools track work: tickets, owners, deadlines, and status. CrystalSpec defines the product itself: its flows, roles, data models, decisions, terminology, and test cases. It can push implementation tasks to tools like GitHub, Linear, and ClickUp, but the living specification remains the source of truth.

Can the AI change my spec without me knowing?

No. That's the core design decision. The assistant only produces proposals: structured create, update, and delete suggestions that wait for your explicit approval. Each one is validated before you can approve it, every decision is recorded, and rejected proposals are kept so you can see what was suggested and who declined it.

How do AI credits work?

Every team member gets 500 AI credits each month (roughly $5 of AI usage), included with their seat and refreshed automatically. When someone runs out, usage draws from a shared team top-up balance you can buy once and keep. Reviewing proposals never costs credits; only generation does.

What happens when two people edit the spec at once?

Only one draft can exist at a time. If two people start editing together, the first person to create the draft becomes its active editor. Everyone else keeps seeing the stable published version and can continue the discussion, but no competing draft can overwrite the work in progress. Once the draft is published, the next change starts from that new current version: no silent overwrites and no conflicting versions to untangle.

Can I share a spec with someone outside my team?

Yes. Any project can publish a read-only share link that requires no account. Visitors can browse the live published spec and ask AI questions about it; that usage is associated with the shared workspace. Rotate or disable the link at any time and old URLs stop resolving immediately.

Can my coding agents and tools read the spec?

Yes, it's a first-class feature. CrystalSpec hosts an MCP server that Claude Code, Claude Desktop, and Cursor can connect to with a scoped personal token. There's also a GraphQL API, HMAC-signed webhooks that fire when a revision is published, and PDF and DOCX export for the humans in the room.

Can my team ask the spec questions in Slack?

Yes. Connect a Slack workspace, bind a channel, and mention @CrystalSpec with a question. It answers in the thread from the project's published revision, formatted natively, with a link back to the project. It's stateless and read-only, so a Slack question can never change the spec. Usage is billed to the connection owner's allowance, so anyone in the channel can ask without an account or credits of their own.

Can we require sign-off before a spec goes live?

Turn on "require approval before publish" and a submitted draft parks as pending instead of publishing, while its editor keeps working. Choose who can approve: any member, the team owners, or a named set. Approvers are notified in-app, in Slack, and over webhooks, and re-pinged if the draft changes before they sign off. On publish, both the author and the approver are credited.

Do I need a credit card to try it?

No. Create an account and start a free trial with every feature unlocked, including your monthly AI allowance. When you're ready, the paid plan is a single per-seat price: $10 per member per month.

Didn't find your question? Start free →

Change the product
without losing the plot.

Keep every flow, decision, dependency, and test case structured, versioned, and consistent as your software evolves. Your team and coding agents always read the same approved spec.

Free trial, no credit cardEvery AI edit human-approvedCancel in two clicks