# Plan Page

Write, check, repair and publish a plan page: a project's plans and subject files under...

- Repository: https://github.com/udecode/dotai (1161 stars)
- Category: AI and agents
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add udecode/dotai --skill plan-page -g -a claude-code -y`
Codex: `npx skills add udecode/dotai --skill plan-page -g -a codex -y`
Cursor: `npx skills add udecode/dotai --skill plan-page -g -a cursor -y`
Gemini CLI: `npx skills add udecode/dotai --skill plan-page -g -a gemini-cli -y`

## Description

Write, check, repair and publish a plan page: a project's plans and subject files under its plans directory, rendered by .agents/pstack/plan-page.mjs and rendered as one local HTML page per subject with a local index of every subject, and published to claude.ai at each hand-back for comments and feedback. The page is how planned work hands back to the user. Use before writing or changing a plan, a subject file in <plans>/topics or its page; at every stop that hands back work with a plan, such as a review verdict other than a review-only panel's, a next answer or a playbook's close; before writing or updating a PR body, which renders from the PR's plan, or a comment about your commits on someone else's PR; when a plan page or its claude.ai artifact looks wrong or refuses to render; to republish a page; or to change the page shape or a playbook's page sections.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Plan page

The user reads pages, not replies; the block's Plan pages rule says when to publish and what the reply holds. A subject is one thing the work changes, and it has one page. Its file, `<plans>/topics/<slug>.md`, holds the current state. Each plan that continues it is an iteration carrying only its delta. `node .agents/pstack/plan-page.mjs <plan>` renders the page from both into `<plans>/artifacts/`, a local copy that regenerates from the committed plan and subject files, which are the record. `node .agents/pstack/plan-page.mjs --index` renders every subject's page there and an index linking them. A published claude.ai page is where the user comments on one hand-back; it is not the record. sync-pstack ships that renderer and `status.mjs` into every project it manages.

Read [references/shape.md](references/shape.md) before writing a plan or a subject file. It holds every file shape, the page order and the renderer's refusals.

| Mode | Use it to |
| --- | --- |
| [Render](#render) | publish a page at every stop the block's Plan pages rule lists |
| Refresh | render the named plan's page again with Render steps 5, 7 and 8 while the plan is not done; with no plan named, use the open plan of the subject the session works on, and ask when there is none |
| [Check](#check) | audit a plan and its subject before handing the page back |
| [Repair](#repair) | fix a page whose shape is wrong |
| [PR](#pr) | write or update a PR body as the page of the PR's plan, or a comment about your commits on someone else's PR |
| [Change](#change) | change the page shape, the renderer, or a playbook's page sections |

## Render

The rest: https://github.com/udecode/dotai/blob/HEAD/skills/plan-page/SKILL.md
