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

# Plannotator Art Gallery

> Browse Plannotator illustrations for AI coding plans, agent instructions, review artifacts, revision diffs, and living documentation workflows.

## Featured

<CardGroup cols={2}>
  <Card title="Human review checkpoints for coding agents" href="/learn/ai-development/stay-in-the-loop-own-quality" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/Q7Ec7dSyj-3oh78n/images/plannotator-workspaces-end-to-end.webp?fit=max&auto=format&n=Q7Ec7dSyj-3oh78n&q=85&s=f03ff0664894d8953041f0cf72d9004b" alt="A team workflow connects a request, shared planning context, agent execution, collaborative code review, verified code, and maintained documentation." loading="lazy" decoding="async" width="1672" height="941" data-path="images/plannotator-workspaces-end-to-end.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/plannotator-workspaces-end-to-end-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=ed30305c612d7dd9c39d261a7cd6aaf5" alt="A team workflow connects a request, shared planning context, agent execution, collaborative code review, verified code, and maintained documentation." loading="lazy" decoding="async" width="1672" height="941" data-path="images/plannotator-workspaces-end-to-end-dark.webp" />
  </Card>

  <Card title="Markdown or HTML for coding agents" href="/learn/code-context/ai-agent-html-vs-markdown" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/jg-H3JIQzhQ8Zo4n/images/ai-agent-html-vs-markdown-v2.webp?fit=max&auto=format&n=jg-H3JIQzhQ8Zo4n&q=85&s=8e8ed8c3f2cdcfd03a4598197de41872" alt="A linear Markdown manuscript and an unfolding HTML artifact show when an AI coding agent should choose editable prose or a spatial interactive review surface." loading="lazy" decoding="async" width="1600" height="800" data-path="images/ai-agent-html-vs-markdown-v2.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/ai-agent-html-vs-markdown-v2-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=1b3f4604bfc7edfd451c28f292372972" alt="A linear Markdown manuscript and an unfolding HTML artifact show when an AI coding agent should choose editable prose or a spatial interactive review surface." loading="lazy" decoding="async" width="1600" height="800" data-path="images/ai-agent-html-vs-markdown-v2-dark.webp" />
  </Card>

  <Card title="Claude Artifacts from chat to review" href="/learn/ai-development/claude-artifacts" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/SjbbmY9ULK9XWjOI/images/claude-artifacts-guide.webp?fit=max&auto=format&n=SjbbmY9ULK9XWjOI&q=85&s=fab2fb417920896e048cbcce4cdcff79" alt="A chat becomes a standalone interactive artifact with three versions, then Totman separately annotates exported Markdown and HTML files." loading="lazy" decoding="async" width="1774" height="887" data-path="images/claude-artifacts-guide.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/SjbbmY9ULK9XWjOI/images/claude-artifacts-guide-dark.webp?fit=max&auto=format&n=SjbbmY9ULK9XWjOI&q=85&s=b7c3d292438ce3659572f6042e60a61a" alt="A chat becomes a standalone interactive artifact with three versions, then Totman separately annotates exported Markdown and HTML files." loading="lazy" decoding="async" width="1774" height="887" data-path="images/claude-artifacts-guide-dark.webp" />
  </Card>

  <Card title="AI agent night shift" href="/learn/ai-development/how-teams-run-ai-agent-night-shift" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/fcH0-2Sgo_0thw5q/images/night-shift-for-teams.webp?fit=max&auto=format&n=fcH0-2Sgo_0thw5q&q=85&s=258b12520dfcdd01f44d1867d88148a1" alt="Two teammates and Totman approve an overnight goal at sunset; Claude and Codex agents work through research, code, validation, and artifacts before the team reviews the results at sunrise." loading="lazy" decoding="async" width="1672" height="941" data-path="images/night-shift-for-teams.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/fcH0-2Sgo_0thw5q/images/night-shift-for-teams-dark.webp?fit=max&auto=format&n=fcH0-2Sgo_0thw5q&q=85&s=c68cc68197b2a6cc48a19fd5669cf7cc" alt="Two teammates and Totman approve an overnight goal at sunset; Claude and Codex agents work through research, code, validation, and artifacts before the team reviews the results at sunrise." loading="lazy" decoding="async" width="1672" height="941" data-path="images/night-shift-for-teams-dark.webp" />
  </Card>

  <Card title="Long-horizon AI agent task" href="/learn/ai-development/what-are-long-horizon-tasks-for-ai-agents" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/fcH0-2Sgo_0thw5q/images/long-horizon-ai-agent-tasks.webp?fit=max&auto=format&n=fcH0-2Sgo_0thw5q&q=85&s=51c75a731e71905e30e5e01376c189d1" alt="The same AI agent follows one long route across a coupled technical landscape, preserving checkpoints, recovering from a dead end, and assembling a verified review packet." loading="lazy" decoding="async" width="1774" height="887" data-path="images/long-horizon-ai-agent-tasks.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/fcH0-2Sgo_0thw5q/images/long-horizon-ai-agent-tasks-dark.webp?fit=max&auto=format&n=fcH0-2Sgo_0thw5q&q=85&s=fd0a517303a23c895524d1da861a4cbd" alt="The same AI agent follows one long route across a coupled technical landscape, preserving checkpoints, recovering from a dead end, and assembling a verified review packet." loading="lazy" decoding="async" width="1774" height="887" data-path="images/long-horizon-ai-agent-tasks-dark.webp" />
  </Card>

  <Card title="What an AI artifact can be" href="/learn/ai-development/what-is-an-ai-artifact" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/rYJzdLKf8NB6kcc0/images/what-is-an-ai-artifact.webp?fit=max&auto=format&n=rYJzdLKf8NB6kcc0&q=85&s=1b48f4a315ffc36d45a87be11476ea29" alt="A generic AI agent turns a short chat into standalone plan, diagram, interactive prototype, video, code walkthrough, and report artifacts while Totman curates the finished work." loading="lazy" decoding="async" width="1774" height="887" data-path="images/what-is-an-ai-artifact.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/rYJzdLKf8NB6kcc0/images/what-is-an-ai-artifact-dark.webp?fit=max&auto=format&n=rYJzdLKf8NB6kcc0&q=85&s=ad0c2c96de1be94e5203e05e7cd5a2bd" alt="A generic AI agent turns a short chat into standalone plan, diagram, interactive prototype, video, code walkthrough, and report artifacts while Totman curates the finished work." loading="lazy" decoding="async" width="1774" height="887" data-path="images/what-is-an-ai-artifact-dark.webp" />
  </Card>

  <Card title="Why AI pull requests are harder" href="/learn/code-review/why-ai-generated-pull-requests-are-harder-to-review" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/2sBPGCxmZaCqakvi/images/ai-generated-pull-request-review.webp?fit=max&auto=format&n=2sBPGCxmZaCqakvi&q=85&s=3ab2260e4cd45ad2e90c28b1f404ee10" alt="A developer discusses a pull request with coding agents while a wider team reviews the exact revision, agent provenance, readiness state, validation evidence, and unresolved questions in one shared record." loading="lazy" decoding="async" width="1774" height="887" data-path="images/ai-generated-pull-request-review.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/2sBPGCxmZaCqakvi/images/ai-generated-pull-request-review-dark.webp?fit=max&auto=format&n=2sBPGCxmZaCqakvi&q=85&s=eca4a5c0a0abc72fe2cee1c43010bcf9" alt="A developer discusses a pull request with coding agents while a wider team reviews the exact revision, agent provenance, readiness state, validation evidence, and unresolved questions in one shared record." loading="lazy" decoding="async" width="1774" height="887" data-path="images/ai-generated-pull-request-review-dark.webp" />
  </Card>
