Standardizes new project creation by setting up directory structures, documentation, and configuration files.

Install

mkdir -p .claude/skills/os-new-project && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14753" && unzip -o skill.zip -d .claude/skills/os-new-project && rm skill.zip

Installs to .claude/skills/os-new-project

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Create a new project. Sets up the project folder, creates the projects.md entry, links people and company, and generates the CLAUDE.md. Run this when starting any new project.
175 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Create a new project folder structure
  • Generate a populated CLAUDE.md file
  • Add an entry to projects.md
  • Link existing people and companies to the project
  • Add new contacts with basic information
  • Switch the active session to the new project

How it works

This skill conducts an interview to gather project details, then creates a standardized project folder structure, populates documentation, and links relevant contacts.

Inputs & outputs

You give it
Project name, goal, type, and associated people/company
You get back
A new project folder, CLAUDE.md, projects.md entry, and linked contact records

When to use os-new-project

  • Initialize a new software development project
  • Set up a new portfolio tracking collection
  • Create a standardized CLAUDE.md file for a new repository
  • Register a new project in the global projects.md file

About this skill

New Project Setup

Walks through creating a new project from scratch. Output: a project folder, a populated CLAUDE.md, an entry in projects.md, and linked people/company records.


Step 1 — Project name (duplicate check)

Ask: "What's the project name?"

Before continuing, check projects.md for an existing entry with the same name (case-insensitive).

If a match is found, show:

A project with that name already exists. Please provide a different name.

Ask again. Do not proceed until the name is unique.


Step 2 — Project basics

Ask the following questions one at a time:

  1. "In one line — what's the project? (Goal comes next.)"
  2. "What's the primary goal? What does success look like?"

Step 3 — Project type

Ask:

Project or portfolio? (default: project)

1. Project — a single piece of work with a clear goal (default)
   e.g., building an app, running a product launch, writing a report

2. Portfolio — a managed collection of similar items
   e.g., a set of job opportunities, an ideas bank, a reading list

Type 1, 2, or "default" for project.

Record the answer as project or portfolio. Treat 1, default, or any clear "project" signal as project; treat 2 or "portfolio" as portfolio. This determines the folder structure created in Step 8.

If portfolio: also ask:

  • "What do you call a single item in this collection? (e.g., opportunity, idea, article)" — record as the item name (singular, lowercase)

Step 4 — Personal or professional?

Ask:

Is this a professional or personal project?

1. Professional
2. Personal

Record the answer and add the corresponding tag (personal or professional) to the project.


Step 5 — Company (professional projects only)

Skip this step if the project is personal.

Read the companies/ folder at root. Present as a selectable list:

Is this project run for a business or organisation?
Select one, or add a new one:

○ Acme Corp
○ Globex Inc
○ [any other company files]
○ Add another
○ None / not applicable

If the user selects an existing company, link it.

If Add another: ask for the business name, then create companies/company-name.md with identity fields only (name, type, industry — rest blank).

If None / not applicable: skip.


Step 6 — Add the user (automatic)

No prompt. Always add the user as project lead by default.

Link the user's own identity file at people/[your-slug].md as project lead. If no profile exists yet, run /os-new-person first to create one.

If the user needs to be removed from a project later, they can ask Claude directly.


Step 7 — Existing contacts

Read the people/ folder at root (exclude TEMPLATE.md and README.md).

Present as a numbered list:

Who else is in this project? Type the numbers of anyone to add.

1. Alex Chen — VP Sales, Globex Inc
2. Sam Patel — Head of Customer Support, Globex Inc
3. Maya Rodriguez — Engineering Lead, Globex Inc
4. Marcus Webb — CPO, Globex Inc
5. Priya Sharma — Data Scientist, Globex Inc
6. Jordan Kim — Engineering Lead, Globex Inc

Comma-separated (1, 3, 5), a range (1-3), or "none" to skip.

Accept comma-separated numbers, ranges, or "none" / "skip". Record all selected people.


Step 8 — New contacts

Ask:

Add anyone new — name, title, and company (if not [project company]). Two or three is plenty; you can come back for more.

