1. A Project is a working set 13 min
Lesson notes
You paste the same block of context into every new chat — the same background about the codebase, the same style constraints, the same definition of "done." Claude gives you a fresh answer, you move on, and the next session starts from zero again. A Project ends that loop.
What a Project actually is
A Project is a working set — three things held together across every conversation inside it: a system prompt that tells Claude who it is and what the rules are, a set of attached files that contain the knowledge it needs, and a shared conversation history that accumulates context over time.
Open a new conversation inside a Project and Claude already knows the standing instructions and the attached material. You do not re-paste. You do not re-establish constraints. You start at the work.
The mechanism is straightforward: every time a conversation opens inside a Project, Claude's context window is pre-filled with the system prompt and the full text of every attached file before your first message arrives. The history of prior conversations is also available for reference. None of this is search or retrieval — it is direct injection into context.
What it is not
A Project is not a folder for organizing past chats. The UI may look like a folder; the function is different. The past conversations are available for reference, but Claude is not "reading through your history" at query time the way a person would. The context it loads is the system prompt and the attached files — not an intelligent summary of everything you've ever said.
A Project is not a saved prompt shortcut. A shortcut fires once and vanishes. A Project's system prompt is active in every conversation, invisibly, before you type.
A Project is not a knowledge base that Claude searches at query time. Every word in your attached files is loaded into the context window at conversation start, whether Claude needs it or not. This is the constraint that matters most when you decide what to attach.
The line between Projects and ad-hoc chats
Ask two questions. Does this task recur — will I do it again next week, or next month? Does it require stable context that doesn't change between sessions?
If both answers are yes: Project. If either answer is no: ad-hoc chat.
Drafting a new blog post on a topic you've never written about: ad-hoc chat. Reviewing blog posts against your editorial guide, every week, for the same publication: Project.
Answering a one-off question about a codebase you're unfamiliar with: ad-hoc chat. Reviewing pull requests against your team's standards, ongoing, for the same repository: Project.
The workflow that benefits from a Project is not just the recurring one — it's the recurring one where the context is stable. A weekly review task where the criteria change every week is still a poor candidate for a Project, because you'd be updating the attached files constantly. The setup cost only pays off when the context holds.
The maintenance cost is real from day one
Every Project has a maintenance cost from the moment you create it. The attached files will go stale. The system prompt was written for the workflow as it existed when you set it up; the workflow will change. The chat history will eventually anchor Claude to assumptions that no longer hold.
This is not a reason to avoid Projects. It is a reason to build them with the minimum viable context — attach only what Claude needs to do the work, not everything you think might be relevant. The leaner the Project, the lower the maintenance cost, and the easier it is to update when the workflow shifts.
If you get stuck
The most common failure: the Project's outputs are not noticeably better than a fresh chat. The cause is almost always a system prompt that describes Claude's role in general terms rather than specifying the output format and quality bar. "You are a helpful assistant for my engineering team" is not a system prompt. "You are a code reviewer. Responses cite the specific line number, name the rule being violated, and suggest the corrected form." is a system prompt. Fix the prompt first before adding more files.
The second most common failure: you attach a large document because it feels comprehensive, and Claude's answers become unfocused — it references sections of the document that aren't relevant to the question. Trim the attached files to the minimum that actually constrains the output. A five-page style guide is better than a fifty-page one if only five pages apply.
Deliverable
Name one workflow in your week where you paste the same context block into every chat. Write one sentence describing the role, one sentence describing the output format, one sentence describing the quality bar. That is the system prompt for your first Project.
Further reading
- "The Bible Reads First" — the system-prompt-as-bible argument: what gets loaded before the first user turn changes everything that follows.
Try these prompts
- I paste the same context block into every Claude chat before starting work. Describe what a Project would look like for this workflow — what goes in the system prompt, what gets attached, and what stays out.
- What is the difference between a Claude Project and a saved chat? Give me two scenarios where one is the right tool and the other is not.
- Name one workflow in your week that recurs and has stable context. Write one sentence for the role, one for the output format, and one for the quality bar. That is your first system prompt draft.