</CardGroup>

## Planning and documents

<CardGroup cols={2}>
  <Card title="Product requirements and technical design" href="/learn/planning/what-is-a-product-requirements-document" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/i7Rig4edKh1or2PE/images/product-requirements-document-boundary.webp?fit=max&auto=format&n=i7Rig4edKh1or2PE&q=85&s=1d22a5028ce1ef79687a7621eb940a7c" alt="A product requirements document reviewed by Totman and a coding agent, with user evidence on the left and separate technical specification and implementation plan documents beyond the technical-design boundary." loading="lazy" decoding="async" width="1774" height="887" data-path="images/product-requirements-document-boundary.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/i7Rig4edKh1or2PE/images/product-requirements-document-boundary-dark.webp?fit=max&auto=format&n=i7Rig4edKh1or2PE&q=85&s=21d64b18702ddf7e9f5c0933da2e922f" alt="A product requirements document reviewed by Totman and a coding agent, with user evidence on the left and separate technical specification and implementation plan documents beyond the technical-design boundary." loading="lazy" decoding="async" width="1774" height="887" data-path="images/product-requirements-document-boundary-dark.webp" />
  </Card>

  <Card title="Planning with AI coding agents" href="/learn/planning/how-to-plan-with-ai-coding-agents" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/o_mc8XW3854_L6ic/images/how-to-plan-with-ai-coding-agents.webp?fit=max&auto=format&n=o_mc8XW3854_L6ic&q=85&s=4f7c0fbf5ca0c171c50d8496f59c37ee" alt="A human and two coding-agent robots uncover an AI coding plan by connecting repository evidence and interview questions to three prototypes, implementation notes, a revised plan, and independent verification." loading="lazy" decoding="async" width="1774" height="887" data-path="images/how-to-plan-with-ai-coding-agents.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/o_mc8XW3854_L6ic/images/how-to-plan-with-ai-coding-agents-dark.webp?fit=max&auto=format&n=o_mc8XW3854_L6ic&q=85&s=ba65b373714dc5d5baac36de056407ab" alt="A human and two coding-agent robots uncover an AI coding plan by connecting repository evidence and interview questions to three prototypes, implementation notes, a revised plan, and independent verification." loading="lazy" decoding="async" width="1774" height="887" data-path="images/how-to-plan-with-ai-coding-agents-dark.webp" />
  </Card>

  <Card title="A complete PRFAQ example" href="/templates/prfaq" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/GGeA0Z-Ew7LL-pYg/images/prfaq-relaycheck-press-release.webp?fit=max&auto=format&n=GGeA0Z-Ew7LL-pYg&q=85&s=1cc5e5885e348b935c0da0654e813c02" alt="A fictional RelayCheck newsroom page presents a future press release about finding breaking webhook changes before deployment beside a contract-diff report." loading="lazy" decoding="async" width="1628" height="966" data-path="images/prfaq-relaycheck-press-release.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/GGeA0Z-Ew7LL-pYg/images/prfaq-relaycheck-press-release-dark.webp?fit=max&auto=format&n=GGeA0Z-Ew7LL-pYg&q=85&s=89311f498ff8cbea3f07b56480de575e" alt="A fictional RelayCheck newsroom page presents a future press release about finding breaking webhook changes before deployment beside a contract-diff report." loading="lazy" decoding="async" width="1628" height="966" data-path="images/prfaq-relaycheck-press-release-dark.webp" />
  </Card>

  <Card title="Reviewing a PRFAQ with evidence" href="/frameworks/amazon-working-backwards-prfaq" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/GGeA0Z-Ew7LL-pYg/images/prfaq-working-backwards-review.webp?fit=max&auto=format&n=GGeA0Z-Ew7LL-pYg&q=85&s=71497598ed43be6e0168bc41a54497ad" alt="A Working Backwards review board links interviews, incidents, and prototype evidence to a fictional RelayCheck press release, three claim-level questions, and a proceed, revise, or park decision." loading="lazy" decoding="async" width="1672" height="941" data-path="images/prfaq-working-backwards-review.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/GGeA0Z-Ew7LL-pYg/images/prfaq-working-backwards-review-dark.webp?fit=max&auto=format&n=GGeA0Z-Ew7LL-pYg&q=85&s=3413260761c559e9fce1aea8f840a833" alt="A Working Backwards review board links interviews, incidents, and prototype evidence to a fictional RelayCheck press release, three claim-level questions, and a proceed, revise, or park decision." loading="lazy" decoding="async" width="1672" height="941" data-path="images/prfaq-working-backwards-review-dark.webp" />
  </Card>

  <Card title="From request to maintained documentation" href="/learn/code-context/approve-ai-coding-plan-before-execution" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/fKgUgtyGBbJs8Zdy/images/change-request-to-living-documentation-v2.webp?fit=max&auto=format&n=fKgUgtyGBbJs8Zdy&q=85&s=81fc79d6cb1919eea3226e7e4ccd64e7" alt="A conceptual software workflow moves from a change request through a team decision and planning context to agent execution, verified code, and maintained documentation." loading="lazy" decoding="async" width="1672" height="941" data-path="images/change-request-to-living-documentation-v2.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/change-request-to-living-documentation-v2-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=eb1216a3da153c7d7e0fef1ad2827da8" alt="A conceptual software workflow moves from a change request through a team decision and planning context to agent execution, verified code, and maintained documentation." loading="lazy" decoding="async" width="1672" height="941" data-path="images/change-request-to-living-documentation-v2-dark.webp" />
  </Card>

  <Card title="Markdown source versus HTML source" href="/learn/code-context/ai-agent-html-vs-markdown" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/markdown-vs-html-source-diff.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=7ffb8c5ebb2d6ef52d8a4066f14776f7" alt="A real source comparison where one recovery-window decision changes one line in Markdown but six locations in generated HTML." loading="lazy" decoding="async" width="1440" height="1100" data-path="images/markdown-vs-html-source-diff.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/markdown-vs-html-source-diff-dark.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=183088d85397a19dae2e1484cba69b08" alt="A real source comparison where one recovery-window decision changes one line in Markdown but six locations in generated HTML." loading="lazy" decoding="async" width="1440" height="1100" data-path="images/markdown-vs-html-source-diff-dark.webp" />
  </Card>

  <Card title="Agent handoff packet" href="/learn/code-context/ai-coding-agent-handoff" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/jg-H3JIQzhQ8Zo4n/images/ai-coding-agent-handoff-v2.webp?fit=max&auto=format&n=jg-H3JIQzhQ8Zo4n&q=85&s=770f65be5808db6cb487be29126fba01" alt="An AI coding agent hands a team one versioned evidence folio containing the code diff, decision context, validation, risks, review artifact, and follow-up work." loading="lazy" decoding="async" width="1600" height="800" data-path="images/ai-coding-agent-handoff-v2.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/ai-coding-agent-handoff-v2-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=f732b080d6188bcbe54207a78ec2ecef" alt="An AI coding agent hands a team one versioned evidence folio containing the code diff, decision context, validation, risks, review artifact, and follow-up work." loading="lazy" decoding="async" width="1600" height="800" data-path="images/ai-coding-agent-handoff-v2-dark.webp" />
  </Card>

  <Card title="Living documentation for AI agents" href="/learn/code-context/living-documentation-for-ai-agents" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/jg-H3JIQzhQ8Zo4n/images/living-documentation-for-ai-agents-v2.webp?fit=max&auto=format&n=jg-H3JIQzhQ8Zo4n&q=85&s=cba498171343a142808e4579a5f6e9f6" alt="An AI coding agent and a human reviewer update a living codebase handbook from the current code diff and validation while preserving an earlier RFC as history." loading="lazy" decoding="async" width="1600" height="800" data-path="images/living-documentation-for-ai-agents-v2.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/living-documentation-for-ai-agents-v2-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=252c5d543d5885001ccaf62d5c13e929" alt="An AI coding agent and a human reviewer update a living codebase handbook from the current code diff and validation while preserving an earlier RFC as history." loading="lazy" decoding="async" width="1600" height="800" data-path="images/living-documentation-for-ai-agents-v2-dark.webp" />
  </Card>

  <Card title="Compounding plan feedback" href="/code-context/compound-with-plannotator" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/43yvZo49R03lOMyG/images/compound-feedback-flywheel.webp?fit=max&auto=format&n=43yvZo49R03lOMyG&q=85&s=854881b0d1434e5b88990f9ff39257c5" alt="A four-step diagram shows reviewed plan feedback, a pattern report, a maintained instruction, and the next planning session." loading="lazy" decoding="async" width="1672" height="941" data-path="images/compound-feedback-flywheel.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/43yvZo49R03lOMyG/images/compound-feedback-flywheel-dark.webp?fit=max&auto=format&n=43yvZo49R03lOMyG&q=85&s=a312d58d1971dcbbc9df0c9f31fc2c04" alt="A four-step diagram shows reviewed plan feedback, a pattern report, a maintained instruction, and the next planning session." loading="lazy" decoding="async" width="1672" height="941" data-path="images/compound-feedback-flywheel-dark.webp" />
  </Card>
