fractional-cto: The AI CTO Co-Pilot for SaaS Engineering
July 15, 2026 · View on GitHub
fractional-cto: The AI CTO Co-Pilot for SaaS Engineering
98 skills, 24 commands, and 19 agents across 13 plugins. Opinionated, research-backed Claude Code plugins for building SaaS products that ship.

Designed for Claude Code and Cowork. Every skill also installs into 70+ other agents with one command — see Other AI assistants.
Start Here
Building a form? Skills activate automatically.
Need an API review? /api-design-principles:api-review
Auditing code quality? /pedantic-coder:pedantic-review
Researching a topic? /deep-research:research "your question"
Stress-testing a plan? /stress-test:stress-test path/to/plan.md
Compressing your CLAUDE.md? /markdown-compressor:compress path/to/file.md
Resetting your plan file? /planning-tools:plan-delete
Chaining two agents across terminals? /agent-baton:baton-pass and /agent-baton:baton-wait
If this project helps you, star the repo.
Why fractional-cto?
Generic AI gives you suggestions. fractional-cto gives you standards.
Each skill encodes a proven engineering principle (naming precision, API design patterns, cloud governance) and enforces it the moment Claude detects relevant work. You get the rigor of Stripe's API design, Nielsen Norman's usability research, and production cloud architecture baked into every session. No bookshelf required.
The skills are deliberately opinionated. They don't present five options and ask you to choose. They tell you what to do, cite why, and show you the code. If you disagree, edit the skill. It's just markdown.
How It Works
Every plugin activates the moment your Claude session starts. A session hook fires, reads the plugin's skill index, and injects it into context. From that point on, Claude knows what principles exist and when to apply them.

