skills/bp-iterate/SKILL.md
# /bp-iterate Iterate the Fitted Business Plan(s). Manages the **internal canonical** and the **external partner/investor variant**, snapshot-on-version-bump lineage, redaction enforcement between variants, and cross-document coupling. ## When this runs - User says `/bp-iterate`, "iterate the BP," "bump the BP," "update the business plan," "version up the BP," "create / update / refresh the external variant" - A material trigger fires per the BP's own Iteration Log (first 2 new closes / fundi
npx skillsauth add rdfitted/claude-code-setup skills/bp-iterateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Iterate the Fitted Business Plan(s). Manages the internal canonical and the external partner/investor variant, snapshot-on-version-bump lineage, redaction enforcement between variants, and cross-document coupling.
/bp-iterate, "iterate the BP," "bump the BP," "update the business plan," "version up the BP," "create / update / refresh the external variant"| Variant | Current canonical | Snapshot pattern |
|---|---|---|
| Internal (full sensitive material, founder-primary) | D:\Document Writing\Business Plans\fitted-business-plan-internal.md | D:\Document Writing\Business Plans\fitted-business-plan-internal-v0.X.md |
| External (partners / investors — highest redaction tier) | D:\Document Writing\Business Plans\fitted-business-plan-external.md | D:\Document Writing\Business Plans\fitted-business-plan-external-v0.X.md |
Coupled documents (re-check on every material iteration):
~/.claude/strategy/fitted-expansion.md — strategy / relationship-index layer~/.ai-docs/wiki/practices/offer-architecture.md — locked SKU taxonomy~/.ai-docs/wiki/partners/tom-tinervin.md — Bridge C1 / EGI thread state~/.claude/strategy/atlanta-ga-construction-icp.md — GA market research dossierCore rule: versions track content state. Variants share version numbers.
A version (e.g., "v0.2") is a specific content state of the Business Plan. At any given version, multiple variants can exist — internal (full sensitive material), external (Tier B redacted), and future audience-specific tiers if added. All variants at the same version reflect the same underlying content; they differ only in what's redacted.
v0.2 ──┬── fitted-business-plan-internal-v0.2.md (full sensitive)
└── fitted-business-plan-external-v0.2.md (Tier B redacted)
v0.3 ──┬── fitted-business-plan-internal-v0.3.md (when content changes)
└── fitted-business-plan-external-v0.3.md (only if material for external; external can stay at v0.2 otherwise)
When external lags internal: if a v0.3 internal change is internal-only (e.g., a sensitive INTERNAL ONLY note, founder-discretion content), external stays at v0.2 — that's fine and expected. External will catch up at the next version where material changes propagate.
Administrative changes do NOT bump versions. File renames, structural reshuffles, skill codification, frontmatter housekeeping, link fixups — these fold into the current version in place. Only substantive content changes warrant a version bump.
Determine: is this an administrative pass or a content change?
For content changes — snapshot the current canonical(s) BEFORE editing. cp <current>.md <current>-v0.X.md for every variant being touched. The snapshot is the frozen historical record of the outgoing version; the canonical will move to the new version.
Edit canonical in place. Bump version frontmatter to next number. Edit content sections per the interview output.
Update the in-file Iteration Log with: date, version, change narrative (1–3 sentences), trigger.
Propagate to sibling variants if material. If internal changes affect external:
If NOT material for external, leave external at its current version unchanged. Don't fake-bump it just to keep numbers aligned. Version pairing is preferred when both files reflect the same content state; version skew is acceptable when external doesn't need to move.
Update coupled docs if warranted. Strategy doc, wiki pages.
Print a 5-bullet conversation summary of what changed and why.
Apply ALL of these when generating or updating the external variant.
| Internal name | External rendering | |---|---| | TOG / The Organic Gardener NYC | "a ~$3.5M NYC commercial design-build operator (rooftop landscape vertical)" | | UBS / Ultra Building Solutions | "a ~$8–9M-run-rate residential general contractor in the Southwest, expanding into commercial" | | GVB / GVB BioPharma | "a multi-region cannabinoid / specialty manufacturer (US / UK / NL operations)" | | Scatter Ashes Maui | DROP — no longer a client | | TOTUM | "an early-stage veteran-healthcare venture (partnership / equity arrangement, not paid retainer)" | | Nuveldy's / George Vallone | "a recent ~$4M-revenue prospect conversation" (drop names; preserve the $30K/mo data point) | | Front Row / Summit RB / Gerardo / Aaron Warshaw | "active SMB-construction-adjacent prospects" | | EGI / Edge Global Indonesia / Tom Jensen | "an international reforestation / carbon-credit platform (active partnership discussion)" | | Foreman (Sam's bot at UBS) | "the original Main-Brain reference deployment at a residential GC client" |
| Internal name | External rendering | |---|---| | Tom Tinervin | "the anchor-client principal / strategic advisor at [generalized client identifier]" | | Billy Roman | "Vektor Growth, LLC (channel partnership)" — refer to company, drop the personal name unless context absolutely requires | | Neal Polshuk | "Cloud Capital Funding (capital advisor / AR factoring partner)" | | Ankush | "Boca Raton-based development partnership (offshore India team)" | | 04Systems / Minana / Joris | "04Systems (international implementation partner — engagement structure under discussion)" | | Zion Duffy | "a Fitted apprentice in active training" | | Sam Lamphere | "principal at [generalized Southwest residential GC client]" | | Ken Haines / Wrench Group | "the largest GA HVAC roll-up consolidator" | | Bidblox / Lisa Mohapatra / Katrina Sitkovits | "an AI bid-management SaaS in active channel-partnership discussion" | | Andreas / Adnan / Skipper / IHC / EHC / UHC | "Middle East / sovereign-security partners in the international reforestation ecosystem" |
Keep named externally: Ryan Duffy (founder), Vektor Growth LLC (company only), Cloud Capital Funding (company only), Fitted Automation LLC. Company names of public infrastructure providers (Anthropic, OpenAI, Google, Orgo, Hermes, AgentMail) are fine.
| Internal data point | External rendering | |---|---| | Exact ARR | Rounded ("~$220K ARR" or "$200K+ ARR") | | Exact net income | Margin band ("~70% net margin") | | Exact cash position | DROP entirely | | CC carry / interest detail | DROP entirely | | Owner draws cumulative | DROP entirely | | Owner-comp structure (W-2 vs draws) | DROP entirely | | Balance sheet specifics | DROP entirely; preserve "no long-term debt" framing if true | | A/R aging detail | DROP entirely | | 2027 ARR target | KEEP as range ("$500–800K") | | Capital ask | KEEP as range ("$200–350K") | | Pricing tier | KEEP ("$7–10K/engineer-month standard; premium tier $10–15K for accelerated delivery") | | Use-of-proceeds line items | KEEP categories ("FTE hiring bridge," "Curriculum development," "Atlanta footprint," "Local-compute capex," "Working capital reserve"), GENERALIZE exact dollars to share-of-total percentages or rounded | | Nuveldy's $30K provenance | "Recent prospect conversation validated $30K+/mo willingness at the $4M-revenue tier — directional signal pending second confirmation" |
| Internal section | External treatment | |---|---| | "INTERNAL ONLY" inline blocks anywhere | DROP entirely | | Section 3.1 Owner draws / W-2 structure | DROP entirely | | Section 4.4 Moat — "Main Brain is a pattern, not IP" + "Compound Engineering is open pattern" | SOFTEN — "Fitted's moat thesis centers on institutional capability built via training pipeline, not product-level IP. Methodology is built on open patterns (Compound Engineering, MCP, agentic engineering) integrated into a battle-tested operating system." | | Section 6.6 "Negotiate from strength" — full PE-roll-up references including Wrench Group / Ken Haines | KEEP the canonical opener framing; generalize the named consolidators to "active PE consolidators in the vertical" | | Section 7.3 Bridge C1 — TOG-specific mechanics, C1 vs C2 negotiating posture | GENERALIZE to "anchor-client license-and-integration carve-out in active discussion (sized $1–2M one-time + per-acquisition integration fees)" — drop TOG name, drop C1 vs C2 framing | | Risk #8 "intentionally blank" placeholder | DROP entirely — no visible slot, no parenthetical, nothing | | Appendix A — Redaction Map | DROP entirely (it's meta about variant-generation, not for partner audience) | | Appendix B — Risk-8 placeholder | DROP entirely |
Examples:
| Internal phrasing | External phrasing | |---|---| | "Today's moat is Ryan personally." | "Fitted's current capability is founder-centric. The Business Plan codifies the conversion to institutional capability via training pipeline." | | "Main Brain is a pattern, not defensible IP." | "Main Brain is Fitted's productized integration layer — built on open patterns, hardened across multiple client engagements, voice-first by design." | | "Ryan is undercompensating himself at $40K W-2." | DROP — not appropriate for external | | "The unstated risk (h) intentionally blank." | DROP — not visible externally | | "If TOG goes sideways, 30% of revenue gone in 30 days." | "Three-way client concentration today; primary near-term focus is diversification velocity through the channel partnership and Atlanta market entry." |
Version bumps fire on any of these:
Each version bump:
Every invocation runs an interview proportional to the size of the change. Detect the tier first, then run only that tier's interview — don't over-interview on small updates, don't under-interview on big ones.
Ask the user one open question: "What changed?" Take the answer and route:
User override escape hatches:
/bp-iterate quick or --quick flag → force Tier 1 (skip interview, just ask "what + where + log narrative")/bp-iterate full or --full flag → force Tier 3 (full multi-dimension grill)Gather this information through natural conversation — 2–3 questions per turn, processing answers as you go. Don't fire all eight at once.
fitted-expansion.md), wiki partner thread, wiki offer-architecture, Atlanta dossier — any that the trigger affects.For structural shifts, re-grill against the dimensions that materially changed. Use the original Q1–Q6 grill structure from the BP-creation conversation (audience & ask / money truth / moat / team & build / use of proceeds / risk register) — but only the dimensions affected.
Standard dimensions to consider:
For each affected dimension, run the corresponding question set. Process conversationally over multiple turns.
Closing for Tier 3: in addition to the iteration-log narrative, ask: "Does this version warrant a snapshot-and-rename of the external doc to a fresh major version (e.g., external v0.X → v1.0)?" — Tier 3 changes often justify external-variant major-version bumps if the business shape has shifted.
Once the interview has gathered enough information, proceed to the Workflow steps below. Don't skip — every tier still snapshots, edits canonical, propagates if material, and updates the iteration log.
Per the section above. Detect tier, ask proportional questions, gather facts. Use the AskUserQuestion tool for binary/multiple-choice questions (e.g., "Material for external? Y/N"); ask conversationally for open-text.
Common trigger patterns (used for tier detection):
cp <current canonical>.md <current canonical>-v0.X.md for every file being touched.
Use Edit tool. Bump version frontmatter. Update content sections per the trigger. Update Iteration Log with new row.
If editing internal AND change affects external: apply Redaction Rules above, edit external in place, bump external version, update external's Iteration Log.
For each coupled doc, decide: does this iteration warrant updating it?
fitted-expansion.md — update if relationship table or growth plan changedoffer-architecture.md — update if SKU taxonomy / pricing / moat language changedpartners/tom-tinervin.md — update if Bridge C1 / EGI thread state changedatlanta-ga-construction-icp.md — update if new GA market intel arrived (rare)Print a 5-bullet conversation summary:
If fitted-business-plan-external.md doesn't exist, this is the first run. Steps:
fitted-business-plan-internal.md to -internal-v0.X.mdfitted-business-plan-external.md by carving the internal doc through the Redaction Rulesfitted-expansion.md cross-references to point at both~/.claude/strategy/fitted-expansion.md~/.ai-docs/wiki/practices/offer-architecture.md~/.ai-docs/wiki/partners/tom-tinervin.md, ~/.ai-docs/wiki/partners/04systems.md~/.ai-docs/wiki/practices/icp.md~/.ai-docs/wiki/practices/productization-narrative.md~/.claude/strategy/atlanta-ga-construction-icp.mdquick / full); workflow Step 1 now invokes the interview before any editD:\Document Writing\Business Plans\ rather than the parent D:\Document Writing\. Obsolete "Initial rename" stub removed. Admin pass — no BP version bump (the BP content didn't change, only its filesystem location).development
Restore from the Kopia backup repo in one of two opinionated modes. **wikis** (frequent, default) syncs per-project `.ai-docs/` directories from backup to local project trees — used to move compound-knowledge wikis between machines via the backup drive as sneakernet. **full** (rare) restores all sources to original paths for greenfield machine rebuild. Use when the user says "restore wikis", "sync wikis from backup", "pull the wikis", "I plugged in the backup drive on this machine", "rebuild this machine", "greenfield restore", or "restore everything". For ad-hoc single-file restores, use `backup-ops restore` instead.
tools
Run Kopia-based backups of key Windows files and config to an external drive. Use when the user says "back up", "run a backup", "snapshot", "the backup drive is plugged in", or wants to set up / configure backups for the first time. Handles initial repo setup, drive detection by volume label, source enumeration, and snapshot creation with structured exclusions.
testing
Secondary backup operations against the Kopia repo — verify integrity, run maintenance/prune, mirror to a second destination, restore files/folders, or run a quick top-up snapshot of hot directories. Use when the user says "verify backups", "check backup integrity", "prune old snapshots", "restore from backup", "mirror backups to cloud", "quick backup", "top up the backup", or asks about backup health. For the primary backup run, use the `backup` skill instead.
development
Session-start ritual that establishes a learning heartbeat. Detects Tier 1 (code project with .ai-docs/) vs Tier 2 (home directory / institutional mode), loads minimal context, then schedules a recurring CronCreate heartbeat that periodically captures learnings to the appropriate target — project-level learnings.jsonl OR the global wiki at ~/.ai-docs/wiki/. Invoked automatically at session start (after the wiki/project-dna read in ~/CLAUDE.md) or manually via /start.