@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.
- package/README.md +75 -19
- package/bin/weeve.js +467 -2
- package/examples/core/CODEOWNERS.template +9 -0
- package/examples/core/README.md +63 -0
- package/examples/core/demo/README.md +38 -0
- package/examples/core/demo/weeve/ally/ally-intake.md +16 -0
- package/examples/core/demo/weeve/compass/compass-intake.md +15 -0
- package/examples/core/demo/weeve/layers-plus/figma-notes.md +31 -0
- package/examples/core/demo/weeve/layers-plus/layers-plus-intake.md +13 -0
- package/examples/core/demo/weeve/rubric/component-inventory.md +42 -0
- package/examples/core/demo/weeve/rubric/rubric-intake.md +14 -0
- package/examples/core/demo/weeve/shared/competitive.md +28 -0
- package/examples/core/demo/weeve/shared/roadmap.md +26 -0
- package/examples/core/demo/weeve/shared/weeve-guardrails.md +28 -0
- package/examples/core/demo/weeve/shared/weeve-intake.md +18 -0
- package/examples/core/demo/weeve/shared/weeve-project.md +33 -0
- package/examples/core/demo/weeve.yaml +15 -0
- package/examples/core/weeve.yaml +14 -0
- package/examples/engineering/CODEOWNERS.template +9 -0
- package/examples/engineering/README.md +61 -0
- package/examples/engineering/demo/README.md +20 -0
- package/examples/engineering/demo/weeve/forge/architecture.md +39 -0
- package/examples/engineering/demo/weeve/forge/ci-metrics.md +47 -0
- package/examples/engineering/demo/weeve/forge/forge-intake.md +41 -0
- package/examples/engineering/demo/weeve/guard/guard-intake.md +17 -0
- package/examples/engineering/demo/weeve/helm/helm-intake.md +16 -0
- package/examples/engineering/demo/weeve/helm/incidents.md +40 -0
- package/examples/engineering/demo/weeve/helm/on-call-runbook.md +33 -0
- package/examples/engineering/demo/weeve/shared/roadmap.md +25 -0
- package/examples/engineering/demo/weeve/shared/team.md +33 -0
- package/examples/engineering/demo/weeve/shared/weeve-guardrails.md +27 -0
- package/examples/engineering/demo/weeve/shared/weeve-intake.md +18 -0
- package/examples/engineering/demo/weeve/shared/weeve-project.md +29 -0
- package/examples/engineering/demo/weeve/verify/coverage-report.md +49 -0
- package/examples/engineering/demo/weeve/verify/verify-intake.md +16 -0
- package/examples/engineering/demo/weeve.yaml +15 -0
- package/examples/engineering/weeve.yaml +14 -0
- package/examples/gtm/CODEOWNERS.template +8 -0
- package/examples/gtm/README.md +59 -0
- package/examples/gtm/demo/README.md +19 -0
- package/examples/gtm/demo/weeve/compass/compass-intake.md +15 -0
- package/examples/gtm/demo/weeve/maven/maven-intake.md +35 -0
- package/examples/gtm/demo/weeve/maven/website-notes.md +33 -0
- package/examples/gtm/demo/weeve/pitch/pitch-intake.md +54 -0
- package/examples/gtm/demo/weeve/pitch/sales-deck-notes.md +28 -0
- package/examples/gtm/demo/weeve/pitch/win-loss-notes.md +40 -0
- package/examples/gtm/demo/weeve/shared/competitive.md +30 -0
- package/examples/gtm/demo/weeve/shared/roadmap.md +19 -0
- package/examples/gtm/demo/weeve/shared/weeve-guardrails.md +24 -0
- package/examples/gtm/demo/weeve/shared/weeve-intake.md +18 -0
- package/examples/gtm/demo/weeve/shared/weeve-project.md +25 -0
- package/examples/gtm/demo/weeve.yaml +22 -0
- package/examples/gtm/weeve.yaml +14 -0
- package/examples/product/CODEOWNERS.template +10 -0
- package/examples/product/README.md +67 -0
- package/examples/product/demo/README.md +21 -0
- package/examples/product/demo/weeve/ally/ally-intake.md +16 -0
- package/examples/product/demo/weeve/compass/compass-intake.md +15 -0
- package/examples/product/demo/weeve/felt/felt-intake.md +37 -0
- package/examples/product/demo/weeve/felt/user-research.md +68 -0
- package/examples/product/demo/weeve/layers-plus/layers-plus-intake.md +14 -0
- package/examples/product/demo/weeve/rubric/component-inventory.md +42 -0
- package/examples/product/demo/weeve/rubric/rubric-intake.md +14 -0
- package/examples/product/demo/weeve/shared/competitive.md +28 -0
- package/examples/product/demo/weeve/shared/roadmap.md +32 -0
- package/examples/product/demo/weeve/shared/weeve-guardrails.md +27 -0
- package/examples/product/demo/weeve/shared/weeve-intake.md +18 -0
- package/examples/product/demo/weeve/shared/weeve-project.md +29 -0
- package/examples/product/demo/weeve.yaml +21 -0
- package/examples/product/weeve.yaml +14 -0
- package/examples/strategy/CODEOWNERS.template +8 -0
- package/examples/strategy/README.md +59 -0
- package/examples/strategy/demo/README.md +19 -0
- package/examples/strategy/demo/weeve/compass/compass-intake.md +34 -0
- package/examples/strategy/demo/weeve/compass/customer-segments.md +34 -0
- package/examples/strategy/demo/weeve/layers-plus/layers-plus-intake.md +15 -0
- package/examples/strategy/demo/weeve/maven/maven-intake.md +33 -0
- package/examples/strategy/demo/weeve/shared/competitive.md +40 -0
- package/examples/strategy/demo/weeve/shared/roadmap.md +29 -0
- package/examples/strategy/demo/weeve/shared/weeve-guardrails.md +22 -0
- package/examples/strategy/demo/weeve/shared/weeve-intake.md +17 -0
- package/examples/strategy/demo/weeve/shared/weeve-project.md +25 -0
- package/examples/strategy/demo/weeve.yaml +15 -0
- package/examples/strategy/weeve.yaml +14 -0
- package/package.json +14 -3
- package/spec/contributing-template.md +109 -0
- package/spec/readme-template.md +55 -0
- package/{docs/shared/SHIP-GATE.md → spec/ship-gate.md} +7 -7
- package/spec/signals-schema.md +685 -0
- package/spec/weeve-yaml.md +274 -0
- package/.github/SECURITY.md +0 -22
- package/GOVERNANCE.md +0 -173
- package/WORKFLOW.md +0 -354
- package/docs/shared/engineering-pack-contract.md +0 -94
- package/docs/shared/id-prefix-reference.md +0 -235
- package/docs/shared/idea-intake-pattern.md +0 -99
- package/docs/shared/lane-conventions.md +0 -207
- 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.
|
|
4
|
-
"description": "Cross-functional
|
|
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": [
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 `
|
|
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
|
|
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_
|