Loading...
Loading...
Transforms business strategy (canvas) or natural language into a single measurable goal. Classifies input, extracts intent, derives target using formulas, writes goal file. Does NOT decompose - use sys-decomposing-goals for hierarchy.
npx skill4agent add bellabe/lean-os sys-defining-goalssys-decomposing-goalsstrategy/goals/active/{goal-dir}/goal.mdstrategy/canvas/*.md| User Says | Intent | Category |
|---|---|---|
| "grow revenue" | increase_arr | revenue |
| "more customers" | acquire_customers | revenue |
| "book more meetings" | increase_meetings | activity |
| "generate leads" | increase_mqls | activity |
| "publish more content" | increase_content | content |
| "speed up sales" | reduce_cycle_time | efficiency |
| "reduce CAC" | optimize_cac | efficiency |
| "keep customers" | improve_retention | retention |
| Section | Extractable Data |
|---|---|
| Metric framework (MRR vs ARR) |
| ICP-specific targets |
| ARPU for revenue calculations |
| Current baseline values |
| Channel-specific capacity |
| File | Purpose |
|---|---|
| Determines metric framework |
| Provides baseline values |
| File | Default If Missing |
|---|---|
| $50K avg deal |
| 25% win rate |
| Equal channel distribution |
target_revenue / win_ratepipeline / (opp_rate × avg_deal_size)meetings / meeting_ratesql_target / mql_to_sql_ratecurrent_rate + improvement_targetcurrent_days × (1 - reduction_pct)strategy/goals/active/strategy/goals/active/{goal-dir}/
└── goal.md # Parent goal definitionsys-decomposing-goals{short-name}-{period}ea-revenue-q1strategy/goals/active/ea-revenue-q1/goal.mddistribution-q1strategy/goals/active/distribution-q1/goal.mdconversion-q1strategy/goals/active/conversion-q1/goal.md---
goal_id: {goal_id}
name: {human readable name}
category: {revenue|activity|content|efficiency|retention}
target_value: {number}
target_unit: {currency|count|percentage|days}
target_direction: {maximize|minimize}
period_start: {YYYY-MM-DD}
period_end: {YYYY-MM-DD}
period_type: {quarterly|monthly|weekly|annual}
baseline_value: {number}
baseline_source: {file path or "user_provided"}
baseline_date: {YYYY-MM-DD}
parent_goal: {goal_id|null}
child_goals: []
thread: null
derivation_formula: {formula name}
derivation_assumptions: [{name}: {value}]
ownership_accountable: {role}
ownership_contributors: [{roles}]
constraints_budget: {number|null}
constraints_headcount: {number|null}
constraints_capacity: {description|null}
confidence_score: {0.0-1.0}
status: active
created: {YYYY-MM-DD}
---
# {Goal Name}
## Target
{target_value} {unit} by {period_end}
## Current State
{baseline_value} {unit} as of {baseline_date}
## Gap Analysis
- **Absolute Gap:** {target - baseline} {unit}
- **Relative Gap:** {gap_percentage}%
- **Required Pace:** {daily_required} {unit}/day
## Derivation
**Source:** {parent_goal or "Direct input"}
**Formula:** {formula_description}
### Assumptions
| Assumption | Value | Source |
|------------|-------|--------|
| {name} | {value} | {canvas section or default} |
## Milestones
| Date | Target | Status |
|------|--------|--------|
| {milestone_1_date} | {value} | pending |
| {milestone_2_date} | {value} | pending |
| {milestone_3_date} | {value} | pending |
## Risk Factors
- {risk_1}
- {risk_2}
## Constraints
- **Budget:** {amount or "None"}
- **Headcount:** {count or "None"}
- **Capacity:** {description or "None"}baseline + (gap × milestone_fraction)1. RECEIVE input (canvas reference, NL, or hybrid)
2. CLASSIFY input type
└── Canvas: Read files, extract structured values
└── NL: Extract intent, ask clarifying questions
└── Hybrid: Extract structured first, supplement
3. CHECK canvas dependencies
└── Required missing: STOP, prompt user
└── Recommended missing: Use defaults, flag
4. DERIVE target
└── Apply appropriate formula
└── Record assumptions used
5. CALCULATE milestones
└── Determine distribution pattern
└── Generate milestone dates and values
6. WRITE goal file
└── Create directory: strategy/goals/active/{goal-dir}/
└── Write: strategy/goals/active/{goal-dir}/goal.md
└── Format: Frontmatter + prose (no inline YAML)
7. UPDATE index
└── Add to strategy/goals/index.md
8. RETURN goal_id for downstream usesys-decomposing-goalssys-activating-goalssys-tracking-goalssys-decomposing-goalssys-activating-goalssys-tracking-goalsSet Q1 revenue goal based on strategy/canvas/13.metrics.mdstrategy/goals/active/arr-q1/
└── goal.mdI want to hit $1M ARR by end of Q1strategy/goals/active/arr-q1/
└── goal.mdBased on our bootstrap mode and current metrics,
I want to add 50 new customers this quarterstrategy/goals/active/customers-q1/
└── goal.md