If yes, for each person collect:

  • Name
  • Title
  • Company — if not provided, default to the project company (if one was selected in Step 5)

Important: Collect only these three fields. Do not ask follow-up questions about the person — no "what's their relationship to you", no "manager/peer/direct report", no seniority, no history. Relationship and role detail get captured later via /ctx-doc, /ctx-transcript, or by running /os-new-person directly.

Create a new file at people/firstname-lastname.md using TEMPLATE.md. Populate identity fields only. Leave summary and interaction history blank. Set project footprint to this project.

Do not use the word "stub". Tell the user:

Added [Name] to your contacts. You can fill in more detail after your first meeting.

Step 9 — Create the project

Do the following automatically, no further questions needed.

For both project and portfolio types:

a) Create the project folder structure

Folder name: lowercase, hyphenated (e.g. acme-corp-launch).

Create the directory tree (one mkdir -p with explicit paths — no brace expansion, so the command isn't flagged by the permission classifier):

mkdir -p \
  projects/[project-name]/context \
  projects/[project-name]/intelligence/chats \
  projects/[project-name]/intelligence/docs/raw \
  projects/[project-name]/intelligence/meetings/inbox \
  projects/[project-name]/intelligence/notes \
  projects/[project-name]/memory \
  projects/[project-name]/outputs \
  projects/[project-name]/people

Add .gitkeep files to the empty folders so they survive cloning and git operations:

  • intelligence/chats/.gitkeep
  • intelligence/docs/raw/.gitkeep
  • intelligence/meetings/inbox/.gitkeep
  • intelligence/notes/.gitkeep
  • memory/.gitkeep
  • people/.gitkeep

Switch the active session to the new project. The scaffold now exists, so it's a valid switch target. Write the project name (matching the ### [Project Name] heading written to projects.md in Step 9c) to [workspace-root]/.sessions/<session-id> (your Claude Code session ID is injected into your context by the SessionStart hook):

echo "[Project Name]" > .sessions/<session-id>

If you don't have a session ID in your context, fall back to writing .current-session:

echo "[Project Name]" > .current-session

This mirrors /os-start Step 2 and ensures any subsequent /os-save, /ctx-doc, or other skill writes to the correct project — without it, the session silently stays on whatever project was previously active.

Tell the user: Switched active session to [Project Name].

Write projects/[project-name]/context/README.md:

# Context

Project knowledge. Flat structure — no subfolders.

Name files semantically so their content is obvious from the filename (e.g. `q2-okrs.md`, `competitor-analysis.md`).

**Rule:** Stable, reference-only knowledge lives here. Active drafts live in `outputs/`.

Write projects/[project-name]/outputs/README.md:

# Outputs

Active work in progress. Flat structure — no subfolders.

**Rule:** If it's being edited, it lives here. When stable, move to `context/`.

Write projects/[project-name]/context/current-state.md using this template (substitute [Project Name] from Step 1, [One-liner] and [Goal] from the projects.md entry written in Step 9c, and [today] as YYYY-MM-DD). Mirrors the /os-save create-from-scratch template so future os-save runs find the expected structure.

---
project: [Project Name]
last-updated: [today]
updated-by: os-new-project
---

# Current State

The current snapshot of the project. Living synthesis.

_Updated by os-save, ctx-synthesise, and ctx-doc. Primary context loaded at session start._

---

## [Project Name]

[One-liner]

**Goal:** [Goal]

_Synced from `projects.md`. Edit there._

---

## Project Position
_Last updated: — via —_

**Where we stand:** —
**Primary goal:** —
**Key constraint or risk:** —

---

## What We Know From Documents
_Last updated: — via ctx-doc_

—

**Sources:** —

---

## Stakeholder Dynamics
_Last updated: — via ctx-synthesise_

**Current read:** —
**Key positions:** —
**Tensions:** —
**Who to watch:** —

---

## Standing Decisions
_Last updated: — via os-save_

| Decision | What was decided | Why it matters |
|----------|-----------------|----------------|
| — | — | — |

---

## In Flight
_Last updated: — via os-save_

- —

---

## Open Questions / Blockers
_Last updated: — via os-save_

- —

---

## Recent Changes
_Last updated: — via os-save_

- —

b) Write CLAUDE.md

