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

# Coding Plans

> Turn Slack discussions into structured implementation plans — with file references, design rationale, and one-click handoff to an agent for implementation.

export const Hint = ({type, children, headline, tip, href, cta}) => {
  const TIPS = {
    learnings: {
      headline: "Learnings",
      tip: "Review preferences CodeRabbit learns from your chat conversations and applies automatically to future reviews.",
      cta: "Learn about Learnings",
      href: "/knowledge-base/learnings",
      content: "Learnings"
    },
    walkthrough: {
      headline: "PR Walkthrough",
      tip: "A structured comment posted by CodeRabbit at the top of every pull request, summarizing changes, sequence diagrams, review effort, and more.",
      cta: "Learn about PR Walkthroughs",
      href: "/pr-reviews/walkthroughs",
      content: "Walkthrough"
    },
    "finishing-touches": {
      headline: "Finishing Touches",
      tip: "Post-review agentic actions (Autofix, writing docstrings or unit tests, and more) you trigger from a PR comment or a checkbox in the Walkthrough.",
      cta: "See all Finishing Touches",
      href: "/finishing-touches",
      content: "Finishing Touches"
    },
    "coding-plan": {
      headline: "Coding Plan",
      tip: "A detailed, codebase-aware implementation plan CodeRabbit generates from an issue or description, ready to hand off to any coding agent.",
      cta: "Learn about Coding Plans",
      href: "/plan",
      content: "Coding Plan"
    },
    "knowledge-base": {
      headline: "Knowledge Base",
      tip: "The collected context sources CodeRabbit draws on during reviews: Learnings, Code Guidelines, issue trackers, connected MCP servers, and cross-repo analysis.",
      cta: "Explore the Knowledge Base",
      href: "/knowledge-base",
      content: "Knowledge Base"
    },
    "path-instructions": {
      headline: "Path Instructions",
      tip: "Custom review rules that only apply to files matching a glob pattern, e.g. 'src/controllers/**'.",
      cta: "Configure path instructions",
      href: "/configuration/path-instructions",
      content: "Path Instructions"
    },
    "coderabbit-review": {
      headline: "CodeRabbit Review",
      tip: "An improved code inspection interface that reorganizes a pull request from a flat file list into a structured, layer-by-layer walkthrough with range-specific summaries and diagrams.",
      cta: "Learn about CodeRabbit Review",
      href: "/pr-reviews/coderabbit-review",
      content: "CodeRabbit Review"
    },
    scope: {
      headline: "Scope",
      tip: "A named set of repositories, connections, and spend limits that controls what CodeRabbit Agent can access in a given Slack conversation.",
      cta: "Learn about Scopes",
      href: "/slack-agent/scopes",
      content: "Scope"
    },
    "coderabbit-agent": {
      headline: "CodeRabbit Agent for Slack",
      tip: "An AI agent built into Slack that investigates issues, generates implementation plans, and opens pull requests right from the Slack threads.",
      cta: "Explore CodeRabbit Agent",
      href: "/slack-agent",
      content: "CodeRabbit Agent"
    },
    "configuration-inheritance": {
      headline: "Configuration Inheritance",
      tip: "A setting that merges configuration values across multiple levels — repository YAML, central YAML, and UI settings — instead of using only the highest-priority source.",
      cta: "Learn about Configuration Inheritance",
      href: "/configuration/configuration-inheritance",
      content: "Configuration Inheritance"
    }
  };
  const defaults = TIPS[type] || ({});
  return <Tooltip headline={headline ?? defaults.headline} tip={tip ?? defaults.tip} cta={cta ?? defaults.cta} href={href ?? defaults.href}>
      {children ?? defaults.content}
    </Tooltip>;
};

CodeRabbit turns Slack conversations into structured implementation plans. CodeRabbit Agent for Slack analyzes the thread, the repositories in scope, and the Knowledge Base, then produces an implementation plan that you can refine and pass to any agent.

## How plans are created

Planning is explicit. CodeRabbit Agent starts a planning workflow when you use one of these entry points:

* Type `/plan <task description>` in a channel.
* Type `/plan` with no text to open the Plan Changes modal.
* Use the **Plan this work** message shortcut on a Slack message.
* Click **Plan this work** on a planning offer from CodeRabbit Agent.

For example, after discussing a new feature in `#backend-eng`, an engineer can type:

```text wrap theme={null}
/plan Add rate limiting to the public API endpoints based on the approach we discussed above
```

The Agent reads the thread, checks the repositories and knowledge available through the channel's <Hint type="scope">scope</Hint>, and generates a coding plan with implementation phases, file references, and design rationale grounded in the actual codebase.

<Info>
  Slash commands are available in channels, not in Direct Messages or threads. Use the message shortcut or a planning offer when you want to start from an existing Slack message.
</Info>

## Planning process

CodeRabbit posts an initial implementation plan in the Slack thread, covering the likely change area, key tasks, and open risks. Select **Dive deeper** to refine the plan with additional codebase research. CodeRabbit saves the result and adds an **Open Plan** link back to the thread.

You can hand the plan off to CodeRabbit Agent for implementation at any point, or stop planning and switch to implementation straight away.

## Review and handoff

Open saved plans from Slack or from the [web app](https://agent.coderabbit.ai/plan/list). Saved plans preserve the research, assumptions, phases, tasks, summary, and version history for the work. Use the Slack action buttons to hand either the first-pass plan or the saved plan back to CodeRabbit Agent for implementation.

## Relationship to CodeRabbit Plan

CodeRabbit Agent planning builds on the broader CodeRabbit planning model. Coding Plans created from Slack appear alongside plans created from the web app or issue trackers.

For the canonical product docs covering plan structure, refinement, and agent handoff, see [CodeRabbit Plan](/plan).

## What's next

<CardGroup cols={1}>
  <Card title="Working in Slack" href="/slack-agent/use-in-slack" icon="messages-square" horizontal>
    See how `/plan` starts from Slack and when that work moves into the web UI.
  </Card>

  <Card title="CodeRabbit Plan overview" href="/plan" icon="list-check" horizontal>
    Read the canonical planning docs for plan structure, refinement, and handoff behavior across CodeRabbit.
  </Card>

  <Card title="Thread reviews" href="/slack-agent/thread-reviews" icon="file-search" horizontal>
    Inspect the run history behind a planning conversation when you need more context than the final plan alone.
  </Card>
</CardGroup>