</CardGroup>

## Agent instructions and context

<CardGroup cols={2}>
  <Card title="Writing AGENTS.md" href="/learn/ai-development/how-to-write-a-good-agents-md" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/xgLX3SHAklHWKlzH/images/agents-md-operating-guide.webp?fit=max&auto=format&n=xgLX3SHAklHWKlzH&q=85&s=28bbb2280eb1fbe2efce2d371a1022ad" alt="Totman writes a single AGENTS.md file containing commands, boundaries, verification, and documentation pointers before one coding agent carries its guidance through the repository and reaches a passing check." loading="lazy" decoding="async" width="1774" height="887" data-path="images/agents-md-operating-guide.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/xgLX3SHAklHWKlzH/images/agents-md-operating-guide-dark.webp?fit=max&auto=format&n=xgLX3SHAklHWKlzH&q=85&s=24aebeedbc7b82a4a72398a685f618c9" alt="Totman writes a single AGENTS.md file containing commands, boundaries, verification, and documentation pointers before one coding agent carries its guidance through the repository and reaches a passing check." loading="lazy" decoding="async" width="1774" height="887" data-path="images/agents-md-operating-guide-dark.webp" />
  </Card>

  <Card title="How CLAUDE.md files load" href="/learn/ai-development/what-is-a-claude-file" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/i7Rig4edKh1or2PE/images/claude-md-loading.webp?fit=max&auto=format&n=i7Rig4edKh1or2PE&q=85&s=0c73b0a8a1ff7f91ba66e792a7febbbe" alt="Totman places a root CLAUDE.md at session start while a coding agent enters a repository where top-level and apps/web CLAUDE.md files join the same context path." loading="lazy" decoding="async" width="1774" height="887" data-path="images/claude-md-loading.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/i7Rig4edKh1or2PE/images/claude-md-loading-dark.webp?fit=max&auto=format&n=i7Rig4edKh1or2PE&q=85&s=c156bdc2199f06d129de619c0f0a9a10" alt="Totman places a root CLAUDE.md at session start while a coding agent enters a repository where top-level and apps/web CLAUDE.md files join the same context path." loading="lazy" decoding="async" width="1774" height="887" data-path="images/claude-md-loading-dark.webp" />
  </Card>

  <Card title="A focused AI agent context window" href="/learn/ai-development/what-is-context-rot" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/DoaNfb1w50d4bIrv/images/context-rot-working-desk.webp?fit=max&auto=format&n=DoaNfb1w50d4bIrv&q=85&s=6a5768e0fb146ed9c05b7d9e5f425f77" alt="An AI agent's crowded working context is reduced to a focused set of relevant sources, current instructions, and a verified output." loading="lazy" decoding="async" width="1672" height="941" data-path="images/context-rot-working-desk.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/DoaNfb1w50d4bIrv/images/context-rot-working-desk-dark.webp?fit=max&auto=format&n=DoaNfb1w50d4bIrv&q=85&s=8658b5d67337279e9f68eb3a748011ea" alt="An AI agent's crowded working context is reduced to a focused set of relevant sources, current instructions, and a verified output." loading="lazy" decoding="async" width="1672" height="941" data-path="images/context-rot-working-desk-dark.webp" />
  </Card>

  <Card title="AI agent morning review packet" href="/learn/ai-development/how-teams-run-ai-agent-night-shift" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/night-shift-morning-review-packet.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=ac58e4f5d9811121c5cc1a7dc24880fe" alt="An approved goal packet connected to a code diff, validation receipt, interface evidence, open question, and a final human decision sheet for morning review." loading="lazy" decoding="async" width="1536" height="1024" data-path="images/night-shift-morning-review-packet.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/night-shift-morning-review-packet-dark.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=27f9c0d9d32a641f9978f7ec81e1ca95" alt="An approved goal packet connected to a code diff, validation receipt, interface evidence, open question, and a final human decision sheet for morning review." loading="lazy" decoding="async" width="1536" height="1024" data-path="images/night-shift-morning-review-packet-dark.webp" />
  </Card>

  <Card title="LLM codebase wiki" href="/learn/ai-development/what-is-an-llm-codebase-wiki" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/zfVHSN1HACSGx_kp/images/llm-codebase-wiki.webp?fit=max&auto=format&n=zfVHSN1HACSGx_kp&q=85&s=dc20b932ed14ec9180ed04e5d58ed7e5" alt="An AI agent turns a source-code repository tree and Git history into a navigable codebase wiki whose architecture pages cite the exact files and commits they explain." loading="lazy" decoding="async" width="1774" height="887" data-path="images/llm-codebase-wiki.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/zfVHSN1HACSGx_kp/images/llm-codebase-wiki-dark.webp?fit=max&auto=format&n=zfVHSN1HACSGx_kp&q=85&s=5b9d246c203a2562f87c3310bc001cb2" alt="An AI agent turns a source-code repository tree and Git history into a navigable codebase wiki whose architecture pages cite the exact files and commits they explain." loading="lazy" decoding="async" width="1774" height="887" data-path="images/llm-codebase-wiki-dark.webp" />
  </Card>

  <Card title="Context curation for a wiki" href="/learn/ai-development/what-is-an-llm-codebase-wiki" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/VWwfN4XTppayBjPx/images/llm-codebase-wiki-context-rot.webp?fit=max&auto=format&n=VWwfN4XTppayBjPx&q=85&s=28387255a0ed95165883b1e4ff6314d4" alt="A verified source signal becomes diluted inside a crowded context window, while a focused route selects three relevant wiki pages and preserves a complete architecture map." loading="lazy" decoding="async" width="1774" height="887" data-path="images/llm-codebase-wiki-context-rot.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/VWwfN4XTppayBjPx/images/llm-codebase-wiki-context-rot-dark.webp?fit=max&auto=format&n=VWwfN4XTppayBjPx&q=85&s=cf9300a57d144316c43b673f963da5c8" alt="A verified source signal becomes diluted inside a crowded context window, while a focused route selects three relevant wiki pages and preserves a complete architecture map." loading="lazy" decoding="async" width="1774" height="887" data-path="images/llm-codebase-wiki-context-rot-dark.webp" />
  </Card>

  <Card title="The cost of keeping a wiki current" href="/learn/ai-development/what-is-an-llm-codebase-wiki" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/VWwfN4XTppayBjPx/images/llm-codebase-wiki-context-curation-cost.webp?fit=max&auto=format&n=VWwfN4XTppayBjPx&q=85&s=b793a50a9c89c837bff5a1058a41ba49" alt="A recurring loop turns repository changes into reviewed wiki updates through model inference, scheduled CI, pull requests, and review, balanced against the exploration time it saves." loading="lazy" decoding="async" width="1774" height="887" data-path="images/llm-codebase-wiki-context-curation-cost.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/VWwfN4XTppayBjPx/images/llm-codebase-wiki-context-curation-cost-dark.webp?fit=max&auto=format&n=VWwfN4XTppayBjPx&q=85&s=cf4abd112166d5286258868184cff94a" alt="A recurring loop turns repository changes into reviewed wiki updates through model inference, scheduled CI, pull requests, and review, balanced against the exploration time it saves." loading="lazy" decoding="async" width="1774" height="887" data-path="images/llm-codebase-wiki-context-curation-cost-dark.webp" />
  </Card>

  <Card title="Specifications before code" href="/learn/ai-development/what-is-an-llm-codebase-wiki" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/VWwfN4XTppayBjPx/images/llm-codebase-wiki-spec-driven-development.webp?fit=max&auto=format&n=VWwfN4XTppayBjPx&q=85&s=ebc09f0f85292e2d81b07f1600c5840b" alt="Two teammates approve a versioned specification, plan, and task set before three coding agents implement the work; the resulting repository then produces a downstream codebase wiki." loading="lazy" decoding="async" width="1774" height="887" data-path="images/llm-codebase-wiki-spec-driven-development.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/VWwfN4XTppayBjPx/images/llm-codebase-wiki-spec-driven-development-dark.webp?fit=max&auto=format&n=VWwfN4XTppayBjPx&q=85&s=6516dfed46e9cb61775601d761d02d17" alt="Two teammates approve a versioned specification, plan, and task set before three coding agents implement the work; the resulting repository then produces a downstream codebase wiki." loading="lazy" decoding="async" width="1774" height="887" data-path="images/llm-codebase-wiki-spec-driven-development-dark.webp" />
  </Card>