Write projects/[project-name]/CLAUDE.md using this template, substituting fields from Steps 1–8:

# CLAUDE — [Project Name]

**Inherits from:** Root `/CLAUDE.md` (PM Operating System)

---

## Project

- **Name:** [Project Name]
- **Status:** Active
- **Started:** [today YYYY-MM-DD]

See `context/current-state.md` for description, goal, and current state (synced from `projects.md`).

---

## Company

[Company Name] — [link to company file, e.g. ../../companies/company-name.md]
(Or: `— (personal project)` if no company linked)

---

## Key People

See `people/` for project-level stakeholder profiles (auto-maintained by `/ctx-transcript` and `/ctx-doc`).
Current dynamics: `context/current-state.md` → Stakeholder Dynamics (auto-maintained by `/ctx-synthesise`).

---

## Current Focus

— add after first session

---

## Key Paths

- `context/` — project knowledge (flat, named semantically); `current-state.md` is the live read
- `outputs/` — work in progress
- `intelligence/` — meetings, docs, notes, chats (bulk import targets)
- `memory/` — session saves (`YYYYMMDD-HHMM.md`)

For portfolios, append a ## Portfolio block to CLAUDE.md:

---

## Portfolio

- **Item name:** [item name from Step 3] (singular)
- **Items folder:** `[item-name]s/` (pluralised)
- **Add skill:** `/os-new-item`
- **Tracker:** `TRACKER.md`

c) Add to projects.md Append a new entry under ## Active in projects.md:

For a standalone project:

### [Project Name]
- **Type:** project
- **Status:** Active
- **One-liner:** [from Step 2]
- **Goal:** [from Step 2]
- **Folders:** `projects/[project-name]/`
- **Company:** [link to company file, or —]
- **Key people:** [linked list]
- **Started:** [today]
- **Last session:** [today]

For a portfolio:

### [Project Name]
- **Type:** portfolio
- **Status:** Active
- **One-liner:** [from Step 2]
- **Goal:** [from Step 2]
- **Folders:** `projects/[project-name]/`
- **Com

---

*Content truncated.*

When not to use it

  • When the user wants to modify an existing project
  • When the task is not about initializing a new project
  • When the user does not want a standardized project setup

Limitations

  • Project name must be unique
  • Only basic information is collected for new contacts initially
  • The skill creates a specific folder structure

How it compares

This skill automates the entire project setup process with an interactive interview and standardized outputs, unlike manually creating folders and documents.

Compared to similar skills

os-new-project side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
os-new-project (this skill)03moReviewBeginner
trello413moReviewBeginner
ultrathink282moNo flagsAdvanced
autonomous-agents106moNo flagsAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

trello

openclaw

Manage Trello boards, lists, and cards via the Trello REST API.

41205

ultrathink

dashed

Invoke deep sequential thinking for complex problem-solving. Use when the user says 'use ultrathink', 'ultrathink', or when tackling problems that require careful step-by-step reasoning, planning, hypothesis generation, or multi-step analysis.

28115

autonomous-agents

davila7

Autonomous agents are AI systems that can independently decompose goals, plan actions, execute tools, and self-correct without constant human guidance. The challenge isn't making them capable - it's making them reliable. Every extra decision multiplies failure probability. This skill covers agent loops (ReAct, Plan-Execute), goal decomposition, reflection patterns, and production reliability. Key insight: compounding error rates kill autonomous agents. A 95% success rate per step drops to 60% b

1041

executing-plans

obra

Use when you have a written implementation plan to execute in a separate session with review checkpoints

643

github-project-management

ruvnet

Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning

427

chief-architect

ananddtyagi

PERSONAL APP ARCHITECT - Strategic development orchestrator for personal productivity applications. Analyzes project context, makes architectural decisions for single-developer projects, delegates to specialized skills, and ensures alignment between user experience goals and technical implementation. Optimized for personal apps targeting 10-100 users.

617

Search skills

Search the agent skills registry