@keighleykodric/weeve 0.1.0 → 0.1.2

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.
Files changed (98) hide show
  1. package/README.md +75 -19
  2. package/bin/weeve.js +467 -2
  3. package/examples/core/CODEOWNERS.template +9 -0
  4. package/examples/core/README.md +63 -0
  5. package/examples/core/demo/README.md +38 -0
  6. package/examples/core/demo/weeve/ally/ally-intake.md +16 -0
  7. package/examples/core/demo/weeve/compass/compass-intake.md +15 -0
  8. package/examples/core/demo/weeve/layers-plus/figma-notes.md +31 -0
  9. package/examples/core/demo/weeve/layers-plus/layers-plus-intake.md +13 -0
  10. package/examples/core/demo/weeve/rubric/component-inventory.md +42 -0
  11. package/examples/core/demo/weeve/rubric/rubric-intake.md +14 -0
  12. package/examples/core/demo/weeve/shared/competitive.md +28 -0
  13. package/examples/core/demo/weeve/shared/roadmap.md +26 -0
  14. package/examples/core/demo/weeve/shared/weeve-guardrails.md +28 -0
  15. package/examples/core/demo/weeve/shared/weeve-intake.md +18 -0
  16. package/examples/core/demo/weeve/shared/weeve-project.md +33 -0
  17. package/examples/core/demo/weeve.yaml +15 -0
  18. package/examples/core/weeve.yaml +14 -0
  19. package/examples/engineering/CODEOWNERS.template +9 -0
  20. package/examples/engineering/README.md +61 -0
  21. package/examples/engineering/demo/README.md +20 -0
  22. package/examples/engineering/demo/weeve/forge/architecture.md +39 -0
  23. package/examples/engineering/demo/weeve/forge/ci-metrics.md +47 -0
  24. package/examples/engineering/demo/weeve/forge/forge-intake.md +41 -0
  25. package/examples/engineering/demo/weeve/guard/guard-intake.md +17 -0
  26. package/examples/engineering/demo/weeve/helm/helm-intake.md +16 -0
  27. package/examples/engineering/demo/weeve/helm/incidents.md +40 -0
  28. package/examples/engineering/demo/weeve/helm/on-call-runbook.md +33 -0
  29. package/examples/engineering/demo/weeve/shared/roadmap.md +25 -0
  30. package/examples/engineering/demo/weeve/shared/team.md +33 -0
  31. package/examples/engineering/demo/weeve/shared/weeve-guardrails.md +27 -0
  32. package/examples/engineering/demo/weeve/shared/weeve-intake.md +18 -0
  33. package/examples/engineering/demo/weeve/shared/weeve-project.md +29 -0
  34. package/examples/engineering/demo/weeve/verify/coverage-report.md +49 -0
  35. package/examples/engineering/demo/weeve/verify/verify-intake.md +16 -0
  36. package/examples/engineering/demo/weeve.yaml +15 -0
  37. package/examples/engineering/weeve.yaml +14 -0
  38. package/examples/gtm/CODEOWNERS.template +8 -0
  39. package/examples/gtm/README.md +59 -0
  40. package/examples/gtm/demo/README.md +19 -0
  41. package/examples/gtm/demo/weeve/compass/compass-intake.md +15 -0
  42. package/examples/gtm/demo/weeve/maven/maven-intake.md +35 -0
  43. package/examples/gtm/demo/weeve/maven/website-notes.md +33 -0
  44. package/examples/gtm/demo/weeve/pitch/pitch-intake.md +54 -0
  45. package/examples/gtm/demo/weeve/pitch/sales-deck-notes.md +28 -0
  46. package/examples/gtm/demo/weeve/pitch/win-loss-notes.md +40 -0
  47. package/examples/gtm/demo/weeve/shared/competitive.md +30 -0
  48. package/examples/gtm/demo/weeve/shared/roadmap.md +19 -0
  49. package/examples/gtm/demo/weeve/shared/weeve-guardrails.md +24 -0
  50. package/examples/gtm/demo/weeve/shared/weeve-intake.md +18 -0
  51. package/examples/gtm/demo/weeve/shared/weeve-project.md +25 -0
  52. package/examples/gtm/demo/weeve.yaml +22 -0
  53. package/examples/gtm/weeve.yaml +14 -0
  54. package/examples/product/CODEOWNERS.template +10 -0
  55. package/examples/product/README.md +67 -0
  56. package/examples/product/demo/README.md +21 -0
  57. package/examples/product/demo/weeve/ally/ally-intake.md +16 -0
  58. package/examples/product/demo/weeve/compass/compass-intake.md +15 -0
  59. package/examples/product/demo/weeve/felt/felt-intake.md +37 -0
  60. package/examples/product/demo/weeve/felt/user-research.md +68 -0
  61. package/examples/product/demo/weeve/layers-plus/layers-plus-intake.md +14 -0
  62. package/examples/product/demo/weeve/rubric/component-inventory.md +42 -0
  63. package/examples/product/demo/weeve/rubric/rubric-intake.md +14 -0
  64. package/examples/product/demo/weeve/shared/competitive.md +28 -0
  65. package/examples/product/demo/weeve/shared/roadmap.md +32 -0
  66. package/examples/product/demo/weeve/shared/weeve-guardrails.md +27 -0
  67. package/examples/product/demo/weeve/shared/weeve-intake.md +18 -0
  68. package/examples/product/demo/weeve/shared/weeve-project.md +29 -0
  69. package/examples/product/demo/weeve.yaml +21 -0
  70. package/examples/product/weeve.yaml +14 -0
  71. package/examples/strategy/CODEOWNERS.template +8 -0
  72. package/examples/strategy/README.md +59 -0
  73. package/examples/strategy/demo/README.md +19 -0
  74. package/examples/strategy/demo/weeve/compass/compass-intake.md +34 -0
  75. package/examples/strategy/demo/weeve/compass/customer-segments.md +34 -0
  76. package/examples/strategy/demo/weeve/layers-plus/layers-plus-intake.md +15 -0
  77. package/examples/strategy/demo/weeve/maven/maven-intake.md +33 -0
  78. package/examples/strategy/demo/weeve/shared/competitive.md +40 -0
  79. package/examples/strategy/demo/weeve/shared/roadmap.md +29 -0
  80. package/examples/strategy/demo/weeve/shared/weeve-guardrails.md +22 -0
  81. package/examples/strategy/demo/weeve/shared/weeve-intake.md +17 -0
  82. package/examples/strategy/demo/weeve/shared/weeve-project.md +25 -0
  83. package/examples/strategy/demo/weeve.yaml +15 -0
  84. package/examples/strategy/weeve.yaml +14 -0
  85. package/package.json +14 -3
  86. package/spec/contributing-template.md +109 -0
  87. package/spec/readme-template.md +55 -0
  88. package/{docs/shared/SHIP-GATE.md → spec/ship-gate.md} +7 -7
  89. package/spec/signals-schema.md +685 -0
  90. package/spec/weeve-yaml.md +274 -0
  91. package/.github/SECURITY.md +0 -22
  92. package/GOVERNANCE.md +0 -173
  93. package/WORKFLOW.md +0 -354
  94. package/docs/shared/engineering-pack-contract.md +0 -94
  95. package/docs/shared/id-prefix-reference.md +0 -235
  96. package/docs/shared/idea-intake-pattern.md +0 -99
  97. package/docs/shared/lane-conventions.md +0 -207
  98. package/docs/shared/recommendations-schema.md +0 -363