Each plugin carries review checklists, good/bad pattern comparisons, working code examples, and a dedicated reviewer agent for deeper audits.
Installation
Claude Code / Cowork
# Step 1: Add the marketplace
/plugin marketplace add oborchers/fractional-cto
# Step 2: Install individual plugins
/plugin install saas-design-principles@fractional-cto
/plugin install visual-design-principles@fractional-cto
/plugin install api-design-principles@fractional-cto
/plugin install cloud-foundation-principles@fractional-cto
/plugin install pedantic-coder@fractional-cto
/plugin install python-package@fractional-cto
/plugin install deep-research@fractional-cto
/plugin install structured-brainstorming@fractional-cto
/plugin install retell@fractional-cto
/plugin install stress-test@fractional-cto
/plugin install markdown-compressor@fractional-cto
/plugin install planning-tools@fractional-cto
/plugin install agent-baton@fractional-cto
Other AI assistants (skills only)
All 98 skills install into any of 70+ agents with the skills CLI — Gemini CLI, Cursor, Codex, OpenCode, Copilot, Cline, Windsurf, and the rest. No copying, no npm package, nothing to keep in sync.
# Browse every skill in this marketplace without installing
npx skills add oborchers/fractional-cto --list
# Install one skill
npx skills add oborchers/fractional-cto --skill agent-baton
# Install a few
npx skills add oborchers/fractional-cto --skill naming-precision,form-design
# Install everything, for every agent it detects
npx skills add oborchers/fractional-cto --all
Add -g for user-level instead of project-level, and -a <agent> to target specific agents. The CLI symlinks to a canonical copy by default, so npx skills update pulls new versions; pass --copy for independent files.
What you get: skills only. Commands (/plugin-name:command) and agents are Claude-specific and do not travel — but every skill is written to stand on its own, so the guidance is complete without them.
Prefer to vendor the files yourself? The */skills/*/SKILL.md files follow the universal skill format and can simply be copied into your agent's skills directory (.gemini/skills/, .cursor/skills/, .codex/skills/, …).
Local Development
claude --plugin-dir /path/to/fractional-cto/<plugin-name>
Available Plugins
1. saas-design-principles -- Speed, navigation, forms, tables, auth, accessibility (13 skills, 1 command, 1 agent)
Research-backed SaaS design principles drawn from Linear, Stripe, Shopify Polaris, and Nielsen Norman Group research.
Skills (13):
speed-is-the-feature-- Optimistic UI, skeleton screens, performance budgets, code splittingsaas-navigation-- Sidebar nav, Cmd+K command palette, breadcrumbs, org switchingprogressive-disclosure-- Onboarding, empty states, checklists, signup optimizationform-design-- Inline validation, auto-save vs explicit save, error messagesnotification-hierarchy-- Toasts, banners, modals, inline messages, alert fatigueerror-handling-- Validation, 403s, session expiry, offline, conflictsdata-tables-- Pagination, alignment, bulk actions, column defaultspermissions-and-settings-- RBAC, invitations, account vs workspace settingsauthentication-- Magic links, MFA, OTP, session management, GDPRaccessibility-- WCAG 2.2 AA, keyboard nav, focus management, SPA a11ydesign-tokens-- Three-tier tokens, dark mode, CSS custom propertiessaas-responsive-- Breakpoints, table-to-card, touch targets, mobile navusing-saas-principles-- Meta-skill: index of all principle skills
Commands: /saas-design-principles:saas-review -- Review code against all SaaS design principles
Agents: saas-design-reviewer -- Comprehensive audit with severity-rated findings
Examples:
I'm building a form for user onboarding. Review my component against the SaaS design principles.Our notification system is overwhelming users. Help me apply the notification hierarchy principle.Build a data table with pagination and bulk actions following SaaS table best practices.
2. visual-design-principles -- Layout, typography, color, whitespace, accessibility (12 skills, 1 command, 1 agent)
Visual design principles grounded in VisAWI, Gestalt psychology, and empirical aesthetics research.
Skills (12):
layout-spatial-structure-- 12-column grid, 8px spacing, CSS Grid/Flexbox, Gestalt proximity, F/Z-patternstypography-- Modular type scales, font pairing, line height/length, responsive typecolor-theory-application-- HSL model, 60-30-10 rule, shade scales, WCAG contrast, dark modewhitespace-density-- Spacing systems, density spectrum, separation techniques, vertical rhythmvisual-hierarchy-- 3 levers (size/weight/color), 3-tier architecture, CTA designconsistency-design-systems-- Design tokens (primitive/semantic/component), atomic design, governancecraftsmanship-polish-- Pixel alignment, shadows, border-radius, micro-interactions, CLSvisual-interest-expression-- Brand personality, illustrations, motion design, layout varietyresponsive-design-- Mobile-first, breakpoints, fluid grids, container queries, touch targetsaccessibility-inclusive-design-- WCAG 2.2 AA, contrast ratios, keyboard nav, screen readersdesign-evaluation-scoring-- 8-dimension scoring framework, anti-pattern detectionusing-visual-design-principles-- Meta-skill: index with 25 quick-reference rules
Commands: /visual-design-principles:design-review -- Review visual artifacts with 8-dimension scoring (total out of 40)
Agents: visual-design-reviewer -- Per-dimension 1-5 scoring with severity-classified findings
Examples:
Score this landing page against the 8-dimension framework. What's the weakest dimension?Apply the color theory principle to improve the 60-30-10 distribution in my dashboard.Review this component for accessibility. Check contrast ratios and keyboard nav.
3. api-design-principles -- Routes, errors, auth, caching, webhooks, versioning (13 skills, 1 command, 1 agent)
API design principles drawn from Stripe, GitHub, Twilio, Google, OWASP, and industry RFCs.
Skills (13):
routes-and-naming-- Plural nouns, nesting depth, snake_case, query vs path paramshttp-methods-- GET/POST/PUT/PATCH/DELETE semantics, idempotency, CRUD patternsprefixed-ids-- Stripe-style prefixed IDs, ULID/KSUID, validation, prefix registrieserrors-and-status-codes-- HTTP status codes, RFC 9457, error envelopes, per-field validationresponse-design-and-pagination-- Envelopes, cursor pagination, expand/embed, list metadataauth-and-api-keys-- Prefixed API keys, OAuth 2.0, JWT, key rotation, 401 vs 403rate-limiting-and-security-- Sliding window, token bucket, OWASP Top 10, CORSversioning-and-evolution-- URL versioning, additive evolution, sunset headerscaching-and-performance-- Cache-Control, ETags, CDN, compression, circuit breakerswebhooks-and-events-- HMAC-SHA256 signing, retries, event naming, deduplicationdocumentation-and-dx-- Three-panel docs, time-to-first-call, SDKs, contract testingadvanced-patterns-- Bulk/batch, REST vs GraphQL vs gRPC, SSE/WebSocketsusing-api-principles-- Meta-skill: index of all principle skills
Commands: /api-design-principles:api-review -- Review API code against all 12 design principles
Agents: api-design-reviewer -- Comprehensive audit with severity-rated findings
Examples:
Review my error responses. Are they compliant with RFC 9457?Design a REST endpoint for user auth following API key best practices.I need to version my API without breaking clients. Guide me through additive evolution.
4. cloud-foundation-principles -- Multi-account governance, IaC, networking, security (16 skills, 1 command, 1 agent)
Cloud infrastructure principles distilled from production experience across multiple cloud migrations. Cloud-agnostic with provider-specific translation tables.
Skills (16):
multi-account-from-day-one-- Account structure, environment isolation, landing zonesnaming-and-labeling-as-code-- Labels module, naming conventions, cost centers, tag enforcementarchitecture-decision-records-- Numbered ADRs, exemption documentation, immutable historyrepository-and-state-strategy-- Multi-repo, numbered layers, state-per-layer, blast radiusterraform-module-patterns-- Wrapping community modules, smart defaults, version pinningnetwork-architecture-- VPC/VNet design, subnet tiers, API gateways, DNS, private connectivityzero-static-credentials-- SSO for humans, OIDC for CI/CD, session-based instance accesssecurity-monitoring-from-day-one-- Centralized threat detection, compliance scanningsecrets-and-configuration-management-- Credential rotation, config values, secret hierarchymanaged-services-over-self-hosted-- Managed vs self-hosted, container orchestration, databasesservice-owned-infrastructure-- Service-owned Terraform, shared modules, no platform bottleneckcontainer-image-tagging-- Git SHA traceability, registry lifecycle policies, no "latest"tag-based-production-deploys-- Git tag releases, manual approval gates, pipeline stagesunified-cicd-platform-- Platform consolidation, OIDC auth, eliminating multi-provider burdenoperational-hygiene-- Resource cleanup, cost attribution, monitoring, drift detectionusing-cloud-foundation-principles-- Meta-skill: index of all principle skills
Commands: /cloud-foundation-principles:cloud-foundation-review -- Review infrastructure code against all 15 principles
Agents: cloud-foundation-reviewer -- Comprehensive infra audit with severity-rated findings
Examples:
Architect a multi-account AWS setup from day one. How do I structure landing zones?Review my Terraform modules. Do they follow proper guardrails and smart defaults?Guide me through migrating from passwords to OIDC for CI/CD.
5. pedantic-coder -- Naming, casing, symmetry, imports, dead code, language packs (16 skills, 3 commands, 1 agent)
Zero-tolerance code pedantry. The obsessive details that separate clean code from correct code.
Skills (16):
naming-precision-- Every name is a contract; no generic names like "data" or "temp"casing-law-- One convention, zero exceptions; enforce consistency across filesabbreviation-policy-- Spell it out or document it; consistent abbreviation conventionsboolean-naming-- is/has/can/should prefix; always positive; no exceptionsimport-discipline-- Grouped, sorted, separated; one blank line between groupsdeclaration-order-- Constants, types, classes, functions in predictable ordersymmetry-- Parallel things look parallel; create/update/delete have identical structureone-pattern-one-way-- One problem, one pattern enforced everywheremagic-value-elimination-- Every literal has a name; named constants requireddead-code-intolerance-- Delete commented-out code, unused imports, TODO commentsvisual-rhythm-- Blank lines separate ideas; consistent spacing; code is proseguidelines-compliance-- Scans CLAUDE.md files, builds inheritance chain, checks compliancepython-pedantry--str | Nonenot Optional, Pydantic, StrEnum, exception chainingtypescript-pedantry-- strict tsconfig, discriminated unions, Zod schemas, barrel exportsgo-pedantry-- error wrapping with %w, interface design, package naming, golangci-lintusing-pedantic-principles-- Meta-skill: index of all principle skills
Commands:
/pedantic-coder:pedantic-review-- Review current code with severity-rated findings/pedantic-coder:pedantic-audit-- Full repository audit: discovers structure, samples files, finds convention conflicts/pedantic-coder:guidelines-review-- Scan CLAUDE.md files and check code compliance against project rules
Agents: pedantic-reviewer -- Comprehensive pedantry audit with a pedantry score
Examples:
Audit my Python codebase. Are my type hints using modern PEP 695 syntax?Review my TypeScript imports. Grouped, sorted, and following strict ESLint config?Check this Go package for error wrapping consistency.
6. python-package -- Project structure, pyproject.toml, testing, CI/CD, supply chain (13 skills, 2 commands, 1 agent)
Modern Python packaging best practices. Everything from src/ layout to trusted publishing.
Skills (13):
project-structure-- src/ layout, init.py design, _internal/ convention, py.typed markerpyproject-toml-- PEP 621 metadata, build backends, PEP 735 dependency groups, SPDX licensescode-quality-- Ruff as unified tool, mypy strict mode, modern type hints (PEP 695/649)testing-strategy-- pytest strict config, coverage (80-90%), fixtures, async testingci-cd-- GitHub Actions, trusted publishing (OIDC), test matrix, SLSA/Sigstoredocumentation-- MkDocs Material, Diataxis framework, mkdocstrings, Google-style docstringsversioning-releases-- SemVer, PEP 440, Keep a Changelog, Towncrier, deprecation strategyapi-design-- all, progressive disclosure, exception hierarchy, async/sync dual APIpackaging-distribution-- Wheels, platform tags, maturin, cibuildwheel, package sizesecurity-supply-chain-- Trusted publishing, Sigstore/PEP 740, pip-audit, OpenSSF Scorecarddeveloper-experience-- One-command setup, CONTRIBUTING.md, Makefile/justfile, issue templatesusing-python-package-principles-- Meta-skill: index of all principle skills
Commands:
/python-package:package-review-- Targeted review of current code against python-package principles/python-package:package-audit [path]-- Full repository audit with migration path recommendations
Agents: package-reviewer -- Autonomous package auditor for release readiness checks
Examples:
Review my Python package structure. Is it using src/ layout with proper __init__.py?Check my pyproject.toml against PEP 621 and PEP 735 standards.Audit my package for release readiness. Versioning, changelog, deprecation strategy?
7. deep-research -- Parallel web research, source verification, synthesis (5 skills, 1 command, 3 agents)
Structured deep research methodology. Three-stage pipeline: research-workers (Sonnet) produce findings with Verifiable Claims Tables, research-verifiers (Sonnet) independently fact-check, research-synthesizer (Opus) merges with corrections and Confidence Assessment.
Skills (5):
research-methodology-- Query decomposition, effort scaling, dynamic replanning, stopping criteriasource-evaluation-- Source credibility tiers (T1-T6), multi-provider search, SEO spam detectionhallucination-prevention-- 7-type taxonomy, citation verification, circuit breaker patternssynthesis-and-reporting-- Deduplication, conflict resolution, thematic analysis, citation managementusing-deep-research-- Meta-skill: index of all research skills
Commands: /deep-research:research <topic> -- Orchestrated session with parallel workers, verification, and synthesis
Agents:
research-worker-- Parallel web research with source credibility evaluationresearch-verifier-- Independent fact-checking against actual source contentresearch-synthesizer-- Merges findings with corrections and confidence scoring
Examples:
/deep-research:research "What are the latest advances in production LLM agents?"Research the impact of supply chain attacks on open source packages in 2025./deep-research:research "Best practices for multi-agent system architecture"
8. structured-brainstorming -- 8 thinking methods with parallel subagent exploration (1 skill, 1 command, 1 agent)
Structured thinking methods that counteract LLM reasoning biases: first principles, inversion, constraint manipulation, perspective forcing, analogy search, MECE decomposition, assumption surfacing, and diverge-then-converge.
Skills (1):
structured-brainstorming-- Core methods and subagent dispatch for all 8 thinking methods
Commands: /structured-brainstorming:brainstorm "Problem statement" -- Interactive brainstorming with parallel exploration
Agents: brainstorm-explorer -- Applies different methods to the same problem in parallel
Examples:
/structured-brainstorming:brainstorm "How should we design the auth system for our SaaS product?"I'm stuck on reducing latency. Help me explore this from multiple angles./structured-brainstorming:brainstorm "Best architecture for a real-time collaboration tool?"
9. retell -- Transform conversations into blog posts, 5-stage pipeline (2 skills, 1 command, 2 agents)
Transform Claude Code conversation transcripts into polished, first-person blog posts through an interactive 5-stage pipeline (parse, triage, outline, draft, polish) with human editorial gates at every stage.
Skills (2):
conversation-format-- JSONL schema, entry types, signal classification, subagent linkingnarrative-craft-- Story arc detection, beat classification, quote handling, first-person voice rules
Commands: /retell:retell [uuid] -- Without UUID shows recent conversations; with UUID runs all 5 stages
Agents:
triage-analyst-- Assesses blog-worthiness, proposes 3-5 story angles with recommendationoutline-architect-- Structures post into sections with beat treatments and word count estimates
Examples:
/retell:retell-- Browse recent conversations and pick one to turn into a post/retell:retell 8c439a20-- Transform a specific conversation into a blog postUse retell to turn my architecture session into a technical blog post.
10. markdown-compressor -- Compress agent instructions with zero information loss (1 skill, 2 commands, 2 agents)
Compress LLM agent instructions and code documentation through iterative section-by-section compression with a compressor-reviewer adversarial loop.
Skills (1):
markdown-compression-- Core compression principles for both lossless and lossy modes
Commands:
/markdown-compressor:compress path/to/file.md-- Lossy compression with per-section review/markdown-compressor:compress path/to/file.md --lossless-- Structure-only compression/markdown-compressor:compress path/to/file.md --auto-- Hands-off lossy compression
Agents:
section-compressor-- Applies aggressive compression to one sectioncompression-reviewer-- Adversarial review for information loss (runs even in auto mode)
Examples:
/markdown-compressor:compress ./CLAUDE.md-- Compress project guidelines while preserving critical rules/markdown-compressor:compress ./architecture.md --lossless --auto-- Structural optimization only, no review stopsCompress my LLM agent instructions for minimal token usage.
11. stress-test -- Adversarial plan review with red-team/blue-team agents (1 skill, 1 command, 2 agents)
Adversarial plan review using two independent agents: a red team generates what-if questions targeting gaps and unverified assumptions, then a blue team answers each with a grounded verdict. Configurable tool scope lets the blue team verify against local artifacts, web research, or live systems.
Skills (1):
stress-test-methodology-- When/how to use adversarial plan review, verdict system, tool scope guidance
Commands: /stress-test:stress-test <plan-file> -- Orchestrates red-team/blue-team flow with QA report
Agents:
red-team-- Generates adversarial what-if questions grounded in plan artifacts (local-only)blue-team-- Answers what-ifs with verdicts (ANSWERED, PARTIALLY ADDRESSED, NOT COVERED, UNCERTAIN)
Examples:
/stress-test:stress-test ./docs/implementation-plan.md-- Stress-test a code implementation plan/stress-test:stress-test ./strategy/go-to-market.md-- Challenge a business plan against supporting docsIs my plan sound? Run a stress test on it.
12. planning-tools -- Author, audit, and track multi-phase master plans, plus Claude Code plan-mode cleanup (4 skills, 7 commands, 3 agents)
Two complementary workflows. Master-plan authoring: long, multi-phase planning documents that live in your project and decompose work into actionable phases -- drafted by parallel context workers plus a synthesizing architect, audited against a verification checklist, then ticked and tracked as work lands. Integer-only phases, no sizing, one PR per plan, list-shape phases (never tables), a plan-level TL;DR plus bulleted context block, and Open Questions at the top. Plan-mode cleanup: each session reuses one slug in ~/.claude/plans/"slug" field in the session transcript -- never file mtime (breaks with parallel sessions).
Skills (4):
master-plan-methodology-- Universal core sections, integer-only phases, list-shape mandate, per-phase and plan-level TL;DRs, evidence attributionplan-verification-checklist-- The audit dimensions, severity guide, and PASS/FAIL verdict rulesprogress-methodology-- Dense-paragraph progress entries, SHA-based idempotency, markdown / Linear / GitHub adaptersusing-planning-tools-- Meta-skill: index of commands, the master-plan lifecycle, plan-mode file storage
Commands:
/planning-tools:plan-context-- Pre-load context: Triage proposes domains, you confirm, workers explore in parallel/planning-tools:plan-master-- Draft a multi-phase master plan (optional ticket fetch)/planning-tools:plan-open-questions-- Walk a plan's Open Questions one at a time, each with its cited evidence/planning-tools:plan-verify-- Audit a plan against the verification checklist/planning-tools:plan-tick-- Auto-tick provenly-achieved phases from the current branch/planning-tools:plan-progress-- Synthesize a per-branch progress entry with SHA-based idempotency/planning-tools:plan-delete-- Clear the current session's plan file
Agents (3): plan-context-worker (parallel domain discovery), plan-master-architect (synthesis), plan-verifier (audit)
Examples:
/planning-tools:plan-master CI-21-- Draft a multi-phase plan from a ticket/planning-tools:plan-verify context/tickets/CI-21-PLAN.md-- Audit it before committing to it/planning-tools:plan-delete-- Reset the current session's plan file before drafting a new plan
13. agent-baton -- Chain work across two agent processes that share no session (1 skill, 2 commands, 0 agents)
Agent A finishes its work and passes a baton -- a completion signal file, optionally carrying a payload. Agent B, in another terminal or another tool entirely, waits for that baton, then starts the work that depended on it. The protocol is harness-agnostic: each agent picks its own waiting mechanism, so one side can be Claude Code and the other Codex or Gemini.
Use it only when there is no shared parent. If both agents live in one session, the harness already chains them and a baton is strictly worse. The uncovered case is two independent processes with no channel between them.
The baton tells you when. It never tells you what. The waiting agent already knows its task -- the human gave it. An optional payload lets A hand B the branch it pushed, the SHA, or why it failed; that payload is content, not instructions, and informs how B works rather than what B does. Two threats drive the design: forgery (batons live in world-writable /tmp, so the 0700 directory is verified owned-by-you) and laundering (a legitimate agent echoing hostile content it read elsewhere -- which no permission fixes, only the content-not-instructions rule).
Skills (1):
agent-baton-- The full protocol: signal format, optional payload, payload-first publish ordering, derived-not-followed paths, atomic claim, unique-id-per-run, mandatory deadlines, and the failure modes each rule buys off
Commands: /agent-baton:baton-pass <id> [done|failed] [payload] -- publish a completion signal. /agent-baton:baton-wait <id> [timeout] [interval] -- block until a baton with that id appears, then start the dependent task.
Examples:
/agent-baton:baton-pass ship-2026-07-15 done-- Signal that this agent's 15 tasks are finished/agent-baton:baton-wait ship-2026-07-15 2h 5m-- Wait in another terminal, then run the dependent taskWhen you're done, pass the baton 'migrate-db-run-3' with the branch you pushed in the payload.
About
Built by Dr. Oliver Borchers. AI engineering lead, former startup CTO, open-source contributor (fse). I got tired of giving the same design reviews and architecture feedback across projects, so I turned them into Claude Code skills that kick in automatically.
Contributing
Plugins live directly in this repository. Each one is a self-contained directory with a .claude-plugin/plugin.json manifest. To add a new plugin, create the directory, add skills with review checklists and examples, wire up the session hook, and register it in .claude-plugin/marketplace.json.
Disclaimer
These plugins are provided as-is, without warranty of any kind. The authors are not responsible for any hallucinations, misinformation, inaccuracies, or errors produced by AI tools using these plugins. All output, including research findings, code suggestions, design recommendations, and any other generated content, should be independently verified before use. Use at your own risk.
License
MIT -- see LICENSE.