Skip to content
Get AI Business OS

/newproject

AI Business OS

/newproject creates a tracked project. Claude asks what the work is for and what done looks like, gives the project the next ID, creates its folder in the right place and writes three starting files. It then registers the project in .claude/state/state.json so that /day, /status and /night can track it.

Use /newproject for a discrete body of work with an objective and an end, such as a campaign, an audit, a product launch or a client engagement. Standing material that never finishes, such as your budget or your brand guidelines, belongs in a domain’s reference subfolder and is not a project. The Domains page explains the difference.

  1. Type /newproject in the Claude Code panel, followed by the project name if you know it, and press Enter.
  2. Answer each question as Claude asks it, one at a time.
  3. Review the Product Requirements Document (PRD) that Claude drafts, and approve it or ask for changes.
  4. Read the confirmation, which gives the project ID and its folder.

You can give the name with the command, for example /newproject Spring Workshop. Claude still asks the other questions.

Claude asks five questions about the work first.

# Question
1 What is the goal? One sentence on what success looks like
2 Who is it for? A client, an audience or internal use
3 What does done look like? Specific deliverables, not activities
4 What is the timeline? A deadline, or ongoing
5 What already exists? Prior work, materials, references or related projects

It then asks for the project name, a category, optional tags, the subfolders, any project-specific rules or skills and, in a workspace with domains, the domain.

Every project has exactly one category from a fixed list. Claude shows the list and asks you to pick a number.

Category Default subfolders
Client Deliverables/, Internal/
Product Design/, Development/
Internal Docs/
Marketing Campaigns/, Assets/
Research Notes/, Sources/
Operations Docs/
Finance Reports/, Records/
Sales Proposals/, Pipeline/
Legal Contracts/, Compliance/
IT Docs/

Claude offers the default subfolders for the category you choose. You can accept them or list your own names, separated by commas.

Tags are optional labels that cut across categories. Claude offers a starting list, which includes automation, training, reporting, content, strategy, website, events and others. You can pick from the list, add your own or skip. Tags are stored in lower case with hyphens, such as customer-support.

Claude asks whether the project needs rules or skills of its own. The default is to skip, because your workspace rules already apply to every project. If you name any, Claude checks whether each one already exists in .claude/rules/ or .claude/skills/, records them in the project’s CLAUDE.md and lists any that you still need to create.

In a workspace with a Domains/ folder, Claude lists the domains and asks which one the project belongs to, suggesting one where your answers make it obvious. Use 99 Cross-Domain only when three or more domains share the work equally.

Claude reads every project ID in state.json, archived projects included, and continues the format your workspace already uses.

  • A new workspace with no projects starts at P001.
  • An existing workspace keeps the format its projects already use, so a workspace whose latest project is PRJ-0012 gets PRJ-0013 next.
  • The number is the highest existing number plus one, or the value of nextProjectNumber in state.json if that is higher. IDs are never reused, even after a project is archived.

Claude never changes an existing ID. If your register holds two different ID formats, Claude stops, shows you an example of each and asks which one new projects should use. If the next number needs more digits than the format allows, for example a thousandth project in a three-digit format, Claude stops and tells you.

The project folder is named {ID} {Project Name}, for example P012 Spring Workshop.

Claude creates it at Domains/{Domain}/{ID} {Project Name}/.

Inside the folder, Claude writes these files.

File Contents
CLAUDE.md Project context for Claude, with the ID, category, status, purpose, rules, skills and conventions
AGENTS.md A short pointer that sends other AI tools to CLAUDE.md and the project register
PRD.md A Product Requirements Document built from your answers, using Documentation/Templates/PRD-TEMPLATE.md
Subfolders The subfolders you chose for the category

Claude fills the PRD from your answers. The goal and audience become the problem statement and goals, the deliverables become the must-have requirements, and the timeline and existing material become the constraints. Claude also orders the build phases by dependency. You then choose Approve, Revise or Add more detail later. The last option saves the PRD with the unfinished sections marked [TBD — to be filled in].

The CLAUDE.md and AGENTS.md Files and Templates pages describe these files in more detail.

Claude backs up state.json, adds the project and validates the file. The new entry holds the fields below.

Field Value
id, name, description From your answers
status in-progress
priority medium
created, lastWorked Today’s date
dueDate Your deadline, or empty
lastAction Project created
category, tags From your answers
path The project folder
domain The domain you chose. Only written in the domain layout

Claude also adds one to nextProjectNumber. If validation fails, Claude restores the backup and reports the error.

Situation What Claude does
A folder with the same name already exists Stops and asks whether to rename, merge or cancel
Your answers are too thin to build from Asks for more detail and does not guess
state.json is missing or invalid Warns you, creates the folder and files anyway and tells you the registration was skipped
nextProjectNumber is missing Counts the existing projects, adds one and writes the field for next time
/newproject Spring Workshop
**Project Created**
**ID:** P012
**Location:** Domains/15 Education & Training/P012 Spring Workshop/
Files:
- CLAUDE.md
- PRD.md
Subfolders:
- Notes/
- Sources/
Registered in state.json as P012.