@@ -0,0 +1,59 @@
1
+ # strategy preset
2
+
3
+ ## Who this is for
4
+
5
+ The `strategy` preset is for leadership teams and strategy functions running quarterly planning, annual reviews, or major pivots. It focuses on market orientation, audience understanding, and narrative alignment — giving executives and strategy leads the structured inputs they need to make high-confidence directional decisions. This preset deliberately omits execution-layer lanes (design, engineering, revenue) to keep the focus on where to go, not how to get there.
6
+
7
+ ## What you get
8
+
9
+ - **compass-signals.md** — ranked strategic opportunities and threats drawn from market, competitive, and internal signals
10
+ - **compass-context.md** — current position snapshot: where you stand relative to market shifts and competitors
11
+ - **layers-plus-map.md** — audience segmentation with motivational layers to anchor strategic choices in real user reality
12
+ - **maven-brief.md** — market narrative and positioning brief: how the strategy translates into a story the market will believe
13
+ - **pilot-brief.md** — strategic go/no-go recommendation with key assumptions, risks, and decision criteria
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ npx weeve add strategy
19
+ ```
20
+
21
+ Equivalent individual lanes:
22
+
23
+ ```bash
24
+ npx weeve add compass layers-plus maven pilot
25
+ ```
26
+
27
+ ## First run sequence
28
+
29
+ Run these skills in order. Steps marked **(parallel)** can be run simultaneously once their prerequisites are complete.
30
+
31
+ 1. **compass** — Surveys market signals, competitor moves, and internal strategic context to produce a ranked opportunity and risk map.
32
+ 2. **layers-plus** — Segments the audience into motivational layers; grounds the strategy in concrete user and buyer realities rather than abstract personas.
33
+ 3. **maven** — Translates the compass signals and layers-plus map into a market narrative and positioning brief, identifying the story the strategy needs to tell.
34
+ 4. **pilot** — Synthesizes the strategic inputs into a go/no-go recommendation with key assumptions surfaced, risks ranked, and decision criteria stated.
35
+
36
+ ## What you'll have at the end
37
+
38
+ | File | Description |
39
+ |---|---|
40
+ | `weeve/compass/compass-signals.md` | Ranked strategic signals with evidence and confidence scores |
41
+ | `weeve/compass/compass-context.md` | Market position snapshot with competitive and trend analysis |
42
+ | `weeve/layers-plus/layers-plus-map.md` | Audience layer map grounding the strategy in real motivations |
43
+ | `weeve/maven/maven-brief.md` | Market narrative and positioning brief for the strategic direction |
44
+ | `weeve/pilot/pilot-brief.md` | Strategic recommendation with assumptions, risks, and decision criteria |
45
+
46
+ ## CODEOWNERS
47
+
48
+ Copy to `.github/CODEOWNERS`:
49
+
50
+ ```
51
+ weeve/compass/ @leadership
52
+ weeve/layers-plus/ @product
53
+ weeve/maven/ @marketing
54
+ weeve/pilot/ @leadership
55
+ ```
56
+
57
+ ## Time estimate
58
+
59
+ First full run: **50–80 minutes**. The compass lane is the most input-sensitive — teams with rich competitive intelligence and internal context documents will get sharper outputs. Maven runs fastest when compass and layers-plus artifacts are complete and specific. Subsequent runs during a planning cycle: 20–30 minutes for updates.
@@ -0,0 +1,19 @@
1
+ # Beacon — strategy preset demo
2
+
3
+ A B2B analytics platform at a Series A inflection point. Use this demo to try the **strategy** preset (Compass, Layers+, Maven, Pilot).
4
+
5
+ ## Run it
6
+
7
+ ```bash
8
+ weeve add strategy
9
+ /compass-intro # strategic positioning — where to play, how to win
10
+ /layers-plus-intro # product evaluation against the strategic doctrine
11
+ /maven-intro # marketing — messaging, positioning, brand voice
12
+ /pilot-priorities # synthesize
13
+ ```
14
+
15
+ Outputs land in `./weeve/<lane>/`.
16
+
17
+ ## The project
18
+
19
+ Beacon has a real strategic decision to make: double down on e-commerce (core ICP, competitive, well-understood) or lean into the SaaS customers who are appearing organically (lower churn, higher ACV, but outside the team's domain expertise). The board is split. This is exactly the kind of problem Compass is built for.
@@ -0,0 +1,34 @@
1
+ # compass-intake — Beacon
2
+ # Source: weeve/compass/customer-segments.md, weeve/shared/competitive.md, board meeting notes
3
+
4
+ _Feed to `/compass-intake`. The strategic tension is the whole point of this scenario._
5
+
6
+ ---
7
+
8
+ ## The core tension
9
+
10
+ - 14 SaaS companies signed up without being targeted. Lower churn (6% vs 14%), higher ACV ($1,400 vs $900 avg).
11
+ - The board is asking: "are we the right team to win e-commerce against Triple Whale?"
12
+ - Founding team has e-commerce backgrounds. Nobody has built a SaaS metrics product before.
13
+ - Triple Whale raised $25M Series B. Beacon has $6M. The funding gap is real.
14
+
15
+ ## Signals supporting a SaaS pivot
16
+
17
+ - SaaS customers have better unit economics on every metric we measure.
18
+ - Cohort analysis feature (built for e-commerce) is being repurposed by SaaS customers for subscription cohorts — accidental product-market fit.
19
+ - One SaaS customer (350 employees) asked about enterprise contract + SSO. Team declined. It would have been $4,200/month.
20
+ - Mid-market SaaS analytics gap: Baremetrics is strong at SMB, ChartMogul at enterprise. The $1M–$10M ARR tier is underserved.
21
+
22
+ ## Signals against a SaaS pivot
23
+
24
+ - 85 paying e-commerce customers. Zero SaaS customers acquired intentionally.
25
+ - All platform integrations (Shopify, WooCommerce, Meta Ads, Google Ads) are e-commerce-specific.
26
+ - Amazon Marketplace integration — top customer request — is pure e-commerce.
27
+ - Founding expertise is in e-commerce. SaaS metrics has different requirements.
28
+
29
+ ## Other observations
30
+
31
+ - The weekly digest has a 71% open rate — highest engagement of any surface. Not mentioned in pricing or positioning.
32
+ - Pricing page says "e-commerce analytics platform." SaaS customers self-qualify out. Some who would buy, don't.
33
+ - No formal ICP document. "Mid-market e-commerce brands" is the working definition, not a written one.
34
+ - Series A lead VC asked at last board meeting: "what's your plan for the SaaS signal?" No formal answer yet.
@@ -0,0 +1,34 @@
1
+ # Customer segments — Beacon
2
+
3
+ _Rough segmentation. Not from a formal analysis — assembled from CRM and team knowledge._
4
+
5
+ ## Segment A: Core e-commerce (85 customers)
6
+
7
+ - Shopify or WooCommerce stores, $500K–$10M annual revenue
8
+ - Marketing or e-commerce manager is the main user
9
+ - Primary use: ROAS tracking, anomaly alerts, weekly digest
10
+ - Churn: ~14% annually
11
+ - ACV: ~$900/month
12
+ - Most common churn reason: "Triple Whale has better attribution"
13
+
14
+ ## Segment B: SaaS (14 customers, all inbound / word-of-mouth)
15
+
16
+ - SaaS companies, $1M–$10M ARR
17
+ - Finance or RevOps is the main user
18
+ - Primary use: MRR tracking, cohort analysis (repurposed from e-commerce), anomaly detection
19
+ - Churn: ~6% annually
20
+ - ACV: ~$1,400/month
21
+ - How they found us: mostly word of mouth; one from a "best Baremetrics alternatives" article
22
+
23
+ ## Segment C: Agency / multi-brand (4 customers)
24
+
25
+ - Marketing agencies managing multiple client accounts
26
+ - Want white-label or multi-brand dashboard view — not supported
27
+ - Two have asked explicitly; not on the roadmap
28
+
29
+ ## Key unknowns
30
+
31
+ - Whether SaaS churn (6%) is truly lower or just newer cohorts that haven't had time to churn
32
+ - What SaaS buyers would look like if we marketed to them intentionally
33
+ - Why SaaS customers find value despite e-commerce-specific terminology on the dashboard
34
+ - Whether the 4 agency customers represent a third viable segment or are noise
@@ -0,0 +1,15 @@
1
+ # layers-plus-intake — Beacon
2
+ # Source: product observation, SaaS customer feedback
3
+
4
+ _Feed to `/layers-plus-intake`. Light — product design hasn't been a focus at this stage._
5
+
6
+ ---
7
+
8
+ - The dashboard shows e-commerce KPIs (ROAS, add-to-cart rate) to SaaS customers who don't use them. No way to customize which metrics are shown.
9
+ - SaaS customers encounter e-commerce terminology throughout the product. "Add to cart rate" on a SaaS metrics dashboard creates confusion.
10
+ - The weekly digest email is the highest-engagement surface (71% open rate) but it's never been redesigned from the MVP version.
11
+ - The pricing page and homepage say "e-commerce analytics" — SaaS customers who would buy are self-qualifying out without contacting us.
12
+
13
+ ---
14
+
15
+ _No design research has been run at this stage. These observations are from customer support notes and one casual review._
@@ -0,0 +1,33 @@
1
+ # maven-intake — Beacon
2
+ # Source: website review, email data, team conversations
3
+
4
+ _Feed to `/maven-intake`._
5
+
6
+ ---
7
+
8
+ ## Positioning and messaging
9
+
10
+ - Website hero: "The e-commerce analytics platform that tells you what to do next."
11
+ - SaaS customers who found us organically say they were confused by the e-commerce framing. A few almost didn't sign up.
12
+ - No messaging anywhere on the site for the SaaS analytics use case.
13
+ - The weekly digest — highest-loved feature — is not mentioned on the homepage or pricing page.
14
+
15
+ ## Content and acquisition
16
+
17
+ - No blog or content strategy. Acquisition is word-of-mouth and paid.
18
+ - One "best Baremetrics alternatives" article ranked for a query that sent 3 SaaS customers.
19
+ - No customer case studies. No customer stories.
20
+ - Social: minimal presence. Occasional LinkedIn posts.
21
+
22
+ ## Email
23
+
24
+ - Onboarding sequence: 3 emails over 7 days. Open rate ~45%.
25
+ - The weekly digest is the main ongoing communication. 71% open rate.
26
+ - No re-engagement sequence for at-risk or churned customers.
27
+ - Nobody on the team knows what the onboarding sequence says after day 7 — it was set up 18 months ago.
28
+
29
+ ## Open questions
30
+
31
+ - Whether SEO or content around "SaaS analytics" could be a real channel — one accidental ranking suggests it might
32
+ - How to message to SaaS companies without confusing the e-commerce customer base
33
+ - Whether the weekly digest's success is a positioning asset that should lead the story
@@ -0,0 +1,40 @@
1
+ # Competitive landscape — Beacon
2
+
3
+ _Updated after board meeting, May 2026._
4
+
5
+ ## E-commerce analytics (current market)
6
+
7
+ **Triple Whale**
8
+ - Raised $25M Series B last quarter. Well-funded, growing fast.
9
+ - Direct competitor for our core ICP.
10
+ - Better attribution (pixel-based vs our UTM approach).
11
+ - Better brand and more marketing presence.
12
+ - 3 e-commerce customers churned in Q2 citing "Triple Whale has better attribution."
13
+
14
+ **Supermetrics**
15
+ - Data connector, not opinionated. Different job — customers use it to self-assemble dashboards.
16
+
17
+ **Looker / Tableau**
18
+ - Enterprise price points. Not direct competition at our stage.
19
+
20
+ ## SaaS metrics (adjacent — relevant if we change direction)
21
+
22
+ **Baremetrics**
23
+ - Subscription analytics, Stripe-native. Strong brand in SaaS. Would be a direct competitor if we serve SaaS intentionally.
24
+
25
+ **ChartMogul**
26
+ - More mature than Baremetrics. Enterprise SaaS focus. More expensive.
27
+
28
+ **ProfitWell** (now part of Paddle)
29
+ - Subscription analytics bundled with payments. Different motion.
30
+
31
+ ## The competitive problem
32
+
33
+ If we stay e-commerce: we face Triple Whale with 4× our funding and better attribution.
34
+ If we pursue SaaS: we compete with Baremetrics and ChartMogul, both entrenched in SaaS analytics.
35
+
36
+ Neither path is obviously right. The board is aware of this. No decision has been made.
37
+
38
+ ---
39
+
40
+ _Triple Whale data from public announcements. Baremetrics/ChartMogul from their websites and public reviews. No formal competitive research has been conducted._
@@ -0,0 +1,29 @@
1
+ # Roadmap — Beacon
2
+
3
+ _Series A priorities. Reviewed with the board quarterly._
4
+
5
+ ## Now (shipping Q2)
6
+
7
+ - Amazon Marketplace integration — 18 customers have asked, 6 months overdue
8
+ - SaaS metrics mode (MRR, churn, expansion revenue) — experimental, for the 14 SaaS customers
9
+ - Alert threshold customization — anomaly detection too noisy for high-volume stores
10
+
11
+ ## Next (Q3)
12
+
13
+ - Mobile app (read-only dashboard) — top NPS comment request
14
+ - API access — one large customer is blocked without it
15
+ - Cohort analysis improvements — SaaS customers are using the e-commerce cohort tool for subscription analysis; it's a workaround
16
+
17
+ ## Later
18
+
19
+ - White-label / agency tier
20
+ - Predictive analytics (LTV forecasting)
21
+ - Data warehouse connectors (Snowflake, BigQuery)
22
+
23
+ ## Open strategic question affecting the roadmap
24
+
25
+ The board asked us to scope a "SaaS mode" for Q3. The founding team hasn't decided if this is a separate product, a separate pricing tier, or just new features. This decision affects the Q3 plan significantly and hasn't been made.
26
+
27
+ ---
28
+
29
+ _Amazon integration is late. It's the #1 explicit customer request and its absence has come up in 3 churn conversations._
@@ -0,0 +1,22 @@
1
+ # weeve-guardrails.md — Beacon
2
+
3
+ ## Hard limits
4
+ - No enterprise sales motion in the next 12 months — team is too small, no sales hire planned
5
+ - Shopify and Meta Ads integrations are load-bearing — cannot deprecate without losing 60% of customers
6
+ - $6M raised, 18-month runway at current burn — no raise anticipated in next 9 months
7
+
8
+ ## Strategic constraints
9
+ - Founding team has e-commerce domain expertise; SaaS metrics is adjacent but not core knowledge
10
+ - Board composition: 2 e-commerce founders as angels, lead VC is generalist — board is split on pivot
11
+ - No dedicated marketing or sales hire; all growth has been product-led + word of mouth
12
+
13
+ ## Non-negotiables
14
+ - Monthly pricing (no annual lock-in until product is more mature)
15
+ - Customer data must never be used to train models or shared across tenants
16
+ - The weekly digest must remain part of every paid plan
17
+
18
+ ## What the data shows
19
+ - E-commerce customers: 71 accounts, 14% annual churn, avg contract $900/month
20
+ - SaaS customers (unsolicited): 14 accounts, 6% annual churn, avg contract $1,400/month
21
+ - Top feature requests from e-commerce: better attribution modeling, Amazon integration
22
+ - Top feature requests from SaaS: MRR/ARR tracking, trial conversion funnel, subscription cohorts
@@ -0,0 +1,17 @@
1
+ # weeve-intake.md — Beacon observations
2
+
3
+ ---
4
+
5
+ ## Captured observations
6
+
7
+ - 14 SaaS companies signed up without being targeted — lower churn (6%) and higher ACV ($1,400) than the e-commerce core
8
+ - Triple Whale raised $25M Series B last quarter; heavily marketing to the same e-commerce ICP
9
+ - The weekly digest has a 71% open rate — highest engagement of any product surface, but it's not in the positioning
10
+ - 3 e-commerce customers churned in Q2 citing "Triple Whale has better attribution" — a feature Beacon doesn't have
11
+ - The founding team has e-commerce backgrounds; nobody has shipped a SaaS metrics product before
12
+ - Board meeting last month: lead VC asked "are we the right team to win e-commerce against Triple Whale?"
13
+ - Amazon Marketplace integration has been on the roadmap for 6 months; 18 customers have asked for it
14
+ - Cohort analysis feature (LTV by acquisition channel) was built for e-commerce but SaaS customers are using it for subscription cohorts
15
+ - Beacon's pricing page describes an "e-commerce analytics platform" — SaaS customers are confused about whether it's for them
16
+ - One SaaS customer (350 employees) asked about enterprise contract and SSO — team declined, but it would be $4,200/month
17
+ - No formal competitor analysis has been documented; team tracks competitors informally via Twitter/LinkedIn
@@ -0,0 +1,25 @@
1
+ # Beacon — project brief
2
+
3
+ **What it is:** Beacon is a B2B analytics platform for mid-market e-commerce brands. It pulls data from Shopify, WooCommerce, Meta Ads, and Google Ads, and gives merchandising and marketing teams a unified view of performance without needing a data team.
4
+
5
+ **Stage:** Series A ($6M raised). 85 paying customers, mostly $500–$2,000/month. ARR ~$1.1M. Growing 8% MoM.
6
+
7
+ **Core product:**
8
+ - Unified dashboard (revenue, CAC, LTV, ROAS in one view)
9
+ - Automated anomaly detection (flags unusual drops/spikes)
10
+ - Weekly digest emails (summary of key movements)
11
+ - Basic cohort analysis (repeat purchase rate, churn by cohort)
12
+
13
+ **The strategic tension:**
14
+ The team has been e-commerce-focused since day one. But 14 SaaS companies have been SaaS companies — they found Beacon via word of mouth and are using it for subscription revenue tracking. Churn among SaaS customers is lower (6% vs 14% for e-commerce). The board is asking whether Beacon should pivot to serve SaaS companies more directly. The founding team is split.
15
+
16
+ **Competitive landscape:**
17
+ - Looker / Tableau: enterprise, requires a data team, overkill for mid-market
18
+ - Supermetrics: connector-focused, not opinionated about what to look at
19
+ - Triple Whale: e-commerce focused, strong brand, direct competitor in the core ICP
20
+ - Baremetrics / ChartMogul: SaaS metrics, would be direct competitors if Beacon pivoted
21
+
22
+ **Open questions:**
23
+ - Stay e-commerce or broaden to SaaS metrics? Is the SaaS signal real or noise?
24
+ - Triple Whale is well-funded and growing fast — can Beacon differentiate, or is this a feature war?
25
+ - The weekly digest is the highest-rated feature, but it's not part of the core positioning
@@ -0,0 +1,15 @@
1
+ # weeve.yaml — strategy preset demo project
2
+ schema_version: "0.4"
3
+
4
+ project:
5
+ name: Beacon
6
+ tag: BCN
7
+ docs_root: ./weeve
8
+
9
+ roads:
10
+ - name: startup
11
+ path: roads/startup
12
+
13
+ # Lanes in this preset: compass, layers-plus, maven, pilot
14
+ # Demo project: Beacon — B2B analytics for e-commerce
15
+ # Run /compass-intro to get started
@@ -0,0 +1,14 @@
1
+ # weeve.yaml — strategy preset
2
+ # Generated by: weeve init strategy
3
+ schema_version: "0.4"
4
+
5
+ project:
6
+ name: My Project # Replace with your project name
7
+ tag: MYP # Short ID — matches vault Projects/<tag>/ folder
8
+ # docs_root: ./weeve # Uncomment to use a local path instead of vault
9
+
10
+ roads:
11
+ - name: startup
12
+ path: roads/startup
13
+
14
+ # Lanes in this preset: compass, layers-plus, maven, pilot
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@keighleykodric/weeve",
3
- "version": "0.1.0",
4
- "description": "Cross-functional alignment system — install and manage Weeve lanes",
3
+ "version": "0.1.2",
4
+ "description": "Cross-functional contract framework — install and manage Weeve lanes",
5
5
  "bin": {
6
6
  "weeve": "./bin/weeve.js"
7
7
  },
@@ -10,5 +10,16 @@
10
10
  "type": "git",
11
11
  "url": "https://github.com/keighleykodric/weeve.git"
12
12
  },
13
- "keywords": ["weeve", "alignment", "cross-functional", "claude-code", "skills"]
13
+ "keywords": [
14
+ "weeve",
15
+ "alignment",
16
+ "cross-functional",
17
+ "claude-code",
18
+ "skills"
19
+ ],
20
+ "files": [
21
+ "bin/",
22
+ "examples/",
23
+ "spec/"
24
+ ]
14
25
  }
@@ -0,0 +1,109 @@
1
+ # CONTRIBUTING.md template for Weeve lanes
2
+
3
+ _Canonical shared template. Replace `<lane>` with the lane name (e.g., compass, ally, forge). Remove this preamble before publishing._
4
+ _Reference adoption: `weeve-pilot/CONTRIBUTING.md`. Each lane repo should follow this structure and note derivation in its CONTRIBUTING.md header._
5
+
6
+ ---
7
+
8
+ # Contributing
9
+
10
+ ## Adding a step
11
+
12
+ Each step is a single `SKILL.md` file in its own directory under `skills/`.
13
+
14
+ **Directory naming:** `NN-<lane>-<name>/` where `NN` is a two-digit prefix for human ordering. The prefix doesn't affect how the installer sorts — it uses the `name` frontmatter field — but it keeps the directory listing readable.
15
+
16
+ **Required frontmatter:**
17
+
18
+ ```yaml
19
+ ---
20
+ name: <lane>-<name>
21
+ description: One sentence. What does this step do and what does it write?
22
+ ---
23
+ ```
24
+
25
+ No quotes around the description value. The `name` field becomes the slash command.
26
+
27
+ ## Step structure
28
+
29
+ Every step should follow this pattern:
30
+
31
+ ```markdown
32
+ ---
33
+ name: <lane>-<name>
34
+ description: ...
35
+ ---
36
+
37
+ # /<lane>-<name>
38
+
39
+ *Brief framing — what question does this step answer?*
40
+
41
+ **Read only, write audit only.** [What it reads. What it writes.]
42
+
43
+ ---
44
+
45
+ ## State detection
46
+
47
+ [Check weeve/<lane>/ for existing files and handle clean/partial/old-format states.]
48
+
49
+ ---
50
+
51
+ ## What to audit
52
+
53
+ [Specific things to look for, organised by sub-topic.]
54
+
55
+ ---
56
+
57
+ ## Rating
58
+
59
+ [Strong / Partial / Weak / Manual check required — with definitions.]
60
+
61
+ ---
62
+
63
+ ## Write `<lane>-<name>.md`
64
+
65
+ [Exact output template in a fenced code block.]
66
+
67
+ ---
68
+
69
+ ## After auditing
70
+
71
+ [Confirm the file was written. Brief summary. Recommended next step.]
72
+ ```
73
+
74
+ ## The audit-only rule
75
+
76
+ Steps read source files. They never edit, refactor, or fix anything in the repo being audited. If a step finds a problem, it records it in the output file — it does not fix it. Fixes are the operator's decision.
77
+
78
+ ## Output files
79
+
80
+ Each step writes exactly one file: its designated `<lane>-<name>.md` in `weeve/<lane>/`. No other files. No improvised outputs. No splitting results across multiple locations.
81
+
82
+ If a step needs data from another step, it reads that step's output file — it does not re-run the audit.
83
+
84
+ ## Testing a step
85
+
86
+ 1. Make changes in `skills/<NN>-<name>/SKILL.md` (the repo — not the installed copy)
87
+ 2. Copy to the installed location: `cp -r skills/<NN>-<name> ~/.claude/skills/<name>`
88
+ 3. Run the step in a test project that has (or doesn't have) a `weeve/<lane>/` folder
89
+ 4. Check the output file matches the template exactly
90
+
91
+ ## Error messages
92
+
93
+ Every error has three parts, one line each:
94
+
95
+ 1. **What happened** — the observed state, factual.
96
+ 2. **Why it matters** — why this state requires a response from the operator.
97
+ 3. **What to do next** — concrete recovery action.
98
+
99
+ Error tone is reassuring, not blaming. Treat the situation as "earlier in the flow than expected", not "operator did the wrong thing".
100
+
101
+ ## Repo structure
102
+
103
+ ```
104
+ skills/ <- step source files (edit these)
105
+ README.md <- user-facing install and usage
106
+ CONTRIBUTING.md <- this file
107
+ LICENSE <- MIT
108
+ lane.yaml <- lane metadata (owner, consumers, output)
109
+ ```
@@ -0,0 +1,55 @@
1
+ # README template for Weeve lanes
2
+
3
+ _Use this template when creating or standardizing a lane README. Replace all `<placeholders>` with lane-specific content. Remove this preamble before publishing._
4
+
5
+ ---
6
+
7
+ # <Lane Name>
8
+
9
+ <One sentence: what this lane does and why it exists.>
10
+
11
+ ## Install
12
+
13
+ ```
14
+ npx skills add keighleykodric/weeve-<lane>
15
+ ```
16
+
17
+ ## What it does
18
+
19
+ <2-3 sentences expanding on the one-liner. What does the lane audit/produce? What's the outcome for the operator?>
20
+
21
+ ## Skills
22
+
23
+ | Skill | What it does |
24
+ |---|---|
25
+ | `/<lane>-intro` | First-run onboarding — scope, context, routes to intake |
26
+ | `/<lane>-intake` | Capture raw requests and route to the right zone |
27
+ | `/<lane>-orient` | Diagnostic sweep — identifies the bottleneck zone |
28
+ | ... | ... |
29
+ | `/<lane>-signals` | Prioritized findings — the file Pilot reads |
30
+ | `/<lane>-dashboard` | Visual HTML summary of findings |
31
+ | `/<lane>-tickets` | Generate tickets from findings |
32
+ | `/<lane>-triage` | Walk findings — mark closed, deferred, dismissed |
33
+ | `/<lane>-check` | Verify closed findings are actually fixed |
34
+
35
+ ## Where to start
36
+
37
+ 1. Run `/<lane>-intro` — captures scope and context
38
+ 2. Run `/<lane>-orient` — identifies where to focus
39
+ 3. Run zone skills as directed
40
+ 4. Run `/<lane>-signals` — produces the prioritized output
41
+
42
+ ## How it fits
43
+
44
+ <Lane Name> writes `<lane>-signals.md`. Pilot reads it alongside all other lane outputs and synthesizes a single roadmap. See [WORKFLOW.md](https://github.com/keighleykodric/weeve/blob/main/WORKFLOW.md) for the full cross-lane rhythm.
45
+
46
+ ### Sibling lanes
47
+
48
+ <List lanes this one cites or is cited by — not dependencies, just cross-references.>
49
+
50
+ - **[Compass](https://github.com/keighleykodric/weeve-compass)** — <one line on the relationship>
51
+ - **[Pilot](https://github.com/keighleykodric/weeve-pilot)** — reads `<lane>-signals.md` for roadmap synthesis
52
+
53
+ ## License
54
+
55
+ MIT
@@ -6,7 +6,7 @@ _The cross-functional quality gate that blocks `/pilot-ship` when critical findi
6
6
 
7
7
  ## What gate-ship means
8
8
 
9
- A finding in any lane's recommendations file can carry a `gate-ship: true` field. When `/pilot-ship` runs, it scans the ship gate sections of Guard and Verify recommendations files. If any finding is marked `gate-ship: true` and its state is not `closed` or `accepted-risk`, the ship is blocked.
9
+ A finding in any lane's signals file can carry a `gate-ship: true` field. When `/pilot-ship` runs, it scans the ship gate sections of Guard and Verify signals files. If any finding is marked `gate-ship: true` and its state is not `closed` or `accepted-risk`, the ship is blocked.
10
10
 
11
11
  **The gate is a hard stop, not an advisory.** `/pilot-ship` will not execute tasks in the affected area until the finding is resolved or an explicit operator override is recorded.
12
12
 
@@ -61,7 +61,7 @@ An operator can override a gate-ship block. The override must include:
61
61
  2. **Scope** — what area the override covers
62
62
  3. **Owner** — who made the decision
63
63
 
64
- The override is appended to the **Ship override history** table in the relevant recommendations file so the pattern becomes visible across runs. If the same finding is overridden repeatedly, the finding's severity or scope is wrong — surface it as a 🔴 item to fix the finding, not the override.
64
+ The override is appended to the **Ship override history** table in the relevant signals file so the pattern becomes visible across runs. If the same finding is overridden repeatedly, the finding's severity or scope is wrong — surface it as a 🔴 item to fix the finding, not the override.
65
65
 
66
66
  ```markdown
