From 3-surgeons
Set up the 4-folder document system (inbox/vision/reflect/dao) in a project
npx claudepluginhub supportersimulator/3-surgeons --plugin 3-surgeonsThis skill uses the workspace's default tool permissions.
Sets up a 4-folder document system that separates ideas from specs from code reality from proven patterns. Each folder has a different trust level. Documents don't move between folders -- each generates independently.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Sets up a 4-folder document system that separates ideas from specs from code reality from proven patterns. Each folder has a different trust level. Documents don't move between folders -- each generates independently.
| Folder | What Goes Here | Trust | Who Writes It |
|---|---|---|---|
docs/inbox/ | Raw ideas, chat exports, research notes | LOW | Anyone. Append-only. Never deleted. |
docs/vision/ | Specs, designs, architecture decisions | MEDIUM | Human + AI collaboration (brainstorming, cross-exam) |
docs/reflect/ | What the code actually does today | HIGH | Written FROM code analysis, not from specs |
docs/dao/ | Patterns validated through evidence | HIGHEST | Emerges from outcomes, changes only with proof |
3s docs-init or asks about document organizationBefore creating folders, evaluate the project:
docs/How to decide if a subdirectory deserves its own 4 folders:
If yes to 2+ of these, it deserves its own 4 folders.
For each project/submodule identified:
3s docs-init # Current directory
3s docs-init path/to/subproject # Specific path
3s docs-init --scan # Auto-detect projects in repo
This creates:
docs/inbox/README.md
docs/vision/README.md
docs/reflect/README.md
docs/dao/README.md
Each README explains the folder's purpose so anyone opening the folder understands what belongs there.
The 4 folders are gitignored by default -- they contain local working documents, not committed artifacts. The 3s docs-init command adds these entries:
# 4-Folder Document System (inbox/vision/reflect/dao)
docs/inbox/
docs/vision/
docs/reflect/
docs/dao/
Why gitignored? These are working documents for the human + AI collaboration loop. They evolve constantly, contain large chat exports, and are personal to the development workflow. The code itself (committed) is the source of truth -- these folders support the thinking process.
Exception: If the team decides certain vision docs should be shared (e.g., architecture decisions that affect multiple contributors), they can force-add specific files: git add -f docs/vision/architecture.md.
After setup, explain the system conversationally:
Your project now has 4 knowledge folders. Think of them as layers of trust:
inbox/ is your scratchpad -- dump ideas, paste conversations, save research. Nothing gets deleted, but over time we'll mark what's been absorbed into proper specs.
vision/ is where decisions live -- when we brainstorm a feature or the surgeons cross-examine an approach, the result goes here as a spec.
reflect/ is the honest mirror -- written from the code itself, showing what you actually built (not what you planned to build). The gap between vision and reflect is where the interesting work lives.
dao/ is for patterns that proved themselves -- things that worked across multiple projects or survived multiple sessions of evidence. These change slowly and only with proof.
Documents don't move between folders. Each one generates its own content independently.
When --scan is used, evaluate the repo structure:
.gitmodules (submodules) -- each submodule is a candidatepackages/, apps/, services/, libs/package.json, pyproject.toml, Cargo.toml, go.mod in subdirectoriesDetected project structure:
[repo root] -- superrepo (cross-cutting docs)
packages/api/ -- independent project (has own pyproject.toml, README, tests)
packages/web/ -- independent project (has own package.json, README)
packages/shared/ -- shared library (skip -- no independent decisions)
Recommendation: Create 4-folder system in repo root + packages/api/ + packages/web/
Skip packages/shared/ (shared utility, decisions made in consuming projects)
Proceed? [Y/n]
Inbox documents never get deleted, but they do get annotated over time. When content from an inbox doc gets absorbed into a vision spec, add a validity notation:
> **VALIDITY NOTATION** (YYYY-MM-DD):
> - Status: ABSORBED | PARTIALLY ABSORBED | OPEN | INVALIDATED
> - Promoted to: `docs/vision/spec-name.md`
> - Key decisions preserved: [list]
> - Remaining value: original phrasing for intent archaeology
This creates a paper trail: anyone can trace a vision spec back to the raw conversation that spawned it.
The 4-folder system works naturally with the 3-surgeon protocol:
docs/vision/ as decision recordsdocs/reflect/ (code reality corrections)docs/dao/ when patterns validate