</CardGroup>

## Code review

<CardGroup cols={2}>
  <Card title="Understanding AI-generated code" href="/learn/code-context/understand-ai-generated-code-before-shipping" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/jg-H3JIQzhQ8Zo4n/images/understand-ai-generated-code-before-shipping-v2.webp?fit=max&auto=format&n=jg-H3JIQzhQ8Zo4n&q=85&s=7c40c9ea4f3a764ed1e9478bdac78a84" alt="Two teammates and the Plannotator mascot trace one AI-generated change from its request and system behavior through the code diff to passing validation evidence." loading="lazy" decoding="async" width="1600" height="800" data-path="images/understand-ai-generated-code-before-shipping-v2.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/understand-ai-generated-code-before-shipping-v2-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=73776d63c176b31745de86110fa5af9a" alt="Two teammates and the Plannotator mascot trace one AI-generated change from its request and system behavior through the code diff to passing validation evidence." loading="lazy" decoding="async" width="1600" height="800" data-path="images/understand-ai-generated-code-before-shipping-v2-dark.webp" />
  </Card>

  <Card title="Finding a missing cleanup step" href="/learn/code-context/understand-ai-generated-code-before-shipping" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/ai-generated-code-account-deletion-finding.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=f9c8751117081ca42710317c6b955130" alt="An approved account-deletion lifecycle compared with a reviewed revision that fails to revoke refresh tokens and a corrected revision that closes the gap." loading="lazy" decoding="async" width="1536" height="1024" data-path="images/ai-generated-code-account-deletion-finding.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/ai-generated-code-account-deletion-finding-dark.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=9b5b5896ce74e2cff6af347808db6967" alt="An approved account-deletion lifecycle compared with a reviewed revision that fails to revoke refresh tokens and a corrected revision that closes the gap." loading="lazy" decoding="async" width="1536" height="1024" data-path="images/ai-generated-code-account-deletion-finding-dark.webp" />
  </Card>

  <Card title="Code review artifacts" href="/learn/code-review/what-are-code-review-artifacts" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/1I016geR9IMPjsui/images/code-review-artifacts.webp?fit=max&auto=format&n=1I016geR9IMPjsui&q=85&s=af7d763f19a76f0260443ba52f143e42" alt="A reviewer compares a code diff with supporting screenshot, video, HTML, Markdown, and test-result artifacts." loading="lazy" decoding="async" width="1774" height="887" data-path="images/code-review-artifacts.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/code-review-artifacts-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=41c1fa0db4569d58d2d40008bef3db2a" alt="A reviewer compares a code diff with supporting screenshot, video, HTML, Markdown, and test-result artifacts." loading="lazy" decoding="async" width="1774" height="887" data-path="images/code-review-artifacts-dark.webp" />
  </Card>

  <Card title="Evidence attached to a diff" href="/learn/code-review/what-are-code-review-artifacts" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/code-review-artifacts-evidence.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=16c7963c9abd5b8105e8a956b21a75f8" alt="A central code diff is connected by violet threads to screenshot, video, HTML, Markdown, and test-result evidence." loading="lazy" decoding="async" width="1774" height="887" data-path="images/code-review-artifacts-evidence.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/code-review-artifacts-evidence-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=2ac4e1e59ea18bf0f6e9bcb8f72c67b8" alt="A central code diff is connected by violet threads to screenshot, video, HTML, Markdown, and test-result evidence." loading="lazy" decoding="async" width="1774" height="887" data-path="images/code-review-artifacts-evidence-dark.webp" />
  </Card>

  <Card title="Artifacts inside Plannotator Review" href="/learn/code-review/what-are-code-review-artifacts" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/code-review-artifacts-product-view.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=f0a680e73d6e4ddf8bd4e72e22679170" alt="Plannotator Review showing a Markdown review artifact selected beside its uploaded artifact list and an annotation about validating product behavior." loading="lazy" decoding="async" width="1440" height="1000" data-path="images/code-review-artifacts-product-view.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/code-review-artifacts-product-view-dark.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=94b5fab93f14def866643e41226b8947" alt="Plannotator Review showing a Markdown review artifact selected beside its uploaded artifact list and an annotation about validating product behavior." loading="lazy" decoding="async" width="1440" height="1000" data-path="images/code-review-artifacts-product-view-dark.webp" />
  </Card>

  <Card title="Reviewing an exact revision" href="/learn/code-review/what-is-a-revision-diff" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/kHzcm20YTRT-dB_c/images/revision-diff-pro-image.webp?fit=max&auto=format&n=kHzcm20YTRT-dB_c&q=85&s=13f73d95ee8dae6dc467e44e0f43709a" alt="A reviewer returns to a pull request after nine commits and compares the current head with the exact revision reviewed on Tuesday." loading="lazy" decoding="async" width="1774" height="887" data-path="images/revision-diff-pro-image.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/revision-diff-pro-image-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=36e7ed89abc794fe996bc23d3171d450" alt="A reviewer returns to a pull request after nine commits and compares the current head with the exact revision reviewed on Tuesday." loading="lazy" decoding="async" width="1774" height="887" data-path="images/revision-diff-pro-image-dark.webp" />
  </Card>

  <Card title="Pull request review timeline" href="/learn/code-review/what-is-a-revision-diff" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/revision-review-timeline.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=0531f1e41e77aa1a30b74728e79b15c6" alt="A Git commit timeline shows nine commits between a Tuesday code-review checkpoint and Thursday's current head, while Totman inspects the cumulative revision diff since the last review." loading="lazy" decoding="async" width="1774" height="887" data-path="images/revision-review-timeline.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/revision-review-timeline-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=52115ed7cb356d6e9fa89125bac650b7" alt="A Git commit timeline shows nine commits between a Tuesday code-review checkpoint and Thursday's current head, while Totman inspects the cumulative revision diff since the last review." loading="lazy" decoding="async" width="1774" height="887" data-path="images/revision-review-timeline-dark.webp" />
  </Card>

  <Card title="Choosing a comparison baseline" href="/learn/code-review/what-is-a-revision-diff" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/revision-diff-comparison-baselines.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=9cddaabda12fca8fb30018e02658568c" alt="Three translucent Git comparison baselines overlay the same pull request, with the reviewer's last checkpoint highlighted in violet through the current head." loading="lazy" decoding="async" width="1774" height="887" data-path="images/revision-diff-comparison-baselines.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/V-2WYiOx7kFind6Z/images/revision-diff-comparison-baselines-dark.webp?fit=max&auto=format&n=V-2WYiOx7kFind6Z&q=85&s=9d2e8136942ee337b0375fe8047c06c5" alt="Three translucent Git comparison baselines overlay the same pull request, with the reviewer's last checkpoint highlighted in violet through the current head." loading="lazy" decoding="async" width="1774" height="887" data-path="images/revision-diff-comparison-baselines-dark.webp" />
  </Card>

  <Card title="Revision history after a force-push" href="/learn/code-review/what-is-a-revision-diff" arrow="true">
    <img className="block dark:hidden w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/revision-diff-force-push.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=a3e719515bdc6e54938d772cc3638468" alt="A two-lane Git diagram where a force-push makes a reviewed commit unreachable while a preserved patch still compares cleanly with the current head." loading="lazy" decoding="async" width="1774" height="887" data-path="images/revision-diff-force-push.webp" />

    <img className="hidden dark:block w-full rounded-lg" src="https://mintcdn.com/plannotator/ee1djozEnObnfhbV/images/revision-diff-force-push-dark.webp?fit=max&auto=format&n=ee1djozEnObnfhbV&q=85&s=b909faf19757f6585d316911686f21a0" alt="A two-lane Git diagram where a force-push makes a reviewed commit unreachable while a preserved patch still compares cleanly with the current head." loading="lazy" decoding="async" width="1774" height="887" data-path="images/revision-diff-force-push-dark.webp" />
  </Card>
</CardGroup>

*Reviewed July 20, 2026. Maintained by the Plannotator documentation team.*
