Boss 1, custom
The orchestrator. A single markdown file at ~/.claude/skills/boss/SKILL.md that fires on vague openers, reads project state, asks at most two questions, and routes to a specialist or subagent. See Boss.
How I run Claude Code as a designer who ships code.
Bossmode is the public spec of my setup for working with Claude Code. It documents the skills, subagents, folder structure, and rituals that keep my conversations reliable across sessions. Two readers in mind: anyone curious how a designer ships code without being one, and future-me, six weeks from now, trying to remember why I installed something.
On this page
Orchestration, routing, voice.
02 MemoryPreferences, voice, silent rules.
03 SkillsSpecialists installed and ready.
04 SubagentsIsolated context, parallel work.
05 FoldersState, blueprint, conventions.
06 Workflow filestasks, progress, changelog.
07 RitualsCommit, push, clear at 50%.
08 WorkflowsOpt-in pipelines, multi-phase.
Every foundation is non-skippable. Drop one and the conversation collapses back into prompt-and-pray.
Intro
A working setup, not a sales pitch.
This page documents the way I actually run Claude Code. Which skills I have installed. Which agents do which work. How my folders are arranged. The small rituals that keep the system honest.
It is not a sales pitch and not a tutorial. It is a working document, the same way an engineer's notes file or a kitchen's prep list is a working document. My audience is anyone who reads code fluently but does not write it line-by-line, and anyone curious how a designer leans on AI in production without surrendering the design seat.
Most of what I ship lives in code. I don't think of myself as an engineer though. I think of myself as a designer who got tired of waiting for one.
Every link on this page goes to a real public source. Skills are MIT or Apache. The Boss skill is custom and small enough to copy. Take what is useful, replace what is not.
Foundations · 8 pillars
Skip one and the conversation collapses back into prompt-and-pray.
Vibecoding does not work on a model alone. Eight things have to be in place. The numbers in pink show how many of each I actually run today.
The orchestrator. A single markdown file at ~/.claude/skills/boss/SKILL.md that fires on vague openers, reads project state, asks at most two questions, and routes to a specialist or subagent. See Boss.
Auto-memory feedback files in ~/.claude/projects/.../memory/. Preferences, response shape, commit cadence, and other silent rules Boss enforces without being asked. See Rituals.
Domain knowledge or fixed processes Boss routes to. Three sources: custom (boss, impeccable, humanizer), plugin (superpowers, frontend-design, figma, ui-ux-pro-max-skill), bundled (design / engineering / marketing / anthropic-skills / pdf-viewer / claude-api packs). See Skills.
Isolated workers Boss dispatches for parallel work or research. Each runs in its own context window and reports back. See Subagents.
One root per project at vibing-workflow/; one global root at ~/.claude/. State, blueprint, and conventions all live in predictable places. See Folder structure.
Three always-load files Boss opens every conversation (tasks.md, progress.md, changelog.md) plus six on-intent references (architecture, overview, principles, context, permissions, plan) and a design-reference/ folder. See Workflow files.
Commit when done + tested + passed. Push only on explicit request. Clear at fifty percent context. See Rituals.
Opt-in multi-phase pipelines invoked via slash command. Each phase writes a markdown artefact in development/<workflow>/<sprint>/; the next phase reads it. Boss may suggest a workflow but never auto-starts. First in build: /design-sprint. See Workflows.
Orchestrator
One front door. Everything else routes.
Without a front door, every conversation starts from zero. Preferences get re-explained, files get re-pointed-at, and quality degrades past message 30. Boss is one markdown file at ~/.claude/skills/boss/SKILL.md that fires when the opener is vague ("Let's…", "What's next?", "Where do I start?"), reads the project state, takes a stance, and dispatches the right specialist or subagent. The result is that a three-word opener gets a system that is already three steps ahead.
tasks.md for what is in flight, progress.md for the running journal, git log --oneline -10 for recent commits. Never reads everything; reads enough to take a stance.impeccable for design polish, frontend-design for new UI, superpowers:systematic-debugging for bugs), a subagent (Explore, Plan, general-purpose), or a direct action when the work is one or two steps and obvious.Boss lives only on my machine, but the markdown is small enough to copy. The spec mirror is at vibing-workflow/boss.md; the active skill at ~/.claude/skills/boss/SKILL.md. They stay in sync by hand. To start from this version, ask me for the file.
Skills · 3 custom · 4 plugins · 6 bundled
The specialists Boss routes to. Domain knowledge or fixed processes the model drops into.
A skill is a markdown file with frontmatter that tells the model when to use it and what to do. Three sources: custom (drop-in at ~/.claude/skills/, no marketplace needed), plugin (installed from a marketplace), or bundled (ships with Claude Code, no install needed). Skills do not produce side effects on their own. They are the knowledge Boss leans on while routing or while doing 1–2 step work himself.
# custom
~/.claude/skills/Plain markdown skills, manually installed (git clone or copy). One I wrote, two I borrowed and kept.
The CEO front-door. Fires on vague openers, reads project state, asks at most two questions, routes to a specialist or subagent. One markdown file at ~/.claude/skills/boss/SKILL.md, mirrored at vibing-workflow/boss.md for review. Ask me for the file to start from mine.
Twenty-three design commands by Paul Bakaus: /audit, /typeset, /colorize, /polish, /animate, plus shape, craft, and a live picker. Installed manually as a custom skill, not via the marketplace. The page you are reading uses its design DNA. Source on GitHub.
Removes signs of AI-generated writing from any text I'm about to ship. Detects em-dash overuse, the rule of three, vague attributions, filler phrases, AI vocabulary words, passive voice, and superficial -ing analyses. Based on Wikipedia's "Signs of AI writing" guide. I run it on every front-facing string before merge: landing copy, email drafts, this page. Source by blader on GitHub.
git clone https://github.com/blader/humanizer.git ~/.claude/skills/humanizer# plugins
Each plugin can ship skills, subagents, MCP servers, or all three. Listed here are the ones whose primary export is a skill or a skill set.
The most-used pack in my setup. Brainstorming, planning, TDD, debugging, code review, finishing branches. Also ships the code-reviewer subagent listed below. If you install one thing, install this. Source on GitHub.
Production-grade frontend code generation. Distinctive, opinionated, avoids generic AI aesthetics. I reach for this when impeccable's command set is too narrow and I want a fresh component or page from scratch. Source on GitHub.
/plugin install frontend-designRead and write Figma. Implement designs from URLs, push code back as Figma, manage variables, components, and Code Connect mappings. The bridge between canvas and code. Source on GitHub.
/plugin install figmaCommunity pack by nextlevelbuilder: 100 reasoning rules and 67 UI styles for cross-platform UI/UX work. A second opinion lens that complements impeccable's editorial bent.
/plugin install ui-ux-pro-max# bundled
No install required. These appear in the available-skills list every session. Listed as packs, not individual skills.
design-critique, design-system, ux-copy, accessibility-review, user-research, research-synthesis, design-handoff. Boss reaches for these when the request is design-shaped but doesn't need the full impeccable craft pipeline.
architecture, system-design, code-review, debug, deploy-checklist, tech-debt, testing-strategy, documentation, incident-response, standup. Architecture decisions, technical writeups, code health audits.
campaign-plan, seo-audit, brand-review, email-sequence, competitive-brief, draft-content, performance-report, content-creation. Less used in my daily loop, but available the moment a non-design ship needs words.
skill-creator, schedule, consolidate-memory, setup-cowork, plus office-format helpers (pdf, pptx, docx, xlsx). The meta layer plus document tooling.
view-pdf, annotate, sign, open, fill-form. Interactive PDF tooling. For reviewing, marking up, signing, or filling in forms collaboratively. Pairs with the matching MCP server below.
Build, debug, and optimize Claude API / Anthropic SDK applications. Triggers on imports of anthropic or @anthropic-ai/sdk. Handles prompt caching, tool use, batch, files, citations.
Capabilities · 5 servers
The tools skills and subagents call. Where a skill is knowledge, an MCP server is a hand.
MCP (Model Context Protocol) servers are a different mechanism than skills. A skill teaches the model what and when; an MCP server gives it tools: a browser to drive, a desktop to click, a Figma file to write into. The model can't take any action that no tool exposes; MCP is how the surface area expands. They install via ~/.claude/settings.json or as part of a plugin's .mcp.json, not as markdown.
A paid visual editor at cssstudio.app that ships an MCP server. The reverse of impeccable's live mode: tweak CSS and HTML in the browser, Studio writes the changes back to source. The /studio skill is the user-facing handle. I use it when the design is settled and only details need nudging.
Claude's own preview server tooling. Screenshot the running app, evaluate JavaScript, click and fill elements, read console logs, resize the viewport. Used while iterating on UI to verify changes before committing. The mobile pill audit at the bottom of this page was tested through it.
DOM-aware browser tools. Navigate, click, fill, take snapshots, read network and console messages, run Lighthouse audits. Where the preview server is for "is this UI right?", devtools is for "is this site fast and accessible?"
Native desktop control: screenshots, mouse, keyboard, app open, clipboard. Tier-restricted: browsers and IDEs are read-only or click-only by default. Used for cross-app workflows where no dedicated MCP exists.
Pulls up-to-date library and framework documentation directly from sources. Use it before web search when training data may be stale on React, Tailwind, Next.js, Prisma, Anthropic SDK, or any rapidly-moving library. Installed as part of the context7 plugin. Source on GitHub.
Other MCP servers (PDF viewer, scheduled-tasks, MCP registry, session management) ship invisibly with Claude Code or via plugins. They exist but rarely need a direct mention.
Subagents · 7 wired
Isolated workers Boss dispatches when a job is too big or too distinct for the main thread. I wrote zero of them.
Where a skill is knowledge inside the main conversation, a subagent is a worker in its own context window. Boss hands one a self-contained prompt; it does the work without polluting the main thread; it returns a single summary. Five ship with Claude Code, two come from plugins. None are custom. Yet.
Multi-step research, open-ended search, anything that does not fit a narrower agent. The default fallback.
Read-only file and grep search. "Where is X?", "Which files reference Y?". Quick or thorough mode. Never edits.
The software architect. Proposes implementation plans, identifies critical files, calls out trade-offs before code is written.
Refines recently-changed code for clarity and consistency, preserving behavior. I use it after a feature lands.
Answers "how do I do X in Claude Code, the SDK, or the API?" Hooks, slash commands, MCP, settings.
Independent review pass after a major step, or before merging. The second pair of eyes I do not have on staff.
Configures the Claude Code status-line setting, the bottom-bar info display. Niche, but ships in the box and the count is honest.
Structure
Two roots, one job each.
vibing-workflow/ is this project: the page, the brand, the design system, plus a development/ subfolder with the active spec and journal. ~/.claude/ is global Claude Code config: skills, plugins, per-project memory. The same shape works for any project; copy it.
vibing-workflow/
This project. Public-facing root with the active spec underneath.
vibing-workflow/ ├── README.mdhow to use this folder ├── index.htmlthis page ├── PRODUCT.mdbrand, audience, anti-references ├── DESIGN.mddesign system tokens ├── boss.mdspec mirror of the Boss skill ├── decisions.mddated changelog of workflow decisions ├── findings.mdtools evaluated, why kept or skipped └── development/ # always: Boss opens every session ├── tasks.mdin-flight, planned, recently done ├── progress.mdrunning journal ├── changelog.mdpublic release notes # on intent: Boss opens when topic matches ├── overview.mdwhat this project is ├── architecture.mdfile map, page section structure ├── principles.mdcode and design rules ├── context.mdbroader context for AI agents ├── permissions.mdwhat AI can do without asking ├── plan.mdlong-horizon roadmap # reference: source material, consulted during design work └── design-reference/scanned DESIGN.md inspirations
~/.claude/
User-level Claude Code config. Global, shared across projects.
~/.claude/ ├── skills/drop-in markdown skills, project-agnostic │ ├── boss/the custom orchestrator │ └── impeccable/the design fluency layer ├── plugins/installed plugin cache ├── projects/.../memory/per-project auto-memory (feedback rules) └── agent-flow/custom telemetry hook
State files
Three always-load files. Six on-intent references. One source folder.
The development/ folder has ten things in it; only three are always-load. The other six get read on intent match (architecture, overview, principles, context, permissions, plan), and one folder (design-reference/) is source material for design work. The three below have distinct jobs and never overlap.
development/tasks.md · Primary stateWhat is in flight, what is planned, what just landed. Each item gets a status (Doing / Planned / Done) and a commit SHA when applicable. The fastest answer to "what's next?" or "where are we?"
Boss opens this first, every session. If you only keep one workflow file, keep this one.
development/progress.md · Running journalThe narrative. A "last session pickup" block at the top summarises what just shipped and where to resume. Below: prose entries in reverse chronological order. What shipped, what was learned.
Boss opens this second. Useful when the question is "what did we learn?", not "what's next?"
development/changelog.md · Release artifactUser-facing release notes. Mirrors the in-app changelog component. This is what ships to customers, not what describes my work.
Boss does not open this for state-checking. It is a publish artifact, not a journal.
Disciplines
Three small rules that keep quality stable session after session.
Each one is codified in auto-memory; Boss enforces them silently. The reason matters as much as the rule.
I commit when a feature or unit of work is finished, tested, and passing. Typecheck clean. Dev-server smoke tests OK. Relevant tests green. I also commit on my own explicit "ok" or for genuinely minor things: typo fixes, copy tweaks, dependency bumps that do not change behavior. Never on work-in-progress.
My git log should read as a series of "this thing now works" milestones, not a stream of save points.
Commits are local; pushes are deliberate. Boss never auto-pushes after a commit. Only when I explicitly say "push", or at the end of a major chunk of work. Before any meaningful push I bump the version pill; package.json and the visible UI version stay in sync.
I clear or compact the conversation when context hits roughly fifty percent full. Past that threshold, output quality drops: reasoning gets sloppier, recall of earlier instructions weakens, my snappy response shape erodes. Before clearing, I make useful state durable: decisions to decisions.md, in-flight work to tasks.md, new preferences to auto-memory. Then I clear; Boss reads state on the way back in and resumes without losing the thread.
Guardrails · 1 hook · 1 ask rule
What the harness checks before any request reaches Claude.
Underneath the soft rituals there is a hard layer: hooks and permission rules. Both run inside the harness, before Claude sees the request. Both can prompt me with the standard three-button dialog (Allow once, Allow always, Deny) or block the action outright. Different mechanisms, same job: turn a rule from a soft preference into something the harness actually enforces.
A hook is a shell command (or LLM prompt, or HTTP call, or MCP tool call) the harness runs at a lifecycle moment: session start, before or after any tool call, when Claude stops, on compaction. It receives the event payload as JSON, can log silently, modify the input, or block the action. Configured under hooks in ~/.claude/settings.json.
A permission rule is a declarative match: it pairs a tool name with a path or argument pattern and an action (allow, deny, ask). When Claude attempts the matching tool call, the harness applies the rule. Configured under permissions in the same file.
Two pieces.
One observability hook on every event, dispatching every SessionStart, PreToolUse, PostToolUse, Stop, and friends to agent-flow's tracker. Third-party, log-only, never blocks. Useful for understanding what an agent did across a session.
One ask rule on development/client/. Any Edit or Write by Claude on a path under development/client/** triggers the three-button prompt. Client material (briefings, brand assets, references, process notes) is read-only by default; I unlock it case by case when I actually want Claude to touch it.
A hook can't decide intent. It can match patterns and execute, but it can't read my message and judge whether to start a workflow or which skill to invoke. Boss-routing, the bootstrap conversation, the design-sprint pipeline. All LLM territory, all stays in skills. Hooks and permissions supplement the soft rules; they don't replace them.
Two candidates queued, neither shipped:
index.html. The hard ban already exists in principles. A PostToolUse hook can grep the diff for the character and fail with a message. Catches the violation before it reaches the file.git push confirmation. A PreToolUse hook on Bash that blocks if the command contains git push and my recent input doesn't contain "push". Hardens the batch-push ritual into something the harness checks rather than something Claude has to remember.Both queued, not shipped, until the existing two pieces have a few weeks of real use.
Pipelines · 0 shipped, 3 planned
Opt-in multi-phase pipelines, with file-artefact handoffs between phases.
The eighth foundation. A workflow is a slash command that runs a sequence of phases. Each phase calls an existing skill, writes a markdown artefact, and hands off to the next. Different layer than Boss-routing: Boss decides per message, a workflow commits to a fixed shape. Boss may suggest a workflow when intent matches; he never auto-starts one. Multi-phase commitment without consent is too expensive when wrong.
The principle: codify only what you've already done three times by hand. One workflow is in build; the rest are queued until a real run earns them.
/design-sprint
design
in build
Seven phases for a screen, page, or component: Grill → Brief → IA → Tokens → Tasks → Build → Review. Each phase calls a skill that's already installed (no duplication), writes its artefact at development/design-sprint/<name>/0N-x.md, and the next phase reads it. Inspired by Julian Oczkowski's "7 Claude Code design skills" but mapped to my installed stack and voice.
/feature
development
planned
The end-to-end build flow: ask → plan → build → test. Wraps superpowers:brainstorming, superpowers:writing-plans, frontend-design, and superpowers:test-driven-development with explicit per-phase artefacts. Queued: will be built only after /design-sprint has three real hand-runs and the pattern is stable.
/bug-fix
development
planned
The reproduce-isolate-diagnose-fix-verify pipeline. Wraps superpowers:systematic-debugging with a post-mortem block written to development/progress.md. Queued: same reason as /feature.
A workflow is two things together: a sequence and a set of artefacts. Drop either and you're just running skills back-to-back without state between them.
Lifecycle · living document
A workflow is living, not shipped. Treat additions like dependencies: vet them, log them, prune them.
This is a permanent project on my Mac, not a static publication. The skills, plugins, MCP servers, and workflows above will keep changing. Every time I add or remove something, the same loop runs: vet for fit, decide where it sits, wire it into Boss, log the choice. Once a quarter I run the inverse: what has not been touched in 30 days, what can go without losing capability? Then I remove and log. Adding gets all the attention; pruning gets none, and that is wrong. The page you are reading should be readable as a snapshot of the current system, not a frozen artefact.
When I find a skill, plugin, or workflow that looks useful, the loop is two prompts. Both copy-pastable, both before any install command runs.
Step 1 · Vet. Paste this with the repo URL filled in:
Can you tell me how this [LINK TO REPO] will affect our Boss setup? I want to know about overlap, conflicting slash commands, conflicting instructions.
Boss reads the new thing, reads the existing setup, and surfaces three checks:
Step 2 · Plan and wire. If the three checks pass, paste the second prompt:
If the vet is clean, write me a short plan: fit (where this sits in the process), routing (when Boss should reach for it), wiring (which files get updated: boss.md, ~/.claude/skills/boss/SKILL.md, the page, decisions.md). Wait for my confirmation before changing anything. After execution, log a dated entry in decisions.md: what changed, why, what to watch for.
Boss returns a three-part plan in that exact shape. I read it, say "ja" if it's right, and the wiring runs. The dated decisions.md entry is the trail future-me reads back.
The system has three durable surfaces for self-correction. None requires a search.
boss.md · the routing cheat sheet. If Boss reaches for the wrong specialist, the rule is here. Edit it; the mirror at ~/.claude/skills/boss/SKILL.md updates with the same content.decisions.md · the dated journal of why each choice was made. Six weeks from now, you'll want to know why a thing was removed. This is where to look.feedback_*.md in ~/.claude/projects/.../memory/ · the silent preferences Boss enforces. If the page claims "no em dashes" but Boss keeps using them, an old memory rule probably says the opposite.Without a check-and-log discipline, the system becomes a museum. Three failure modes happen if you skip the loop:
The friction is the feature. If a new skill conflicts with three existing rules, you find out before installing, not three weeks later when a request goes sideways and the trail is cold.
Three of my own workflow files are aspirational scaffolding I haven't touched in weeks (plan.md, permissions.md, context.md). They survive the loop because they read on intent match. If they ever stop being read, they go. The page already exposes that hierarchy honestly in the Folder structure tree. Three tiers: always-load, on-intent, source material.
A workflow file that nobody reads is a stale comment in a codebase. Same fix.
Tooling
Capture the design DNA of any URL before you build.
Most AI design output is bland because the brief was bland. Before any UI work, I scan a reference site with StyleProbe, a tool I built that captures the design DNA of any URL: typography, color, motion, spacing, iconography. Output is a structured DESIGN.md file that hands the model taste instead of templates.
This page was built off a StyleProbe scan of impeccable.style, applied to a docs structure. A free scan is available. Email me for one. The full tool is paid.
Questions
Things people ask. I'll add to this as questions come in.
Yes, with normal precautions. Every skill, plugin, and MCP server linked here is open source or a known paid tool. Read the source before installing if it matters to you. Claude Code asks permission before tools take action (file writes, shell commands, browser navigation), and you can tighten or loosen that per-session.
Two real things to watch: (1) MCP servers that run via npx pull from the public registry, so verify the package source on first install; (2) any skill can edit your files when invoked, so trace what a skill does before you wire it into Boss's routing.
Mostly yes. Claude Code itself requires a paid Anthropic subscription. Every skill, plugin, and MCP server linked from this page is free and open source unless flagged otherwise. The install commands shown on this page will not charge anything.
Two paid exceptions: CSS Studio (the visual editor; paid app, ships an MCP server) and StyleProbe (full tool is paid; free scans on request). Boss, impeccable, humanizer, superpowers, frontend-design, figma plugin, ui-ux-pro-max, all bundled skills, chrome-devtools, context7: all free.
Yes. This is additive. Plugins you already have keep working; existing skills sit next to the ones added here. The only real collision risk is slash-command names: two skills can both register /animate and last-loaded wins, which means the previous one gets shadowed silently.
Run the vet prompt in Use and maintain before installing anything new and Boss will tell you exactly what overlaps, what slash commands collide, and what house rules conflict.
One foundation at a time, in order.
~/.claude/skills/boss/SKILL.md. Ask me for the file as a starting point and rewrite the routing rules for your project.tasks.md, progress.md, and a decisions.md to your project's development/ folder. These three alone get you most of the value.superpowers is the highest leverage.The mistake is installing everything at once. Each piece earns its place by being used three times.
Yes, and please tell me how. The whole spec is copy-paste; nothing here only works for me. The Boss skill is one markdown file at ~/.claude/skills/boss/SKILL.md that you should rewrite to match your project's voice and routing rules. Same goes for PRODUCT.md, DESIGN.md, the development/* files, and the workflows.
If you make a meaningful change (a new ritual, a different memory file shape, a workflow I don't have), email me. I read everything and the system gets better when other people fork it.
Net cheaper across multi-turn sessions; slightly more expensive on one-shots.
The setup adds about 6–12K tokens per session start: Boss SKILL.md auto-loads, skill descriptions sit in the available-skills reminder, MCP tool schemas register (most are deferred and only load when used), and Boss reads tasks.md + progress.md + recent git log on the way in. The biggest recurring cost is alwaysThinkingEnabled: true in ~/.claude/settings.json, which emits reasoning tokens every turn.
What saves tokens is bigger. Subagents run in their own context windows and return one summary, so 50–200K of search hits never enter the main thread. Workflows write artefacts to disk, so phase N reads the previous phase from a file instead of re-carrying state in messages. Auto-memory removes re-prompting preferences each session. Boss routing kills "where do I start" thrash before it costs 5–10K of dead exploration. The clear-at-50% ritual caps per-turn input cost.
One-turn questions cost ~5K more than raw Claude Code. Multi-turn, research-heavy, or workflow-shaped work is materially cheaper. The thing to watch is alwaysThinkingEnabled: worth it for hard tasks, overkill for "rename this variable."
StyleProbe is a tool I built that captures the design DNA of any URL (typography, color, motion, spacing, iconography) and outputs a structured DESIGN.md file that hands a model taste instead of templates. Most AI-generated UI looks bland because the brief was bland; StyleProbe replaces "make it look modern" with a real design-system snapshot.
Free scans on request. Email me. The full tool is paid and lives at supercasper.com.
Related
Other projects and tools that connect to this workflow.
Sources
Where the skills and tools listed above come from.
Links
How to reach me and where to read more.