67
67
  ## Ship override history
@@ -78,7 +78,7 @@ The override is appended to the **Ship override history** table in the relevant
78
78
  Blocking findings do not auto-close on ship. When a gate-ship finding is resolved:
79
79
 
80
80
  1. The lane's `-check` skill verifies the fix (`/guard-check`, `/verify-check`)
81
- 2. The finding state is updated to `closed` in the recommendations file
81
+ 2. The finding state is updated to `closed` in the signals file
82
82
  3. The gate-ship field remains `true` but the state change lifts the block
83
83
  4. `/pilot-ship` reads the updated state on its next run and proceeds
84
84
 
@@ -86,14 +86,14 @@ Blocking findings do not auto-close on ship. When a gate-ship finding is resolve
86
86
 
87
87
  ## How to add gate-ship to a finding
88
88
 
89
- In a lane's recommendations skill spec, tag the finding:
89
+ In a lane's signals skill spec, tag the finding:
90
90
 
91
91
  ```markdown
92
92
  **gate-ship:** true
93
93
  **State:** open
94
94
  ```
95
95
 
96
- The finding must also appear in a dedicated `## Ship gate` section at the top of the recommendations file so `/pilot-ship` can scan it without parsing the full document.
96
+ The finding must also appear in a dedicated `## Ship gate` section at the top of the signals file so `/pilot-ship` can scan it without parsing the full document.
97
97
 
98
98
  ---
99
99
 
@@ -105,9 +105,9 @@ Changes to the gate-ship protocol (which lanes can trigger it, what severity lev
105
105
  2. Reflected in `lane-conventions.md` under the severity mapping section
106
106
  3. Communicated to all lane maintainers
107
107
 
108
- Adding gate-ship authority to a new lane requires a recorded decision in `docs/decisions.md` — it changes the power dynamics of Weeve.
108
+ Adding gate-ship authority to a new lane requires a recorded decision in `weeve/decisions.md` — it changes the power dynamics of Weeve.
109
109
 
110
110
  ---
111
111
 
112
- _Source: `lane-conventions.md` severity mapping, Guard and Verify recommendations skill specs, `/pilot-ship` skill spec_
112
+ _Source: `lane-conventions.md` severity mapping, Guard and Verify signals skill specs, `/pilot-ship` skill spec_
113
113
  _Generated by [pilot](https://github.com/keighleykodric/weeve-pilot) · 2026-05-25_