/project-dossier — Project Facts File
You maintain PROJECT.md: a single file at the project root that holds the durable facts of an architecture project, so no skill re-derives what's already known and the whole team sees the same state.
The dossier is the facts layer. The reasoning layer — why a choice was made — lives in decisions/ via /decision. Don't mix them: PROJECT.md says what is; a decision record says why it is.
Usage
/project-dossier → show current dossier status (or offer to init)
/project-dossier init → create PROJECT.md, interview for the basics
/project-dossier update → reconcile the dossier with new facts from the conversation
Hard rules
- Every entry carries a source and a date.
FAR 6.02 (PLUTO, 2026-06-10) — never an orphan number. If the user states a fact verbally, the source is client, YYYY-MM-DD.
- Update in place, never duplicate. If a fact changes (re-run analysis, corrected input), replace the value and refresh the source/date. The dossier holds current state, not history — history is git's job.
- Facts only. "Zoning district: R7A" belongs here. "We chose the UAP bonus over the contextual envelope" is a decision — propose
/decision instead.
- Project facts only. User preferences, workflow habits, and firm conventions do NOT belong in the dossier — Claude Code's own memory (CLAUDE.md, auto memory) handles those.
On init
- If
PROJECT.md already exists, say so and switch to update mode.
- Ask for whatever basics aren't already evident from the conversation (one question, grouped): project name, address, client, jurisdiction.
- Write
PROJECT.md from the template below, filling what you know, leaving the rest blank.
- If the working directory is a git repo, suggest committing it: the dossier is meant to be shared with the team.
On update
- Read
PROJECT.md.
- Collect new facts from the current conversation (analysis results, corrected values, user statements).
- Apply rule 2 — replace stale values in place, append genuinely new ones to the right section, each with source + date.
- Show a short diff-style summary of what changed.
Template
# Project Dossier — {project name}
> Maintained by Architecture Studio skills and the project team.
> Every entry carries a source and a date. Facts only — rationale lives in the decisions/ directory.
## Identity
| Field | Value |
|-------|-------|
| Project | |
| Address / BBL | |
| Client | |
| Jurisdiction | |
## Site
<!-- site-planner skills append here: climate, flood, transit, demographics, context -->
## Zoning
<!-- zoning skills append here: district, FAR, envelope results, overlays, landmark status -->
## Program
<!-- programming skills append here: headcount, space program, occupant loads -->
## Code
| Item | Value | Source | Date |
|------|-------|--------|------|
| Building code edition | | | |
## Decisions
<!-- maintained by /decision — do not edit by hand -->
| # | Decision | Status | Date |
|---|----------|--------|------|
How other skills use the dossier
Analysis skills in this marketplace check for PROJECT.md before fetching (don't re-derive what's on file) and append their key findings after completing. That behavior lives in each skill — your job here is only init, update, and keeping the file well-formed.
Edge cases
| Situation |
Handling |
PROJECT.md exists but malformed / hand-edited |
Preserve all content; reorganize into template sections; say what moved |
| Facts conflict (dossier says X, user says Y) |
Ask once; the answer wins; update with new source + date |
No project context at all, user just ran /project-dossier |
Show usage and ask if they want init |
| Multiple projects in one directory |
One dossier per directory — suggest separate working directories |
1---2name: project-dossier3description: Create or update the project dossier — a PROJECT.md file in the working directory holding persistent project facts (identity, site, zoning, program, code edition) plus an index of decisions. Use when starting a project, when the user says "set up the project" or "remember this for the project", or when an analysis skill needs somewhere to record findings. Facts only — to record a decision with its rationale, use /decision.4---5
6# /project-dossier — Project Facts File
7
8You maintain `PROJECT.md`: a single file at the project root that holds the durable facts of an architecture project, so no skill re-derives what's already known and the whole team sees the same state.
9
10The dossier is the **facts layer**. The **reasoning layer** — why a choice was made — lives in `decisions/` via `/decision`. Don't mix them: PROJECT.md says *what is*; a decision record says *why it is*.
11
12## Usage
13
14```
15/project-dossier → show current dossier status (or offer to init)
16/project-dossier init → create PROJECT.md, interview for the basics
17/project-dossier update → reconcile the dossier with new facts from the conversation
18```
19
20## Hard rules
21
221. **Every entry carries a source and a date.** `FAR 6.02 (PLUTO, 2026-06-10)` — never an orphan number. If the user states a fact verbally, the source is `client, YYYY-MM-DD`.
232. **Update in place, never duplicate.** If a fact changes (re-run analysis, corrected input), replace the value and refresh the source/date. The dossier holds current state, not history — history is git's job.
243. **Facts only.** "Zoning district: R7A" belongs here. "We chose the UAP bonus over the contextual envelope" is a decision — propose `/decision` instead.
254. **Project facts only.** User preferences, workflow habits, and firm conventions do NOT belong in the dossier — Claude Code's own memory (CLAUDE.md, auto memory) handles those.
26
27## On `init`
28
291. If `PROJECT.md` already exists, say so and switch to `update` mode.
302. Ask for whatever basics aren't already evident from the conversation (one question, grouped): project name, address, client, jurisdiction.
313. Write `PROJECT.md` from the template below, filling what you know, leaving the rest blank.
324. If the working directory is a git repo, suggest committing it: the dossier is meant to be shared with the team.
33
34## On `update`
35
361. Read `PROJECT.md`.
372. Collect new facts from the current conversation (analysis results, corrected values, user statements).
383. Apply rule 2 — replace stale values in place, append genuinely new ones to the right section, each with source + date.
394. Show a short diff-style summary of what changed.
40
41## Template
42
43```markdown
44# Project Dossier — {project name}
45
46> Maintained by Architecture Studio skills and the project team.
47> Every entry carries a source and a date. Facts only — rationale lives in the decisions/ directory.
48
49## Identity
50
51| Field | Value |
52|-------|-------|
53| Project | |
54| Address / BBL | |
55| Client | |
56| Jurisdiction | |
57
58## Site
59
60<!-- site-planner skills append here: climate, flood, transit, demographics, context -->
61
62## Zoning
63
64<!-- zoning skills append here: district, FAR, envelope results, overlays, landmark status -->
65
66## Program
67
68<!-- programming skills append here: headcount, space program, occupant loads -->
69
70## Code
71
72| Item | Value | Source | Date |
73|------|-------|--------|------|
74| Building code edition | | | |
75
76## Decisions
77
78<!-- maintained by /decision — do not edit by hand -->
79
80| # | Decision | Status | Date |
81|---|----------|--------|------|
82```
83
84## How other skills use the dossier
85
86Analysis skills in this marketplace check for `PROJECT.md` before fetching (don't re-derive what's on file) and append their key findings after completing. That behavior lives in each skill — your job here is only init, update, and keeping the file well-formed.
87
88## Edge cases
89
90| Situation | Handling |
91|-----------|----------|
92| `PROJECT.md` exists but malformed / hand-edited | Preserve all content; reorganize into template sections; say what moved |
93| Facts conflict (dossier says X, user says Y) | Ask once; the answer wins; update with new source + date |
94| No project context at all, user just ran `/project-dossier` | Show usage and ask if they want `init` |
95| Multiple projects in one directory | One dossier per directory — suggest separate working directories |