> ## 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.

# Memories, Custom Instructions, and Skills

> Understand when to use Memories, Custom Instructions, or Skills to help Replit work with the right context and guidance.

export const SkillsCardVisual = () => <CardScene>
    <Panel style={{
  width: 120,
  height: 86,
  padding: 12
}}>
      <div style={{
  display: "grid",
  gridTemplateColumns: "1fr 1fr",
  gap: 7
}}>
        {Array.from({
  length: 4
}, (_, index) => <i key={index} style={{
  height: 24,
  border: "1px solid rgba(255,255,255,.4)",
  borderRadius: 6,
  background: index === 0 ? "rgba(255,255,255,.62)" : "rgba(255,255,255,.18)"
}} />)}
      </div>
    </Panel>
  </CardScene>;

export const MemoriesCardVisual = () => <CardScene>
    <Panel style={{
  width: 116,
  height: 88,
  padding: 13
}}>
      <div style={{
  display: "flex",
  alignItems: "center",
  gap: 9
}}>
        <i style={{
  width: 25,
  height: 25,
  borderRadius: 9,
  background: "rgba(255,255,255,.56)"
}} />
        <i style={{
  width: "52%",
  height: 6,
  borderRadius: 99,
  background: "rgba(255,255,255,.72)"
}} />
      </div>
      {["88%", "62%", "76%"].map(width => <i key={width} style={{
  display: "block",
  width,
  height: 5,
  marginTop: 9,
  borderRadius: 99,
  background: "rgba(255,255,255,.44)"
}} />)}
    </Panel>
  </CardScene>;

export const CustomInstructionsCardVisual = () => <CardScene>
    <Panel style={{
  width: 116,
  height: 88,
  padding: 13
}}>
      <div style={{
  display: "flex",
  justifyContent: "space-between",
  alignItems: "center"
}}>
        <i style={{
  width: 34,
  height: 6,
  borderRadius: 99,
  background: "rgba(255,255,255,.78)"
}} />
        <i style={{
  width: 26,
  height: 15,
  border: "1px solid rgba(255,255,255,.58)",
  borderRadius: 99,
  background: "rgba(255,255,255,.15)"
}} />
      </div>
      {["100%", "74%", "84%"].map(width => <i key={width} style={{
  display: "block",
  width,
  height: 5,
  marginTop: 11,
  borderRadius: 99,
  background: "rgba(255,255,255,.44)"
}} />)}
    </Panel>
  </CardScene>;

export const GuidanceComparisonCover = () => <FrostedCover label="Three connected building blocks representing Memories, Custom Instructions, and Skills">
    <div style={{
  display: "flex",
  alignItems: "center",
  justifyContent: "center",
  gap: "clamp(7px, 2vw, 20px)",
  width: "min(86%, 650px)"
}}>
      {[{
  shape: 999,
  height: "clamp(104px, 18vw, 148px)",
  strong: 0
}, {
  shape: 17,
  height: "clamp(126px, 21vw, 176px)",
  strong: 1
}, {
  shape: 10,
  height: "clamp(104px, 18vw, 148px)",
  strong: 2
}].map((block, index) => <div key={index} style={{
  position: "relative",
  display: "grid",
  flex: "1 1 0",
  minWidth: 0,
  height: block.height,
  alignContent: "center",
  gap: "clamp(8px, 1.6vw, 13px)",
  padding: "clamp(10px, 2vw, 17px)",
  border: "1px solid rgba(255,255,255,.6)",
  borderRadius: block.shape,
  background: index === 1 ? "linear-gradient(145deg, rgba(255,255,255,.45), rgba(255,255,255,.14))" : "linear-gradient(145deg, rgba(255,255,255,.3), rgba(255,255,255,.1))",
  boxShadow: "0 16px 32px rgba(62,20,6,.18)",
  backdropFilter: "blur(7px)",
  boxSizing: "border-box"
}}>
          <span style={{
  width: "62%",
  height: index === 1 ? 9 : 7,
  justifySelf: "center",
  borderRadius: 999,
  background: block.strong === 1 ? "rgba(255,255,255,.82)" : "rgba(255,255,255,.58)"
}} />
          <span style={{
  width: "78%",
  height: 5,
  justifySelf: "center",
  borderRadius: 999,
  background: "rgba(255,255,255,.32)"
}} />
          <span style={{
  width: "48%",
  height: 5,
  justifySelf: "center",
  borderRadius: 999,
  background: "rgba(255,255,255,.22)"
}} />
        </div>)}
    </div>
  </FrostedCover>;

<GuidanceComparisonCover />

Memories, Custom Instructions, and Skills each help Replit work with better context. Choose the one that matches whether the information is a lasting rule, a repeatable procedure, or useful context from past work.

|                         | Who maintains it            | When Replit uses it                | Best for                                                   |
| ----------------------- | --------------------------- | ---------------------------------- | ---------------------------------------------------------- |
| **Custom Instructions** | You or your team            | Always, across sessions            | Stable preferences and rules you want applied consistently |
| **Skills**              | You or your team            | When relevant to a particular task | Repeatable procedures, workflows, and supporting material  |
| **Memories**            | Replit, with your oversight | When relevant context is useful    | Avoiding repetition of useful preferences from past work   |

## Choose the right tool

* Use **Custom Instructions** for a rule that should stay true across your Workspace, such as an approved library or a data-handling requirement. You write them, and Replit does not modify them.
* Use a **Skill** for a reusable approach to a specific kind of work, such as preparing a release or reviewing a design. Stable procedural knowledge belongs in Skills.
* Use **Memories** when Replit can retain useful context from prior work, so you do not need to repeat relevant preferences. Replit can write Memories while you work; they are contextual evidence, not executable instructions.

Your explicit request and Custom Instructions take precedence over Memories. Manage Memories in **Settings → Customization → Memory**. They do not retain personal or sensitive information, and they are private by default. Sharing with collaborators is optional and off by default.

## Explore each option

<section className="chat-mkt chat-workflow-grid has-visuals">
  <a className="chat-example has-visual" href="/chat/memories">
    <MemoriesCardVisual />

    <span>
      <Icon icon="brain" size={19} />
    </span>

    <div className="chat-card-title">Memories</div>
    <p>Review what Replit can retain and how to manage it.</p>
    <div className="chat-card-link">Explore Memories →</div>
  </a>

  <a className="chat-example has-visual" href="/chat/custom-instructions">
    <CustomInstructionsCardVisual />

    <span>
      <Icon icon="sliders" size={19} />
    </span>

    <div className="chat-card-title">Custom Instructions</div>
    <p>Set the guidance you want Replit to apply consistently.</p>
    <div className="chat-card-link">Explore Custom Instructions →</div>
  </a>

  <a className="chat-example has-visual" href="/chat/agent-skills">
    <SkillsCardVisual />

    <span>
      <Icon icon="puzzle-piece" size={19} />
    </span>

    <div className="chat-card-title">Use Skills</div>
    <p>Set up reusable approaches for repeatable work.</p>
    <div className="chat-card-link">Explore Skills →</div>
  </a>
</section>

Use [MCP](/chat/connect-through-mcp) when you need to connect Replit to compatible external tools, rather than provide guidance or context.
