> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompting

> Give Replit clear direction in a Conversation and refine the result with useful follow-up requests.

export const PromptingCover = () => <div className="chat-mkt" role="img" aria-label="Prompt box with context cues and a generated result, representing prompting in Replit" style={{
  margin: "28px 0 42px",
  borderTop: 0,
  paddingTop: 0
}}>
    <div className="chat-use-case-visual" style={{
  aspectRatio: "auto",
  minHeight: "clamp(220px, 34vw, 320px)",
  overflow: "hidden",
  background: "radial-gradient(circle at 50% -18%, rgba(255,255,255,.82), transparent 42%), radial-gradient(circle at 4% 96%, rgba(255,184,146,.48), transparent 38%), linear-gradient(140deg, #ff764d, #ff3c00 60%, #c92d00)"
}}>
      <div aria-hidden="true" style={{
  position: "absolute",
  inset: 0,
  background: "linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 48%, rgba(111,24,0,.2))"
}} />
      <div aria-hidden="true" style={{
  position: "absolute",
  width: "min(76%, 560px)",
  height: "64%",
  left: "50%",
  top: "18%",
  transform: "translateX(-50%) rotate(-4deg)",
  opacity: 0.42,
  border: "1px solid rgba(255,255,255,.34)",
  borderRadius: 26
}} />
      <div aria-hidden="true" style={{
  position: "relative",
  zIndex: 1,
  display: "flex",
  width: "100%",
  minHeight: "inherit",
  alignItems: "center",
  justifyContent: "center",
  padding: "clamp(14px, 3vw, 28px)"
}}>
        <div style={{
  width: "clamp(260px, 66%, 680px)",
  maxWidth: "calc(100% - 20px)",
  boxSizing: "border-box"
}}>
          <div style={{
  display: "flex",
  justifyContent: "center",
  gap: 10,
  marginBottom: 12
}}>
            <span style={{
  width: 18,
  height: 18,
  border: "1px solid rgba(255,255,255,.54)",
  borderRadius: 6,
  background: "rgba(255,255,255,.18)"
}} />
            <span style={{
  width: 18,
  height: 18,
  border: "1px solid rgba(255,255,255,.54)",
  borderRadius: 999,
  background: "rgba(255,255,255,.14)"
}} />
            <span style={{
  width: 18,
  height: 18,
  border: "1px solid rgba(255,255,255,.54)",
  borderRadius: 5,
  background: "rgba(255,255,255,.12)"
}} />
          </div>
          <div style={{
  padding: "clamp(18px, 4vw, 30px)",
  border: "1px solid rgba(255,255,255,.58)",
  borderRadius: 24,
  background: "linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.1))",
  boxShadow: "0 18px 36px rgba(55,27,18,.2)",
  backdropFilter: "blur(5px)"
}}>
            <div style={{
  display: "grid",
  gap: 9
}}>
              <span style={{
  width: "55%",
  height: 9,
  borderRadius: 999,
  background: "rgba(255,255,255,.84)"
}} />
              <span style={{
  width: "88%",
  height: 9,
  borderRadius: 999,
  background: "rgba(255,255,255,.42)"
}} />
            </div>
            <div style={{
  display: "flex",
  alignItems: "center",
  justifyContent: "space-between",
  gap: 12,
  marginTop: "clamp(22px, 4vw, 32px)",
  padding: "13px 14px",
  border: "1px solid rgba(255,255,255,.64)",
  borderRadius: 16,
  background: "rgba(255,255,255,.18)"
}}>
              <span style={{
  width: "68%",
  height: 8,
  borderRadius: 999,
  background: "rgba(255,255,255,.78)"
}} />
              <span style={{
  display: "grid",
  width: 27,
  height: 27,
  placeItems: "center",
  flex: "0 0 auto",
  borderRadius: 9,
  background: "rgba(255,255,255,.9)",
  color: "#4b5563",
  fontSize: 16,
  fontWeight: 700
}}>
                ↑
              </span>
            </div>
          </div>
          <div style={{
  display: "flex",
  alignItems: "center",
  gap: 10,
  width: "74%",
  margin: "14px auto 0",
  padding: "10px 12px",
  border: "1px solid rgba(255,255,255,.46)",
  borderRadius: 14,
  background: "rgba(255,255,255,.14)"
}}>
            <span style={{
  display: "grid",
  width: 20,
  height: 20,
  placeItems: "center",
  flex: "0 0 auto",
  borderRadius: 999,
  background: "rgba(255,255,255,.86)",
  color: "#4b5563",
  fontSize: 13,
  fontWeight: 700
}}>
              ✓
            </span>
            <span style={{
  width: "68%",
  height: 7,
  borderRadius: 999,
  background: "rgba(255,255,255,.68)"
}} />
          </div>
        </div>
      </div>
    </div>
  </div>;

export const AiPrompt = ({children}) => {
  return <CodeBlock className="relative block max-w-full overflow-x-hidden font-sans !whitespace-pre-wrap !break-words" style={{
    overflowWrap: "anywhere",
    wordBreak: "break-word"
  }}>
      <div className="pr-7" style={{
    whiteSpace: "pre-wrap",
    overflowWrap: "anywhere",
    wordBreak: "break-word"
  }}>
        {children}
      </div>
    </CodeBlock>;
};

