big-plan

Publish Markdown plans to a local review server with anchored comments and feedback round-trips.

1|1|Updated Jan 12, 2026
One-click install
npx skills add https://github.com/Connsulting/claude-code-plugins --skill big-plan-connsulting
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: big-plan
Source: https://github.com/Connsulting/claude-code-plugins/tree/main/plugins/big-plan/skills/big-plan
Command: npx skills add https://github.com/Connsulting/claude-code-plugins --skill big-plan-connsulting

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires markdown, pygments, and includes scripts (resource) and assets (resource) components.

What problem does it solve? Substantial project plans written in Markdown are hard to review: comments get lost in chat threads, decisions go unrecorded, and revisions lack visible diffs. This Skill authors plans under a repository's .projects directory and publishes them to the local Big Plan server so reviewers can comment, react, decide, and toggle tasks from a browser or phone. ## Core Features & Use Cases - Plan authoring and publishing: Write plans from a template with stable H2 sections, register session provenance via POST /api/session, and derive a verified Tailscale Serve or localhost review URL. - Structured review affordances: Use task checkboxes, decide/decide-multi decision cards, comparison grids, Mermaid diagrams, and GitHub-style callouts that render as interactive HTML. - Feedback round-trip: Read .comments.json sidecars, snapshot a baseline before revising, reply to questions without resolving them, and let the Send button dispatch aggregated feedback back to the authoring Claude, Codex, or Grok session. - Use Case: Draft an architecture plan, publish it, share the https URL with a reviewer on your tailnet, then revise it next session with changed blocks highlighted green and amber against their last-reviewed snapshot. ## Quick Start Ask the AI to write a big plan for your project and publish it for review, then share the verified review URL it returns.

Frequently Asked Questions about big-plan

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I publish a Markdown plan for commentable review?▼

Write the plan under .projects/ in your repository, verify the local server responds on port 8765, then POST to /api/session/<relative-path> with your engine and session ID. The server returns a review URL you verify with an HTTPS GET before sharing.

How do reviewers comment on a Markdown plan in a browser?▼

The server renders the plan as HTML where every heading, paragraph, and list item gets a stable anchor. Reviewers tap a block to add text comments, emoji reactions, or decision choices, which are stored in a .comments.json sidecar next to the plan.

Does big-plan work without Tailscale?▼

Yes. Without Tailscale the server binds to localhost and plans are reviewed at http://127.0.0.1:8765/<path>. With Tailscale Serve configured, HTTPS on port 443 proxies to the local server for tailnet-wide access via the node's MagicDNS name.

Why do plan headings need to stay stable after comments?▼

Comments anchor on heading slugs and block text hashes, not line numbers. Renaming a commented heading orphans its comments, so headings must stay stable once a reviewer has commented, or the anchor field in the sidecar must be moved manually.

How does reviewer feedback get back to the AI session that wrote the plan?▼

The Send button reads the .md.session provenance sidecar and routes aggregated open comments to the authoring session: a live Claude session via a courier, a recorded one via resume, a Codex or Grok thread through its local server, or a fresh dispatch when no provenance exists.

What are the security limitations of the big-plan server?▼

The server has no authentication and POST /api/submit can spawn an agent process, so it is intended for tailnet-only or firewalled hosts. It guards browsers with cross-origin POST rejection, Host header validation against DNS rebinding, and argv-only subprocess calls with no shell.