“Build me a personal website” leaves Claude to invent the pages, content, and design. I do not start there. I write the decisions down first, as correcting a plan is cheaper than rebuilding the first version.
Not in your head. Written down.
Write a one-page brief
I would not let Claude create files yet. Start the project, then write one short brief first.
Create _docs/requirements.md for a personal website.
Pages:
- Home: name, role, short introduction, and one main action
- About: background and what I care about
- Projects: three examples with a title and short description
- Contact: email address, without a contact form in the first version
Design:
- Dark background and light text
- Clean and simple
- No rounded cards
- Must work on a phone and desktop
Rules:
- Use HTML and CSS without a framework
- Do not invent personal facts or project results
- Do not create files until we agree on the planYour pages will differ, but the brief still needs two things: what version one must do, and what stays out.
If you want Claude to work from your CV or profile, paste only the parts you are comfortable sending to the service. Remove private contact details and client information first. Verify every generated claim before publishing it.
Ask Claude to interview you
For a small project, I usually write the first brief myself. When several decisions are still open, I ask Claude to interview me instead:
Interview me about this website one question at a time.
Ask about the audience, pages, content, design, constraints, and how I will check it.
When you have enough information, summarize the agreed requirements in the conversation.
Do not create or edit files yet.The useful part is not the document format. The questions expose decisions you have not made.
Review the summary. Correct invented assumptions, remove anything outside the first version, and make each page specific enough to check.
Use references carefully
I use screenshots for specific design choices such as spacing, typography, or layout. “Make it like this” is too vague. Paste the image using the shortcut shown for your terminal, or save it in the project and reference the path.
Tell Claude which parts matter:
Use this screenshot as a reference for spacing, type scale, and the quiet color palette.
Keep the copy, branding, images, and page structure original.
Before keeping the result, list anything that still resembles the reference closely.Claude can still follow a reference too closely. I check the text, branding, images, and layout before keeping the result.
Plan without editing
Enter Plan mode with /plan, or cycle to it with Shift+Tab in the CLI. Other Claude Code interfaces use a mode selector.
Then ask:
Read _docs/requirements.md and inspect the project.
Propose the page structure, files, design approach, and checks.
Do not edit source files.Plan mode is for reading and proposing. It does not edit the project files. I keep Claude there until the file list, page structure, and checks match the brief. If your reply to the plan is getting long, press Ctrl+G to write it in your normal text editor instead of the terminal input.
Once the plan is agreed, approve it or leave Plan mode. Then ask Claude to save the agreed version:
Save the approved plan to _docs/plan.md.
Do not build the pages yet.Claude Code's current permission modes vary by interface. Stay in Manual mode while learning if you want to approve each action. Shift+Tab cycles the common modes in the CLI.
If Claude starts editing before the plan is agreed, press Esc to stop it and inspect what changed. /rewind, or pressing Esc twice in supported interfaces, can restore checkpointed file edits. Checkpoints do not undo every side effect of shell commands, so check the working tree before continuing.
Save the recurring project rules
After the brief and plan are stable, create a concise CLAUDE.md:
# Portfolio website
## Project
- Four pages: Home, About, Projects, Contact
- HTML and CSS without a framework
## Design
- Dark background and light text
- No rounded cards
- Responsive from phone to desktop
## Rules
- Keep shared CSS in css/styles.css
- Do not invent personal facts or project results
- Review each page in the browser before calling it completeI put only the recurring project rules in CLAUDE.md. It gives later sessions the same context, but it is guidance rather than enforcement. Keep it concise and update it when the project changes.
A design plugin is optional
Run /plugin, open Discover, and review the current frontend-design plugin if you want another design direction. Anthropic describes it as guidance for more distinctive frontend work.
The plugin may give you a better first proposal, but I would still keep the brief and check accessibility and the page in a browser. Plugin contents and interfaces change, so use the current installation guide instead of relying on old install counts or key-by-key screenshots.
What you should have
Before building, keep these three things:
my-portfolio/
CLAUDE.md
_docs/
requirements.md
plan.mdThe requirements explain what you want. The plan explains how Claude proposes to build it. CLAUDE.md carries the recurring project rules into the next session.
Review those files once. Then build the home page first.
Sources
- Choose a permission mode, Anthropic. Supports Plan mode, Manual mode, interface-specific selectors, and the CLI
Shift+Tabcycle. - Interactive mode, Anthropic. Supports
Ctrl+GandCtrl+X Ctrl+Efor editing a prompt or response in the default text editor. - Checkpointing, Anthropic. Supports
/rewind, double Escape with empty input, and the limits of file restoration. - Frontend Design Plugin, Anthropic. Supports the description of the plugin as guidance for more distinctive, production-grade frontend work.
- Discover and install prebuilt plugins through marketplaces, Anthropic. Documents the current plugin discovery and installation flow.
Get Personalized Help
Copy this prompt to ChatGPT, Claude, or your favorite AI assistant. Fill in your details and get guidance tailored to your specific situation.
I'm using https://ivanmisic.net/blog/ai-tools/claude-code-plan-mode to plan a small first version before Claude Code creates source files. My context: - Audience and purpose: [WHO THE PROJECT IS FOR AND THE ONE RESULT IT SHOULD ENABLE] - Version-one scope: [PAGES OR FEATURES, REAL CONTENT AVAILABLE, AND WHAT MUST STAY OUT] - Design direction: [COLORS, TYPE, LAYOUT, ACCESSIBILITY, REFERENCES, AND WHAT MUST REMAIN ORIGINAL] - Technical and publishing constraints: [STACK, EXISTING FILES, PHONE AND DESKTOP, HOSTING, AND DEADLINE] - Sensitive information and checks: [PRIVATE DETAILS TO REMOVE, CLAIMS TO VERIFY, AND HOW I WILL TEST IT] Ask for missing decisions before writing anything. Then draft a one-page requirements brief with observable outcomes, exclusions, content needs, design constraints, and completion checks. Mark every assumption that still needs my answer. After I correct the brief, check current Anthropic documentation for Plan mode and interface-specific controls. Link what you verify and state what is uncertain. Propose the file structure, implementation order, risks, and checks without editing source files. Wait for my approval before saving the plan or building. Once approved, separate recurring project facts into a concise CLAUDE.md and keep one-off scope in the requirements and plan. Treat those files as guidance, not enforcement. Do not invent personal facts, results, pages, or features, copy a visual reference's branding or structure too closely, or let an optional plugin replace the brief, accessibility checks, and browser review.