<PromptingCover />

Prompting means telling Replit the result you need in plain language. A short prompt is often enough to begin.

Use prompts to ask questions, research topics, plan work, schedule Routines, write documents, or create apps, slides, and designs.

Here are three simple steps to prompt effectively:

1. Start simple.
2. Share useful context.
3. Ask follow-up questions and refine the conversation.

Let's look at each one.

## Start simple

A short request can establish the direction:

<AiPrompt>
  What should a small team include in a weekly project update?
</AiPrompt>

Add context, boundaries, and an intended use when the task needs them:

<AiPrompt>
  Research how small product teams run weekly planning. Use current web sources
  and the attached team notes. Compare three approaches, keep the summary under
  500 words, and end with a recommendation I can share at Monday's planning
  meeting.
</AiPrompt>

The richer prompt is not automatically better. The extra details are useful because they change the result.

## Give Replit useful direction

When a task needs more direction, focus on what matters. Include only the details Replit needs:

* **State the outcome.** Ask for an answer, analysis, plan, Routine, or something you want to create.
* **Add useful context.** Point Replit to relevant files, [integrations](/features/integrations/overview), web sources, examples, feedback, images, or screenshots.
* **State important boundaries.** Say what Replit should preserve, prioritize, or leave out. Prefer direct instructions that describe what you want.
* **Explain how you will use the result.** Name the audience, decision, format, or next action when it affects the work.

These are options, not a required formula. Start with the details you know, then add more when they help.

## Refine in the conversation

Use follow-up requests to add context, respond to what Replit produced, or move the work toward an outcome:

* “Show the evidence behind the second finding.”
* “Use the error message I added and revise the likely cause.”
* “Keep the analysis, but turn it into five slides for leadership.”
* “Create a simple tracker from the recommended next steps.”
* “Explore three design directions before I choose one to build.”
* “Run this review every Monday as a Routine.”

Working incrementally helps you review each result before deciding what Replit should do next.

For more guidance, explore the [prompt box](/home/prompt-box), learn about [context management](/learn/foundations/context-management), or [see detailed prompting examples](/learn/effective-prompting).

## Next steps

Continue from your prompt with one of these paths:

<section className="chat-mkt chat-workflow-grid has-visuals catalog-three-up">
  <a className="chat-example has-visual" href="/schedule-a-routine">
    <div className="chat-use-case-visual palette-stone">
      <div className="chat-use-case-window">
        <i />

        <i />

        <i />

        <b />

        <b />

        <b />
      </div>

      <div className="chat-use-case-icon">
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
          <rect width="8" height="8" x="3" y="3" rx="2" />

          <path d="M7 11v4a2 2 0 0 0 2 2h4" />

          <rect width="8" height="8" x="13" y="13" rx="2" />
        </svg>
      </div>
    </div>

    <span>
      <svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
        <rect width="8" height="8" x="3" y="3" rx="2" />

        <path d="M7 11v4a2 2 0 0 0 2 2h4" />

        <rect width="8" height="8" x="13" y="13" rx="2" />
      </svg>
    </span>

    <div className="chat-card-title">Schedule a routine</div>
    <p>Run related work on a recurring schedule.</p>
    <div className="chat-card-link">Explore →</div>
  </a>

  <a className="chat-example has-visual" href="/build-an-app">
    <div className="chat-use-case-visual palette-ink">
      <div className="chat-use-case-window">
        <i />

        <i />

        <i />

        <b />

        <b />

        <b />
      </div>

      <div className="chat-use-case-icon">
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
          <path d="m18 16 4-4-4-4" />

          <path d="m6 8-4 4 4 4" />

          <path d="m14.5 4-5 16" />
        </svg>
      </div>
    </div>

    <span>
      <svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
        <path d="m18 16 4-4-4-4" />

        <path d="m6 8-4 4 4 4" />

        <path d="m14.5 4-5 16" />
      </svg>
    </span>

    <div className="chat-card-title">Build an app</div>
    <p>Turn the result into working software.</p>
    <div className="chat-card-link">Explore →</div>
  </a>

  <a className="chat-example has-visual" href="/home/integrations">
    <div className="chat-use-case-visual palette-orange">
      <div className="chat-use-case-window">
        <i />

        <i />

        <i />

        <b />

        <b />

        <b />
      </div>

      <div className="chat-use-case-icon">
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
          <rect width="20" height="14" x="2" y="7" rx="2" ry="2" />

          <path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16" />
        </svg>
      </div>
    </div>

    <span>
      <svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
        <rect width="20" height="14" x="2" y="7" rx="2" ry="2" />

        <path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16" />
      </svg>
    </span>

    <div className="chat-card-title">Integrate to your workflows</div>
    <p>Bring relevant tools and information into Replit.</p>
    <div className="chat-card-link">Explore →</div>
  </a>
</section>

Once the request is clear, learn how to [add context](/chat/add-context) so Replit has the relevant information and tools for the task.
