System Prompt Builder

Compose a reusable system / append prompt for Claude Code.

  • $29 Free
  • 45 sec
  • No signup
1

Set role, rules, and guardrails

2

Preview the composed system prompt

3

Copy it into your flag or CLAUDE.md

You get: A reusable system prompt for --append-system-prompt or CLAUDE.md.

Compose it

Guardrails

System prompt

You are a senior TypeScript engineer.
Stack / context: React + Vite + TypeScript, Tailwind for styling.
Act as a senior engineer. Lead with your strongest recommendation and say why; do not hedge.
Rules:
- For any non-trivial task, propose a short plan and wait for approval before writing code.
- Never invent facts, file paths, or APIs. If you do not know, say so.
- Change only what the task requires. Do not refactor or touch unrelated code without being asked.
- When editing code, reply with the diff or the changed block, not the whole file.
Output format: Reply with the diff or changed block, plus a one-line summary of what changed.

As a CLI flag

claude --append-system-prompt "You are a senior TypeScript engineer.
Stack / context: React + Vite + TypeScript, Tailwind for styling.
Act as a senior engineer. Lead with your strongest recommendation and say why; do not hedge.
Rules:
- For any non-trivial task, propose a short plan and wait for approval before writing code.
- Never invent facts, file paths, or APIs. If you do not know, say so.
- Change only what the task requires. Do not refactor or touch unrelated code without being asked.
- When editing code, reply with the diff or the changed block, not the whole file.
Output format: Reply with the diff or changed block, plus a one-line summary of what changed."

Keep it tight - every line here is loaded into every session, so it is a forever cost. Prefer a short, sharp set of rules over a long wish list.

One instruction block, every session on-brief

A system prompt is the standing set of instructions Claude Code carries into every turn - its role, its rules, the tone you want, the things it must never do. Get it right once and you stop re-explaining yourself every session. This builder composes that block from a few choices and emits it two ways: as a string for the --append-system-prompt flag, and as a CLAUDE.md-style instruction block you can drop into your project so it loads automatically.

The difference between a good system prompt and a bad one is not length - it is precision. A short block of sharp, enforceable rules outperforms a long paragraph of vague aspiration. The builder nudges you toward the former by giving you concrete, battle-tested guardrails as checkboxes rather than a blank page.

--append-system-prompt vs CLAUDE.md

  • --append-system-prompt is a per-invocation flag. Use it for a one-off session with special rules, or in a script where you want the behavior explicit and versioned in the command.
  • CLAUDE.md is a file in your project that Claude Code loads automatically for every session in that project. Use it for the standing rules everyone on the project should share.
  • They are complementary. Put durable project rules in CLAUDE.md; layer a flag on top for a session that needs something extra.

Every line is a forever cost

A CLAUDE.md is loaded into the context of every single session, so every line you add is paid for on every prompt, forever. Keep it tight - ideally under 200 lines. A bloated instruction file is both a token cost and a signal-to-noise problem that makes the important rules easier to ignore.

The guardrails that actually change behavior

  1. Plan before large changes - the single highest-leverage rule. It turns expensive wrong directions into cheap course corrections.
  2. Ask instead of assuming - one clarifying question beats a confident wrong build every time.
  3. No fabrication - tell it to say 'I don't know' rather than inventing a file path or an API that does not exist.
  4. Stay in scope - the best defense against the over-eager refactor that makes people distrust AI coding.
  5. Verify before claiming done - forces the model to check its work rather than assert success.
  6. Reply with diffs - saves tokens and matches how you actually review changes.

Set the role, but do not over-roleplay

A role line like 'you are a senior TypeScript engineer working in this project' is useful - it primes the model toward the standards and instincts of that role. What is not useful is elaborate persona theater. The model does not need a backstory; it needs a clear job and clear constraints. Keep the role to one sharp line and spend your budget on the rules and the context that actually shape output.

Give it the stack, so it stops guessing

One of the cheapest, highest-value lines you can add is your stack and conventions - 'React + Vite + TypeScript, Tailwind for styling, no default exports'. This stops the model from proposing solutions in the wrong framework or fighting your conventions. It is context that pays for itself immediately because it prevents a whole category of off-target answers before they happen.

Iterate on it like code

Your first system prompt will not be perfect, and that is fine. Treat it as a living artifact: when Claude does something you did not want, do not just correct it in the moment - add a one-line rule so it never happens again. Over a few weeks your CLAUDE.md becomes a distilled record of your standards, and new sessions inherit all of it for free. The best instruction blocks are grown, not written in one sitting.

Frequently asked questions

  • What is the difference between a system prompt and CLAUDE.md?

    A system prompt via --append-system-prompt applies to a single invocation and is explicit in the command. CLAUDE.md is a project file loaded automatically every session. Use CLAUDE.md for durable shared rules and the flag for one-off overrides.

  • How long should my system prompt be?

    As short as possible while still covering your real rules - ideally a CLAUDE.md stays under 200 lines. Every line is loaded into every session, so it is a permanent token cost. Sharp and short beats long and vague.

  • Does the --append-system-prompt flag replace CLAUDE.md?

    No, it adds to the instructions rather than replacing them. Think of CLAUDE.md as the base layer and the flag as a session-specific layer on top.

  • Which guardrails matter most?

    Plan-before-large-changes, ask-instead-of-assuming, no-fabrication, and stay-in-scope change behavior the most. They prevent the expensive failure modes - wrong directions, invented facts, and unwanted sprawl.

  • Should I write an elaborate persona for Claude?

    No. A single clear role line plus concrete rules outperforms persona theater. The model needs a clear job and constraints, not a backstory - spend your budget on rules and context instead.

  • Does this builder send my configuration anywhere?

    No. It runs entirely in your browser. Your role, rules, and notes are never uploaded - the output is generated locally and only copied to your clipboard when you click copy.

Liked this tool? The club is the next step.

Join Claude Code Club for $9/month. 650+ lessons, weekly updates, and the workflows behind every tool on this site.

  • No experience needed
  • Cancel anytime
  • Updated weekly