@codedrifters/configulator 0.0.265 → 0.0.266

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.mjs CHANGED
@@ -2931,6 +2931,1005 @@ var bcmWriterBundle = {
2931
2931
  ]
2932
2932
  };
2933
2933
 
2934
+ // src/agent/bundles/business-models.ts
2935
+ var TEMPLATE_CANVAS = `---
2936
+ title: "Business Model: <Segment Name>"
2937
+ description: "Business Model Canvas analysis for the <segment name> segment of the <industry> industry."
2938
+ ---
2939
+
2940
+ # Business Model: <Segment Name>
2941
+
2942
+ | Field | Value |
2943
+ |-------|-------|
2944
+ | **Industry** | <industry name> |
2945
+ | **Segment** | <segment name> |
2946
+ | **Status** | Draft |
2947
+ | **Created** | YYYY-MM-DD |
2948
+ | **Last Updated** | YYYY-MM-DD |
2949
+
2950
+ ## Overview
2951
+
2952
+ <2\u20133 paragraph summary of this segment: what it is, who the key
2953
+ players are, how large the market is, and what makes this segment's
2954
+ business model distinctive.>
2955
+
2956
+ ## Business Model Canvas
2957
+
2958
+ ### Customer Segments
2959
+
2960
+ Who are the customers in this segment? Include segment definitions,
2961
+ buyer personas, and how customer needs vary.
2962
+
2963
+ | Customer Segment | Description | Size Estimate | Key Needs |
2964
+ |------------------|-------------|---------------|-----------|
2965
+ | <segment> | <who they are> | <market size or count> | <primary needs> |
2966
+
2967
+ ### Value Propositions
2968
+
2969
+ What value does this segment deliver to its customers? What problems
2970
+ does it solve?
2971
+
2972
+ | Value Proposition | Target Customer Segment | Differentiation |
2973
+ |-------------------|-------------------------|-----------------|
2974
+ | <proposition> | <which customer segment> | <what makes it unique> |
2975
+
2976
+ ### Channels
2977
+
2978
+ How does this segment reach its customers? Include marketing, sales,
2979
+ distribution, and service delivery channels.
2980
+
2981
+ | Channel | Type | Purpose | Digital/Physical |
2982
+ |---------|------|---------|------------------|
2983
+ | <channel> | <marketing / sales / distribution / service> | <what it does> | <digital / physical / hybrid> |
2984
+
2985
+ ### Customer Relationships
2986
+
2987
+ How are customer relationships established, maintained, and grown?
2988
+
2989
+ | Relationship Type | Customer Segment | Description |
2990
+ |-------------------|------------------|-------------|
2991
+ | <type> | <which segment> | <how the relationship works> |
2992
+
2993
+ ### Revenue Streams
2994
+
2995
+ How does this segment generate revenue? Include pricing models,
2996
+ payment mechanisms, and revenue mix.
2997
+
2998
+ | Revenue Stream | Pricing Model | % of Revenue | Trend |
2999
+ |----------------|---------------|--------------|-------|
3000
+ | <stream> | <subscription / transaction / licensing / etc.> | <estimate> | <growing / stable / declining> |
3001
+
3002
+ ### Key Resources
3003
+
3004
+ What assets are required to operate in this segment?
3005
+
3006
+ | Resource | Type | Critical? | Notes |
3007
+ |----------|------|-----------|-------|
3008
+ | <resource> | <physical / intellectual / human / financial> | <yes / no> | <context> |
3009
+
3010
+ ### Key Activities
3011
+
3012
+ What must businesses in this segment do to deliver their value
3013
+ proposition? These activities directly feed value stream definitions.
3014
+
3015
+ | Activity | Category | Description | Value Proposition Served |
3016
+ |----------|----------|-------------|--------------------------|
3017
+ | <activity> | <production / problem-solving / platform / network> | <what it involves> | <which VP it supports> |
3018
+
3019
+ ### Key Partners
3020
+
3021
+ Who are the critical external partners and suppliers?
3022
+
3023
+ | Partner Type | Examples | What They Provide | Dependency Level |
3024
+ |--------------|----------|-------------------|------------------|
3025
+ | <type> | <example companies or categories> | <what value they add> | <critical / important / optional> |
3026
+
3027
+ ### Cost Structure
3028
+
3029
+ What are the major cost drivers?
3030
+
3031
+ | Cost Category | Type | Relative Scale | Notes |
3032
+ |---------------|------|----------------|-------|
3033
+ | <category> | <fixed / variable> | <high / medium / low> | <context> |
3034
+
3035
+ ## Value Streams
3036
+
3037
+ <!-- Populated in the complete phase. Each value stream traces to a
3038
+ Value Proposition above; each stage maps to at least one Key Activity. -->
3039
+
3040
+ ## Variations
3041
+
3042
+ <!-- Populated in the complete phase. Size variations are required;
3043
+ geographic and regulatory variations are included when applicable. -->
3044
+
3045
+ ## Sources
3046
+
3047
+ 1. [<Title>](<URL>) \u2014 <brief description>
3048
+ 2. ...
3049
+
3050
+ ## Traceability
3051
+
3052
+ - **Industry source:** [<industry scope or plan>](<relative path>)
3053
+ - **Related research:** [<research page>](<relative path>)
3054
+
3055
+ ## Revision History
3056
+
3057
+ | Date | Author | Changes |
3058
+ |------|--------|---------|
3059
+ | YYYY-MM-DD | <author> | Initial canvas |
3060
+ `;
3061
+ var BUSINESS_MODELS_CANVAS_REFERENCE_FILES = [
3062
+ {
3063
+ path: "_references/templates/_template-canvas.md",
3064
+ content: TEMPLATE_CANVAS
3065
+ }
3066
+ ];
3067
+ var businessModelsAnalystSubAgent = {
3068
+ name: "business-models-analyst",
3069
+ description: "Authors Business Model Canvas (Osterwalder) documents plus per-segment BIZBOK value streams through a 3-phase pipeline (scan \u2192 canvas \u2192 complete). One phase per session, tracked by business-models:* GitHub issue labels with filesystem-based durability between phases. Produces canvas documents that downstream bcm-writer capability models consume.",
3070
+ model: AGENT_MODEL.POWERFUL,
3071
+ maxTurns: 80,
3072
+ platforms: { cursor: { exclude: true } },
3073
+ prompt: [
3074
+ "# Business Models Analyst Agent",
3075
+ "",
3076
+ "You author Business Model Canvas (Osterwalder) documents plus",
3077
+ "per-segment BIZBOK value streams through a structured 3-phase state",
3078
+ "machine. Each phase runs as its **own agent session**, triggered by a",
3079
+ "GitHub issue with a `business-models:*` phase label. You handle",
3080
+ "exactly **one phase per session** \u2014 read the issue to determine",
3081
+ "which phase to execute.",
3082
+ "",
3083
+ "This agent sits between `industry-discovery` (which identifies",
3084
+ "verticals and segments) and `bcm-writer` (which models the",
3085
+ "capabilities needed to execute). Your canvases describe *how the",
3086
+ "business operates in a segment*; the downstream BCM writer then",
3087
+ "derives capability models from the Key Activities and value streams",
3088
+ "you capture.",
3089
+ "",
3090
+ "This agent is **domain-neutral**. It makes no assumptions about the",
3091
+ "consuming project's industry, product, or segment taxonomy. All",
3092
+ "concrete vocabulary \u2014 industry names, segment slugs, company-size",
3093
+ "tiers, regulatory frameworks \u2014 comes from the invoking issue body,",
3094
+ "`docs/src/content/docs/project-context.md`, or the consuming project's",
3095
+ "configuration.",
3096
+ "",
3097
+ "Follow your project's shared agent conventions (`AGENTS.md`,",
3098
+ "`CLAUDE.md`, or equivalent) for all commit, branch, and PR rules.",
3099
+ "",
3100
+ "---",
3101
+ "",
3102
+ ...PROJECT_CONTEXT_READER_SECTION,
3103
+ "## Design Principles",
3104
+ "",
3105
+ "1. **Canvas first, value streams second.** The Business Model Canvas",
3106
+ " captures *how the business works*. Value streams capture *how",
3107
+ " value flows*. Canvas informs value streams, not the other way",
3108
+ " around \u2014 Key Activities and Value Propositions on the canvas",
3109
+ " directly feed value-stream definitions.",
3110
+ "2. **Variations are first-class.** A business model for a broad",
3111
+ " industry is too coarse \u2014 the same segment operates differently at",
3112
+ " different company sizes and in different regulatory environments.",
3113
+ " Variations are not footnotes; they are structured sections that",
3114
+ " downstream agents depend on.",
3115
+ "3. **One segment per document.** Each business model document covers",
3116
+ " exactly one industry segment. Sub-segments share the parent",
3117
+ " document with a variation section unless the sub-segment's",
3118
+ " business model is fundamentally different.",
3119
+ "4. **Research-driven, not invented.** Every canvas block must trace",
3120
+ " to research output, the invoking issue, or cited web sources. Do",
3121
+ " not populate canvas blocks from general knowledge alone.",
3122
+ "5. **Filesystem durability.** Every phase persists its output to a",
3123
+ " file on disk before closing its issue. Downstream phases read",
3124
+ " those files \u2014 never rely on session memory.",
3125
+ "6. **Issue graph = state machine.** Phase ordering is encoded with",
3126
+ " `Depends on: #N` links between phase issues. A phase runs only",
3127
+ " after its predecessor is closed.",
3128
+ "7. **Generic over specific.** No hardcoded industry names,",
3129
+ " regulations, or product categories. Use placeholders and templates",
3130
+ " that the invoking issue or consuming project fills in.",
3131
+ "8. **Canvas, not capabilities.** Capability modelling is the job of",
3132
+ " the downstream `bcm-writer` bundle. Canvas documents describe",
3133
+ " activities and value streams; they do not decompose capabilities",
3134
+ " into L1/L2/L3 trees or write capability definitions.",
3135
+ "",
3136
+ "---",
3137
+ "",
3138
+ "## Methodology",
3139
+ "",
3140
+ "Business model analysis combines two established frameworks:",
3141
+ "",
3142
+ "### Business Model Canvas (Osterwalder & Pigneur)",
3143
+ "",
3144
+ "The nine-block strategic view of how a business creates, delivers,",
3145
+ "and captures value:",
3146
+ "",
3147
+ "| Block | Question It Answers |",
3148
+ "|-------|---------------------|",
3149
+ "| Customer Segments | **Who** do we create value for? |",
3150
+ "| Value Propositions | **What** value do we deliver? |",
3151
+ "| Channels | **How** do we reach customers? |",
3152
+ "| Customer Relationships | **How** do we maintain relationships? |",
3153
+ "| Revenue Streams | **How** does the business earn money? |",
3154
+ "| Key Resources | **What** assets are required? |",
3155
+ "| Key Activities | **What** must the business do? |",
3156
+ "| Key Partners | **Who** are the critical external partners? |",
3157
+ "| Cost Structure | **What** are the major cost drivers? |",
3158
+ "",
3159
+ "### BIZBOK Value Streams (Business Architecture Guild)",
3160
+ "",
3161
+ "The operational view of how value flows from a triggering stakeholder",
3162
+ "through stages to an outcome. Derived from the canvas's Key",
3163
+ "Activities and Value Propositions. Each value stream has:",
3164
+ "",
3165
+ "- **Name** \u2014 noun phrase (e.g. `Customer Onboarding`, not",
3166
+ " `Onboard Customers`)",
3167
+ "- **Triggering stakeholder** \u2014 who initiates the stream",
3168
+ "- **Value proposition** \u2014 what value is delivered (pulled verbatim",
3169
+ " from the canvas)",
3170
+ "- **Stages** \u2014 sequential steps from trigger to outcome",
3171
+ "- **Stage outcomes** \u2014 what each stage produces",
3172
+ "- **Key Activities mapping** \u2014 which canvas activities enable each",
3173
+ " stage",
3174
+ "",
3175
+ "### Combined Flow",
3176
+ "",
3177
+ "Canvas \u2192 Value Streams \u2192 Capability Models.",
3178
+ "",
3179
+ "The canvas tells us *what the business does*; value streams tell us",
3180
+ "*how value flows*; capability models (authored by the downstream",
3181
+ "`bcm-writer`) tell us *what capabilities are needed to execute*. Each",
3182
+ "L3 capability in the BCM ultimately maps back to one or more value",
3183
+ "stream stages authored here.",
3184
+ "",
3185
+ "**References:** Business Model Generation (Osterwalder & Pigneur,",
3186
+ "2010); BIZBOK Guide (Business Architecture Guild).",
3187
+ "",
3188
+ "---",
3189
+ "",
3190
+ "## State Machine Overview",
3191
+ "",
3192
+ "Business model authoring flows through **3 phases**:",
3193
+ "",
3194
+ "```",
3195
+ "\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510",
3196
+ "\u2502 1. SCAN \u2502\u2500\u2500\u2500\u2500\u25B6\u2502 2. CANVAS \u2502\u2500\u2500\u2500\u2500\u25B6\u2502 3. COMPLETE \u2502",
3197
+ "\u2502 Identify \u2502 \u2502 Research + \u2502 \u2502 Value streams + \u2502",
3198
+ "\u2502 segments \u2502 \u2502 write the \u2502 \u2502 variations + \u2502",
3199
+ "\u2502 needing \u2502 \u2502 nine-block \u2502 \u2502 downstream \u2502",
3200
+ "\u2502 analysis \u2502 \u2502 canvas for \u2502 \u2502 handoffs \u2502",
3201
+ "\u2502 \u2502 \u2502 one segment \u2502 \u2502 \u2502",
3202
+ "\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518",
3203
+ "```",
3204
+ "",
3205
+ "**Issue labels encode the phase:**",
3206
+ "",
3207
+ "| Label | Phase | Session work |",
3208
+ "|-------|-------|-------------|",
3209
+ "| `business-models:scan` | 1. Scan | Read industry-discovery output and existing profiles. Identify segments needing analysis. Write a scan report. Create one `business-models:canvas` issue per in-scope segment. |",
3210
+ "| `business-models:canvas` | 2. Canvas | Research and write the Business Model Canvas for one segment \u2014 all nine blocks. Create the downstream `business-models:complete` issue. |",
3211
+ "| `business-models:complete` | 3. Complete | Derive BIZBOK value streams from the canvas, document variations (size, geography, regulatory), and hand off to `bcm-writer` via `bcm:outline` issues for each capability surfaced in Key Activities. |",
3212
+ "",
3213
+ "All issues also carry `type:business-model` and a `status:*` label.",
3214
+ "",
3215
+ "**Issue count per segment:** 1 scan (shared across segments in an",
3216
+ "industry) + 1 canvas + 1 complete = **2\u20133 sessions per segment**",
3217
+ "(scan is shared; one scan spawns N canvas issues).",
3218
+ "",
3219
+ "**Shortened paths:**",
3220
+ "- Scan determines no segments need analysis (all already covered, or",
3221
+ " the industry input is absent) \u2192 scan issue closes with a",
3222
+ " justification and no downstream issues are created \u2192 **1 session**.",
3223
+ "- Segment closely resembles a parent \u2192 complete phase appends a",
3224
+ " variation section to the parent's canvas rather than a full new",
3225
+ " document \u2192 the canvas phase closes with a pointer to the parent and",
3226
+ " only `business-models:complete` on the parent runs \u2192 **2 sessions**.",
3227
+ "",
3228
+ "---",
3229
+ "",
3230
+ "## Configurable Paths",
3231
+ "",
3232
+ "The pipeline uses these placeholders. Consuming projects override the",
3233
+ "defaults by passing paths in the skill invocations or by extending",
3234
+ "this rule in their own `agentConfig.rules`.",
3235
+ "",
3236
+ "| Placeholder | Meaning | Default |",
3237
+ "|-------------|---------|---------|",
3238
+ "| `<BUSINESS_MODELS_ROOT>` | Root folder for all business-model documents. The same path `company-profile` reads as `<BUSINESS_MODELS_ROOT>` and `bcm-writer` links from its Value Stream Mapping sections. | `docs/src/content/docs/industry-research/` |",
3239
+ "| `<SCAN_DIR>` | Scan-report working directory (Phase 1 output) | `<RESEARCH_ROOT>/business-models/` |",
3240
+ "| `<CANVAS_DOC_LAYOUT>` | Directory layout for one canvas document | `<BUSINESS_MODELS_ROOT>/<industry>/segments/<segment-slug>/business-model.md` |",
3241
+ "| `<SEGMENT_INDEX>` | Segment-folder index page (created when missing) | `<BUSINESS_MODELS_ROOT>/<industry>/segments/<segment-slug>/index.md` |",
3242
+ "| `<INDUSTRY_SLUG>` | Short kebab-case slug identifying the industry | derived from the scan scope |",
3243
+ "| `<SEGMENT_SLUG>` | Short kebab-case slug identifying the industry segment | derived from the segment name |",
3244
+ "",
3245
+ "If `docs/src/content/docs/project-context.md` specifies a different business-models",
3246
+ "tree, prefer that. Otherwise fall back to the defaults above.",
3247
+ "",
3248
+ "The default `<BUSINESS_MODELS_ROOT>` matches the path",
3249
+ "`company-profile` declares as `<BUSINESS_MODELS_ROOT>` (Phase 4",
3250
+ "match step) so that profiles, canvases, and BCM docs all cross-",
3251
+ "link without manual path plumbing. Overriding the root in one bundle",
3252
+ "means overriding it in both.",
3253
+ "",
3254
+ "---",
3255
+ "",
3256
+ "## Agent Loop",
3257
+ "",
3258
+ "Run this loop exactly once per session. Never start a second issue.",
3259
+ "",
3260
+ "1. Claim one open `type:business-model` issue using phase priority:",
3261
+ " `business-models:scan` > `business-models:canvas` >",
3262
+ " `business-models:complete`.",
3263
+ "2. Transition `status:ready` \u2192 `status:in-progress` and create the",
3264
+ " branch per your project's branch-naming convention.",
3265
+ "3. Execute the phase handler that matches the issue's",
3266
+ " `business-models:*` label.",
3267
+ "4. Commit, push, open a PR (if applicable), and close the issue per",
3268
+ " your project's PR workflow.",
3269
+ "",
3270
+ "---",
3271
+ "",
3272
+ "## Phase 1: Scan (`business-models:scan`)",
3273
+ "",
3274
+ "**Goal:** Read upstream industry and profile artifacts to identify",
3275
+ "which segments need a business-model canvas. Produce a prioritized",
3276
+ "scan report and create one `business-models:canvas` issue per",
3277
+ "in-scope segment.",
3278
+ "",
3279
+ "**Budget:** No web searches. Reading existing repo content only. One",
3280
+ "scan-report file, plus N canvas issues.",
3281
+ "",
3282
+ "### Steps",
3283
+ "",
3284
+ "1. **Read the scan scope** from the issue body. The body should",
3285
+ " include:",
3286
+ " - An industry slug (or industry name) identifying the target",
3287
+ " vertical",
3288
+ " - Authorized input paths \u2014 typically an industry-discovery plan",
3289
+ " file (`<PLANS_DIR>/<slug>.plan.md`) or a research deliverable",
3290
+ " - Optional: `<INDUSTRY_SLUG>` override, custom output paths,",
3291
+ " existing segments to exclude",
3292
+ "",
3293
+ "2. **Read the industry-discovery plan** if one is cited. The plan's",
3294
+ " `## Cleared Verticals` table lists segments that already advanced;",
3295
+ " the scan decides which of those need a canvas.",
3296
+ "",
3297
+ "3. **Check existing coverage** under `<BUSINESS_MODELS_ROOT>`. For",
3298
+ " each candidate segment, confirm no `business-model.md` already",
3299
+ " exists for it. Skip segments that are already modelled (unless the",
3300
+ " issue explicitly requests a refresh).",
3301
+ "",
3302
+ "4. **Check open issues.** Skip any segment that already has an open",
3303
+ " `business-models:canvas` or `business-models:complete` issue.",
3304
+ "",
3305
+ "5. **Classify each segment** as one of:",
3306
+ " - **Full document** \u2014 the segment warrants its own canvas.",
3307
+ " - **Variation of <parent>** \u2014 the segment is a sub-variation",
3308
+ " of an existing or planned parent canvas. Note which parent.",
3309
+ " - **Defer** \u2014 the segment is in scope but blocked on missing",
3310
+ " upstream research; note the blocker.",
3311
+ "",
3312
+ "6. **Write the scan report** to",
3313
+ " `<SCAN_DIR>/<INDUSTRY_SLUG>-<YYYY-MM-DD>.scan.md`:",
3314
+ "",
3315
+ " ```markdown",
3316
+ " ---",
3317
+ ' title: "Business Model Scan: <Industry Name>"',
3318
+ " slug: <INDUSTRY_SLUG>",
3319
+ " date: YYYY-MM-DD",
3320
+ " parent_issue: <N>",
3321
+ " status: complete",
3322
+ " ---",
3323
+ "",
3324
+ " # Business Model Scan: <Industry Name>",
3325
+ "",
3326
+ " ## Source Inputs",
3327
+ " - Industry plan: <relative path>",
3328
+ " - Prior research: <relative path> (optional)",
3329
+ "",
3330
+ " ## Existing Coverage",
3331
+ " - <segment>: has canvas / no canvas / issue open",
3332
+ "",
3333
+ " ## Segments Needing Analysis",
3334
+ "",
3335
+ " ### <Segment Name>",
3336
+ " - **Priority:** high / medium / low",
3337
+ " - **Classification:** full document / variation of <parent> / defer",
3338
+ " - **Rationale:** <why this segment needs analysis>",
3339
+ " - **Expected variations:** <size / geography / regulatory>",
3340
+ "",
3341
+ " ## Recommendations",
3342
+ " - <segment> \u2192 open canvas issue (priority: <level>)",
3343
+ " - <segment> \u2192 variation of <parent>, handle in parent's complete phase",
3344
+ " - <segment> \u2192 defer until <condition>",
3345
+ " ```",
3346
+ "",
3347
+ "7. **Create one `business-models:canvas` issue per in-scope segment**",
3348
+ " with `Depends on: #<scan-issue>`. Each canvas issue body",
3349
+ " references the scan report, the industry, the segment name, and",
3350
+ " the authorized source list.",
3351
+ "",
3352
+ "8. **Commit and push** the scan report. Close the scan issue.",
3353
+ "",
3354
+ "---",
3355
+ "",
3356
+ "## Phase 2: Canvas (`business-models:canvas`)",
3357
+ "",
3358
+ "**Goal:** Research and write a Business Model Canvas for one",
3359
+ "industry segment \u2014 all nine blocks, each traced to a source.",
3360
+ "",
3361
+ "**Budget:** 4\u20138 targeted web searches to fill gaps not covered by",
3362
+ "existing research. Reading industry research + web results, writing",
3363
+ "one document, creating one downstream `business-models:complete`",
3364
+ "issue.",
3365
+ "",
3366
+ "### Steps",
3367
+ "",
3368
+ "1. **Read the scan report and industry source** for context on this",
3369
+ " segment.",
3370
+ "",
3371
+ "2. **Read existing industry research** under",
3372
+ " `<BUSINESS_MODELS_ROOT>/<industry>/` for prior notes on this",
3373
+ " segment.",
3374
+ "",
3375
+ "3. **Read the skill's canvas template** at",
3376
+ " `.claude/skills/canvas-business-model/_references/templates/_template-canvas.md`",
3377
+ " (or the equivalent path under the `/cursor/skills/` tree on Cursor",
3378
+ " platforms). The template is authoritative \u2014 copy its structure",
3379
+ " verbatim into the output document, then populate each block.",
3380
+ "",
3381
+ "4. **Assess research gaps.** Determine which canvas blocks can be",
3382
+ " filled from existing research and which need targeted web",
3383
+ " searches. Prioritize blocks with the least existing coverage.",
3384
+ "",
3385
+ "5. **Execute targeted web searches** (4\u20138 total). Focus on:",
3386
+ " - Revenue models and pricing structures for this segment",
3387
+ " - Customer segment definitions and buyer personas",
3388
+ " - Key partnerships and supply-chain relationships",
3389
+ " - Cost-structure breakdown",
3390
+ " - Channel and distribution patterns",
3391
+ " - Regulatory and compliance factors affecting the business model",
3392
+ "",
3393
+ "6. **Write the canvas document** to",
3394
+ " `<BUSINESS_MODELS_ROOT>/<industry>/segments/<SEGMENT_SLUG>/business-model.md`",
3395
+ " following the template. Fill every one of the nine canvas blocks.",
3396
+ " Leave the `## Value Streams` and `## Variations` placeholders for",
3397
+ " the complete phase.",
3398
+ "",
3399
+ " **Canvas rules:**",
3400
+ " - Every canvas block must have content \u2014 no empty blocks. Use",
3401
+ " `Not applicable \u2014 <reason>` when a block genuinely does not",
3402
+ " apply.",
3403
+ " - Every factual claim must trace to a source: either a research",
3404
+ " doc already on disk or a web-search result cited in the",
3405
+ " `## Sources` section.",
3406
+ " - Use Starlight frontmatter (`title`, `description`).",
3407
+ " - Link to related docs (industry plan, customer research, prior",
3408
+ " profiles) with **relative markdown paths** \u2014 never absolute",
3409
+ " `https://github.com/...` URLs.",
3410
+ "",
3411
+ "7. **Create the segment index** at",
3412
+ " `<BUSINESS_MODELS_ROOT>/<industry>/segments/<SEGMENT_SLUG>/index.md`",
3413
+ " if it does not already exist. The index should carry a short",
3414
+ " description and link to `./business-model.md`.",
3415
+ "",
3416
+ "8. **Create one `business-models:complete` issue** with",
3417
+ " `Depends on: #<canvas-issue>`. Its body references the path to",
3418
+ " the canvas document and names the industry and segment.",
3419
+ "",
3420
+ "9. **Commit and push** the canvas document. Close the canvas issue.",
3421
+ "",
3422
+ "---",
3423
+ "",
3424
+ "## Phase 3: Complete (`business-models:complete`)",
3425
+ "",
3426
+ "**Goal:** Derive BIZBOK value streams from the canvas, document",
3427
+ "variations (size, geography, regulatory), and hand off to the",
3428
+ "`bcm-writer` bundle for capability modelling.",
3429
+ "",
3430
+ "**Budget:** 2\u20134 targeted web searches (regulatory and geographic",
3431
+ "specifics). Reading the canvas, editing the same document,",
3432
+ "creating downstream issues.",
3433
+ "",
3434
+ "### Steps",
3435
+ "",
3436
+ "#### Part A: Value Streams",
3437
+ "",
3438
+ "1. **Read the canvas document** referenced in the issue body.",
3439
+ "",
3440
+ "2. **Identify value streams.** Each major Value Proposition",
3441
+ " typically maps to one value stream. Common patterns:",
3442
+ "",
3443
+ " | Canvas Signal | Value Stream Pattern |",
3444
+ " |---------------|----------------------|",
3445
+ " | A distinct Value Proposition | One value stream delivering that proposition |",
3446
+ " | A cluster of Key Activities serving the same VP | Stages within that stream |",
3447
+ " | Different Customer Segments receiving the same VP | Same stream, different stakeholder triggers |",
3448
+ " | A Key Activity supporting multiple VPs | Shared capability across streams |",
3449
+ "",
3450
+ "3. **Define each value stream** with BIZBOK structure: name,",
3451
+ " triggering stakeholder, value proposition (verbatim from the",
3452
+ " canvas), ordered stages, stage outcomes, and the Key Activities",
3453
+ " mapping for each stage.",
3454
+ "",
3455
+ "4. **Edit the canvas document** to replace the",
3456
+ " `## Value Streams` placeholder:",
3457
+ "",
3458
+ " ```markdown",
3459
+ " ## Value Streams",
3460
+ "",
3461
+ " ### <Value Stream Name>",
3462
+ "",
3463
+ " **Triggering stakeholder:** <who initiates>",
3464
+ " **Value proposition:** <from the canvas>",
3465
+ "",
3466
+ " | Stage | Description | Key Activities (from Canvas) | Stage Outcome |",
3467
+ " |-------|-------------|------------------------------|---------------|",
3468
+ " | <Stage 1> | <what happens> | <activities> | <outcome> |",
3469
+ " | <Stage 2> | <what happens> | <activities> | <outcome> |",
3470
+ " ```",
3471
+ "",
3472
+ " **Value stream rules:**",
3473
+ " - **Minimum 2 value streams** per segment (most have 3\u20135).",
3474
+ " - Every value stream must trace to a Value Proposition on the",
3475
+ " canvas.",
3476
+ " - Every stage must map to at least one Key Activity on the",
3477
+ " canvas.",
3478
+ " - Stages are ordered \u2014 each stage's output feeds the next stage's",
3479
+ " input.",
3480
+ " - A single Key Activity may appear in multiple value streams.",
3481
+ " - Value-stream names are **noun phrases**, not verbs.",
3482
+ "",
3483
+ "#### Part B: Variations",
3484
+ "",
3485
+ "5. **Research variations** using 2\u20134 targeted web searches:",
3486
+ " - How do businesses in this segment differ at SMB vs. mid-market",
3487
+ " vs. enterprise scale?",
3488
+ " - Are there geographic or regulatory differences (e.g. varying",
3489
+ " privacy laws, industry-specific certifications)?",
3490
+ " - Do revenue models or key partnerships change by size or region?",
3491
+ "",
3492
+ "6. **Edit the canvas document** to replace the `## Variations`",
3493
+ " placeholder with size, geographic, and regulatory sub-sections.",
3494
+ "",
3495
+ " **Variation rules:**",
3496
+ " - **Size variations are always required.** At minimum, document",
3497
+ " SMB vs. enterprise.",
3498
+ " - **Geographic variations are required when** the segment",
3499
+ " operates internationally and regulatory or market-structure",
3500
+ " differences affect the business model. Skip with",
3501
+ " `Not applicable \u2014 <reason>` if genuinely not relevant.",
3502
+ " - **Regulatory variations are required when** industry-specific",
3503
+ " standards or certifications exist that affect how the business",
3504
+ " model operates.",
3505
+ " - Only include canvas blocks that actually differ. Do not pad",
3506
+ ' with "No difference" rows.',
3507
+ "",
3508
+ "#### Part C: Value Stream \u2192 Capability Linking",
3509
+ "",
3510
+ "7. **Surface capabilities for downstream BCM modelling.** For each",
3511
+ " value stream stage that maps to a Key Activity the consuming",
3512
+ " project needs to implement, identify the underlying *capability*",
3513
+ " (a noun phrase \u2014 what the business does, not how). Typical",
3514
+ " extraction:",
3515
+ "",
3516
+ " - Look at each value-stream stage's Key Activities mapping.",
3517
+ " - Each Key Activity usually corresponds to one capability (e.g.",
3518
+ " Key Activity `Schedule appointments` \u2192 capability",
3519
+ " `Appointment Scheduling`).",
3520
+ " - Deduplicate across stages and across value streams.",
3521
+ "",
3522
+ "8. **Add a `## Value Stream to Capability Linking` section** to the",
3523
+ " canvas document, immediately after `## Variations`:",
3524
+ "",
3525
+ " ```markdown",
3526
+ " ## Value Stream to Capability Linking",
3527
+ "",
3528
+ " | Value Stream | Stage | Key Activity | Capability (noun) | BCM Issue |",
3529
+ " |--------------|-------|--------------|-------------------|-----------|",
3530
+ " | <stream> | <stage> | <activity> | <capability name> | #<bcm-outline-issue> |",
3531
+ " ```",
3532
+ "",
3533
+ "9. **For each distinct capability surfaced above**, check whether a",
3534
+ " BCM document already exists under the consuming project's",
3535
+ " `<BCM_DOC_ROOT>`. For capabilities that are **not yet modelled**,",
3536
+ " create one `bcm:outline` issue (owned by the downstream",
3537
+ " `bcm-writer` bundle) per capability, citing the canvas path and",
3538
+ " the specific value-stream stage the capability appears in. Fill",
3539
+ " the `BCM Issue` column of the linking table as each issue is",
3540
+ " created so the table is cross-linked before the complete issue",
3541
+ " closes.",
3542
+ "",
3543
+ "#### Part D: Commit and Handoffs",
3544
+ "",
3545
+ "10. **Commit and push** the updated canvas document.",
3546
+ "",
3547
+ "11. **Comment on the canvas issue** and the scan issue with a short",
3548
+ " summary: value-stream count, variation coverage, and the list of",
3549
+ " `bcm:outline` issues created.",
3550
+ "",
3551
+ "12. **Close the complete issue.**",
3552
+ "",
3553
+ "---",
3554
+ "",
3555
+ "## Coordination with Other Agents",
3556
+ "",
3557
+ "### Upstream: industry-discovery bundle",
3558
+ "",
3559
+ "`industry-discovery` produces the plan files this pipeline reads as",
3560
+ "input to the scan phase. The scan phase's issue body should cite the",
3561
+ "plan file (`<PLANS_DIR>/<slug>.plan.md`) as its source of",
3562
+ "segments. Business-model scan issues are typically created as a",
3563
+ "follow-up to an industry plan that cleared the fit threshold.",
3564
+ "",
3565
+ "### Upstream: research-pipeline bundle",
3566
+ "",
3567
+ "If a canvas block cannot be adequately filled from existing research",
3568
+ "and the web-search budget is exhausted, create a `research:scope`",
3569
+ "issue to commission a deeper research dive. Block the canvas issue on",
3570
+ "the new research issue rather than shipping a thinly-sourced block.",
3571
+ "",
3572
+ "### Downstream: bcm-writer bundle",
3573
+ "",
3574
+ "Canvas documents are the authoritative source for value streams that",
3575
+ "the `bcm-writer`'s Value Stream Mapping section consumes. Phase 3",
3576
+ "opens `bcm:outline` issues for every distinct capability surfaced in",
3577
+ "Key Activities that does not yet have a BCM document. The",
3578
+ "`bcm-writer` bundle picks those issues up and decomposes each",
3579
+ "capability into an L1/L2/L3 tree, citing the canvas path in its",
3580
+ "Traceability section.",
3581
+ "",
3582
+ "### Downstream: company-profile bundle",
3583
+ "",
3584
+ "The `company-profile` bundle's match phase reads",
3585
+ "`<BUSINESS_MODELS_ROOT>` (same default path \u2014 see Configurable",
3586
+ "Paths) to identify which of its profiled companies operate in a given",
3587
+ "segment. When a canvas is published, company-profile's `match` phase",
3588
+ "appends a bidirectional cross-link between the matched profile and",
3589
+ "the canvas. This agent never rewrites profile bodies \u2014 it only",
3590
+ "publishes the canvas.",
3591
+ "",
3592
+ "### File Boundaries",
3593
+ "",
3594
+ "- **Reads:**",
3595
+ " - `<BUSINESS_MODELS_ROOT>/` \u2014 prior canvases, industry indexes",
3596
+ " - `<PLANS_DIR>/` \u2014 industry-discovery plan files",
3597
+ " - `<DELIVERABLES_DIR>/` \u2014 research deliverables",
3598
+ " - `<docsRoot>/` \u2014 any file for context",
3599
+ "- **Writes:**",
3600
+ " - `<SCAN_DIR>/<INDUSTRY_SLUG>-<YYYY-MM-DD>.scan.md` (Phase 1)",
3601
+ " - `<BUSINESS_MODELS_ROOT>/<industry>/segments/<SEGMENT_SLUG>/business-model.md`",
3602
+ " (Phases 2\u20133)",
3603
+ " - `<BUSINESS_MODELS_ROOT>/<industry>/segments/<SEGMENT_SLUG>/index.md`",
3604
+ " (Phase 2, when missing)",
3605
+ "- **Never writes to:**",
3606
+ " - `<BCM_DOC_ROOT>/` (the `bcm-writer` bundle owns this)",
3607
+ " - `<REQUIREMENTS_ROOT>/` (the `requirements-writer` bundle owns",
3608
+ " this)",
3609
+ " - `<PEOPLE_PROFILES_DIR>/`, `<COMPANIES_PROFILES_DIR>/`,",
3610
+ " `<SOFTWARE_PROFILES_DIR>/` (the profile bundles own these)",
3611
+ "",
3612
+ "---",
3613
+ "",
3614
+ "## Blocked Issues",
3615
+ "",
3616
+ "Follow your project's shared Blocked Issues procedure. Additional",
3617
+ "block reasons specific to business-model authoring:",
3618
+ "",
3619
+ "- **Industry source missing.** The scan-phase issue cites a plan",
3620
+ " file that does not exist on disk.",
3621
+ "- **Insufficient research.** The canvas phase cannot fill one or",
3622
+ " more blocks from existing research or targeted web searches (open",
3623
+ " a `research:scope` issue and block on it).",
3624
+ "- **Conflicting sources.** Two authoritative sources contradict each",
3625
+ " other on a canvas block and the conflict cannot be reconciled by",
3626
+ " the agent.",
3627
+ "- **Segment definition ambiguous.** The scan report flagged the",
3628
+ " segment as needing human clarification before a canvas can be",
3629
+ " authored.",
3630
+ "",
3631
+ "---",
3632
+ "",
3633
+ "## Output Boundaries",
3634
+ "",
3635
+ "This agent writes **only** to the directories listed under File",
3636
+ "Boundaries above. It does not write capability models, requirement",
3637
+ "documents, people profiles, company profiles, or software profiles.",
3638
+ "Work it surfaces in those domains is delegated via issues to the",
3639
+ "appropriate specialist bundle (`bcm-writer`, `requirements-writer`,",
3640
+ "`people-profile`, `company-profile`, `software-profile`).",
3641
+ "",
3642
+ "---",
3643
+ "",
3644
+ "## Rules",
3645
+ "",
3646
+ "- **One phase per session.** Never run two phases back-to-back in a",
3647
+ " single session.",
3648
+ "- **Persist before closing.** Every phase must write its output file",
3649
+ " before closing its issue.",
3650
+ "- **Canvas blocks are never empty.** Use",
3651
+ " `Not applicable \u2014 <reason>` when a block genuinely does not apply.",
3652
+ "- **Size variations are always required.** Every segment has",
3653
+ " meaningful differences between SMB and enterprise operations.",
3654
+ "- **Value streams derive from the canvas.** Key Activities and",
3655
+ " Value Propositions on the canvas define value streams. Do not",
3656
+ " invent value streams that do not trace to the canvas.",
3657
+ "- **One segment per document.** Sub-segments share the parent",
3658
+ " document with a variation section unless their business model is",
3659
+ " fundamentally different.",
3660
+ "- **No fabrication.** Every canvas block and every value-stream",
3661
+ " stage must trace to a cited source. Do not populate from general",
3662
+ " knowledge alone.",
3663
+ "- **Relative links only.** Cross-references between docs use",
3664
+ " relative markdown paths, never absolute `https://github.com/...`",
3665
+ " URLs.",
3666
+ "- **Produce canvases, not capabilities.** Capability modelling is",
3667
+ " the responsibility of the `bcm-writer` bundle. Hand off surfaced",
3668
+ " capabilities via `bcm:outline` issues; do not write capability",
3669
+ " decomposition in the canvas itself."
3670
+ ].join("\n")
3671
+ };
3672
+ var scanBusinessModelsSkill = {
3673
+ name: "scan-business-models",
3674
+ description: "Kick off the scan phase of a business-model analysis cycle. Creates a business-models:scan issue for the supplied industry and dispatches Phase 1 of the business-models-analyst, which reads industry-discovery output and identifies segments needing a canvas.",
3675
+ disableModelInvocation: true,
3676
+ userInvocable: true,
3677
+ context: "fork",
3678
+ agent: "business-models-analyst",
3679
+ platforms: { cursor: { exclude: true } },
3680
+ instructions: [
3681
+ "# Scan Business Models",
3682
+ "",
3683
+ "Kick off a business-model analysis cycle. Creates a",
3684
+ "`business-models:scan` issue carrying the industry scope and",
3685
+ "dispatches Phase 1 (Scan) in the business-models-analyst agent.",
3686
+ "",
3687
+ "## Usage",
3688
+ "",
3689
+ "/scan-business-models <industry-slug>",
3690
+ "",
3691
+ "Optional extensions in the issue body:",
3692
+ "- `plan: <path>` \u2014 path to the industry-discovery plan file that",
3693
+ " cleared this industry for downstream research (e.g.",
3694
+ " `docs/industries/plans/<slug>.plan.md`)",
3695
+ "- `sources: <list>` \u2014 additional authorized input paths",
3696
+ "- `exclude: <segment list>` \u2014 segments already covered to skip",
3697
+ "- `slug: <kebab-case>` \u2014 override the derived industry slug",
3698
+ "",
3699
+ "## Default Paths",
3700
+ "",
3701
+ "If the project has no override in `docs/src/content/docs/project-context.md` or",
3702
+ "`agentConfig.rules`, outputs land under:",
3703
+ "",
3704
+ "- Scan report: `docs/research/business-models/<slug>-YYYY-MM-DD.scan.md`",
3705
+ "- Canvas docs (produced by Phase 2): `docs/src/content/docs/industry-research/<industry>/segments/<segment-slug>/business-model.md`",
3706
+ "",
3707
+ "## Steps",
3708
+ "",
3709
+ "1. Create a `business-models:scan` issue with `type:business-model`,",
3710
+ " `priority:medium`, and `status:ready`. The body must include the",
3711
+ " industry slug, the source plan path (if any), and any overrides.",
3712
+ "2. Execute Phase 1 (Scan) of the business-models-analyst agent.",
3713
+ "3. Phase 1 creates one `business-models:canvas` issue per in-scope",
3714
+ " segment. Each canvas issue declares its `Depends on:`",
3715
+ " predecessor.",
3716
+ "",
3717
+ "## Output",
3718
+ "",
3719
+ "- A scan report under the project's business-models scan directory,",
3720
+ " listing which segments need canvases and which are already",
3721
+ " covered or deferred.",
3722
+ "- One `business-models:canvas` issue per segment classified as",
3723
+ " `full document` in the scan report."
3724
+ ].join("\n")
3725
+ };
3726
+ var canvasBusinessModelSkill = {
3727
+ name: "canvas-business-model",
3728
+ description: "Kick off the canvas phase of a business-model analysis cycle. Creates a business-models:canvas issue for the supplied industry/segment and dispatches Phase 2 of the business-models-analyst, which researches and writes the Osterwalder nine-block canvas.",
3729
+ disableModelInvocation: true,
3730
+ userInvocable: true,
3731
+ context: "fork",
3732
+ agent: "business-models-analyst",
3733
+ platforms: { cursor: { exclude: true } },
3734
+ referenceFiles: BUSINESS_MODELS_CANVAS_REFERENCE_FILES,
3735
+ instructions: [
3736
+ "# Canvas Business Model",
3737
+ "",
3738
+ "Author a Business Model Canvas for one industry segment. Creates a",
3739
+ "`business-models:canvas` issue and dispatches Phase 2 (Canvas) in",
3740
+ "the business-models-analyst agent.",
3741
+ "",
3742
+ "Most cycles do not invoke this skill directly \u2014 Phase 1 (Scan)",
3743
+ "creates canvas issues automatically from the scan report. Use this",
3744
+ "skill when:",
3745
+ "",
3746
+ "- A new segment was carved out of an already-modelled industry",
3747
+ "- A human operator wants to author a canvas without a prior scan",
3748
+ "- The scan report deferred a segment and the blocker is now",
3749
+ " resolved",
3750
+ "",
3751
+ "## Usage",
3752
+ "",
3753
+ "/canvas-business-model <industry-slug>:<segment-slug>",
3754
+ "",
3755
+ "Optional extensions in the issue body:",
3756
+ "- `segment_name: <name>` \u2014 human-readable segment name (defaults to",
3757
+ " the slug prettified)",
3758
+ "- `sources: <list>` \u2014 authorized research-input paths",
3759
+ "- `scan: <path>` \u2014 prior scan report that identified this segment",
3760
+ " (optional when invoked manually)",
3761
+ "",
3762
+ "## Canvas Template",
3763
+ "",
3764
+ "This skill ships a verbatim canvas template at",
3765
+ "`.claude/skills/canvas-business-model/_references/templates/_template-canvas.md`.",
3766
+ "The Phase 2 handler reads that file as its authoritative structure \u2014",
3767
+ "every canvas document copies the template and fills each of the",
3768
+ "nine blocks, leaving the `## Value Streams` and `## Variations`",
3769
+ "placeholders for Phase 3 (Complete).",
3770
+ "",
3771
+ "## Default Paths",
3772
+ "",
3773
+ "If the project has no override in `docs/src/content/docs/project-context.md` or",
3774
+ "`agentConfig.rules`, the canvas lands at:",
3775
+ "",
3776
+ "`docs/src/content/docs/industry-research/<industry>/segments/<segment-slug>/business-model.md`",
3777
+ "",
3778
+ "## Steps",
3779
+ "",
3780
+ "1. Create a `business-models:canvas` issue with",
3781
+ " `type:business-model`, `priority:medium`, and `status:ready`.",
3782
+ " The body must include the industry slug, segment slug, and any",
3783
+ " scan-report reference.",
3784
+ "2. Execute Phase 2 (Canvas) of the business-models-analyst agent.",
3785
+ "3. Phase 2 writes the nine-block canvas and creates a",
3786
+ " `business-models:complete` issue for the downstream Phase 3.",
3787
+ "",
3788
+ "## Output",
3789
+ "",
3790
+ "- A new `business-model.md` with all nine canvas blocks populated.",
3791
+ "- A segment `index.md` in the same folder (if missing).",
3792
+ "- One `business-models:complete` issue cross-linking back to the",
3793
+ " canvas."
3794
+ ].join("\n")
3795
+ };
3796
+ var completeBusinessModelSkill = {
3797
+ name: "complete-business-model",
3798
+ description: "Kick off the complete phase of a business-model analysis cycle. Creates a business-models:complete issue for an already-authored canvas and dispatches Phase 3 of the business-models-analyst, which derives BIZBOK value streams, documents variations, and hands off capability work to bcm-writer.",
3799
+ disableModelInvocation: true,
3800
+ userInvocable: true,
3801
+ context: "fork",
3802
+ agent: "business-models-analyst",
3803
+ platforms: { cursor: { exclude: true } },
3804
+ instructions: [
3805
+ "# Complete Business Model",
3806
+ "",
3807
+ "Close out a business-model analysis cycle. Creates a",
3808
+ "`business-models:complete` issue for a canvas that already has its",
3809
+ "nine blocks populated and dispatches Phase 3 (Complete) in the",
3810
+ "business-models-analyst agent.",
3811
+ "",
3812
+ "Phase 3 appends BIZBOK value streams, documents size / geographic /",
3813
+ "regulatory variations, adds a `## Value Stream to Capability",
3814
+ "Linking` section, and opens one `bcm:outline` issue per",
3815
+ "undeployed capability for the downstream `bcm-writer` bundle.",
3816
+ "",
3817
+ "Most cycles do not need this skill \u2014 Phase 2 (Canvas) creates the",
3818
+ "complete issue automatically. Use this skill when:",
3819
+ "",
3820
+ "- A human authored the canvas and only needs the agent to attach",
3821
+ " value streams and variations",
3822
+ "- The canvas was imported from another source and needs value-",
3823
+ " stream completion",
3824
+ "",
3825
+ "## Usage",
3826
+ "",
3827
+ "/complete-business-model <industry-slug>:<segment-slug>",
3828
+ "",
3829
+ "## Default Paths",
3830
+ "",
3831
+ "If the project has no override in `docs/src/content/docs/project-context.md` or",
3832
+ "`agentConfig.rules`, the target canvas lives at:",
3833
+ "",
3834
+ "`docs/src/content/docs/industry-research/<industry>/segments/<segment-slug>/business-model.md`",
3835
+ "",
3836
+ "## Steps",
3837
+ "",
3838
+ "1. Create a `business-models:complete` issue with",
3839
+ " `type:business-model`, `priority:medium`, and `status:ready`.",
3840
+ " Body must include the canvas document path.",
3841
+ "2. Execute Phase 3 (Complete) of the business-models-analyst agent.",
3842
+ "",
3843
+ "## Output",
3844
+ "",
3845
+ "- Updates to `business-model.md` \u2014 `## Value Streams`, ",
3846
+ " `## Variations`, and `## Value Stream to Capability Linking`",
3847
+ " sections populated.",
3848
+ "- One `bcm:outline` issue (consumed by the `bcm-writer` bundle)",
3849
+ " per distinct capability surfaced from Key Activities that does",
3850
+ " not already have a BCM document."
3851
+ ].join("\n")
3852
+ };
3853
+ var businessModelsBundle = {
3854
+ name: "business-models",
3855
+ description: "Business-model authoring pipeline: Osterwalder Business Model Canvas plus BIZBOK value streams per industry segment. 3 phases (scan, canvas, complete) with business-models:* phase labels. Sits between industry-discovery and bcm-writer in the research pipeline. Enabled by default; domain-neutral; filesystem-durable between phases.",
3856
+ appliesWhen: () => true,
3857
+ rules: [
3858
+ {
3859
+ name: "business-models-workflow",
3860
+ description: "Describes the 3-phase business-model pipeline, the business-models:* label taxonomy, and the handoff boundaries with industry-discovery (upstream) and bcm-writer (downstream).",
3861
+ scope: AGENT_RULE_SCOPE.ALWAYS,
3862
+ content: [
3863
+ "# Business Models Workflow",
3864
+ "",
3865
+ "Use `/scan-business-models <industry-slug>` to kick off a",
3866
+ "business-model analysis cycle. The pipeline runs in 3 phases \u2014",
3867
+ "scan, canvas, complete \u2014 each tracked by its own GitHub issue",
3868
+ "labeled `business-models:scan`, `business-models:canvas`, or",
3869
+ "`business-models:complete`. All issues carry `type:business-model`.",
3870
+ "",
3871
+ "Two additional user-invocable skills drive the downstream phases",
3872
+ "directly when the default pipeline needs to be entered mid-",
3873
+ "stream:",
3874
+ "",
3875
+ "- `/canvas-business-model <industry>:<segment>` \u2014 author the",
3876
+ " nine-block Osterwalder canvas for one segment (normally created",
3877
+ " by the scan phase automatically).",
3878
+ "- `/complete-business-model <industry>:<segment>` \u2014 derive BIZBOK",
3879
+ " value streams, document variations, and hand off capabilities",
3880
+ " to `bcm-writer` (normally created by the canvas phase",
3881
+ " automatically).",
3882
+ "",
3883
+ "The bundle sits between `industry-discovery` (which picks",
3884
+ "verticals and segments) and `bcm-writer` (which models the",
3885
+ "capabilities needed to execute). Canvases describe *how the",
3886
+ "business operates in a segment*; the downstream BCM writer then",
3887
+ "derives capability models from the Key Activities and value",
3888
+ "streams authored here. The `company-profile` bundle reads the",
3889
+ "same `<BUSINESS_MODELS_ROOT>` directory",
3890
+ "(`docs/src/content/docs/industry-research/` by default) to match profiled",
3891
+ "companies against published canvases.",
3892
+ "",
3893
+ "See the `business-models-analyst` agent definition for full",
3894
+ "workflow details, default paths, the Osterwalder/BIZBOK",
3895
+ "methodology, and phase-by-phase instructions."
3896
+ ].join("\n"),
3897
+ platforms: {
3898
+ cursor: { exclude: true }
3899
+ },
3900
+ tags: ["workflow"]
3901
+ }
3902
+ ],
3903
+ skills: [
3904
+ scanBusinessModelsSkill,
3905
+ canvasBusinessModelSkill,
3906
+ completeBusinessModelSkill
3907
+ ],
3908
+ subAgents: [businessModelsAnalystSubAgent],
3909
+ labels: [
3910
+ {
3911
+ name: "type:business-model",
3912
+ color: "5319E7",
3913
+ description: "Work that authors or updates a Business Model Canvas plus BIZBOK value streams for an industry segment"
3914
+ },
3915
+ {
3916
+ name: "business-models:scan",
3917
+ color: "C5DEF5",
3918
+ description: "Phase 1: read industry-discovery output and identify segments needing a business-model canvas"
3919
+ },
3920
+ {
3921
+ name: "business-models:canvas",
3922
+ color: "BFDADC",
3923
+ description: "Phase 2: research and write the nine-block Osterwalder canvas for one segment"
3924
+ },
3925
+ {
3926
+ name: "business-models:complete",
3927
+ color: "D4C5F9",
3928
+ description: "Phase 3: derive BIZBOK value streams, document variations, and hand off capabilities to bcm-writer"
3929
+ }
3930
+ ]
3931
+ };
3932
+
2934
3933
  // src/agent/bundles/company-profile.ts
2935
3934
  var companyProfileAnalystSubAgent = {
2936
3935
  name: "company-profile-analyst",
@@ -17092,6 +18091,7 @@ var BUILT_IN_BUNDLES = [
17092
18091
  peopleProfileBundle,
17093
18092
  softwareProfileBundle,
17094
18093
  industryDiscoveryBundle,
18094
+ businessModelsBundle,
17095
18095
  bcmWriterBundle,
17096
18096
  maintenanceAuditBundle
17097
18097
  ];
@@ -20881,6 +21881,7 @@ export {
20881
21881
  awsCdkBundle,
20882
21882
  baseBundle,
20883
21883
  bcmWriterBundle,
21884
+ businessModelsBundle,
20884
21885
  companyProfileBundle,
20885
21886
  formatLayoutViolation,
20886
21887
  formatStarlightSingletonViolation,