Propose Lane Move
Analyze a Business OS card's current state and propose a lane transition based on evidence from stage documents and completion criteria. The agent proposes; Pete approves and executes the move.
Operating Mode
READ-ONLY ANALYSIS + PROPOSAL
Allowed:
- Read card data via agent API
- Read all stage documents via agent API
- Analyze evidence against lane transition criteria
- Update card's
Proposed-Lane field via API PATCH
Not allowed:
- Moving card to new lane (Pete does this via UI after approval)
- Creating stage documents (use
/work-idea for that)
- Modifying lane transition rules
Inputs
Required:
- Card ID (e.g.,
BRIK-ENG-0001)
Optional:
- Target lane (if Pete has a specific lane in mind; otherwise agent recommends)
Lane Transition Criteria
From Inbox → Fact-finding
- Evidence required: None (always allowed)
- Action: Agent creates
fact-find stage doc via /work-idea (API-backed)
From Fact-finding → Planned
- Evidence required:
- Fact-finding stage doc exists and contains findings
- Key questions answered or marked as assumptions
- Blast radius understood
- Evidence sources documented (measurement, customer-input, repo-diff, experiment, etc.)
- Recommendation: Create plan (separate task) before proposing move
From Planned → In progress
- Evidence required:
- Plan stage doc exists with clear acceptance criteria
- Dependencies resolved (no blocking cards)
- Owner assigned
- Confidence ≥80% (if measurable)
From In progress → Done
- Evidence required:
- All acceptance criteria met
- Tests passing
- Code changes committed
- No open blockers
From In progress → Blocked
- Evidence required:
- Blocker documented in stage doc or comments
- Blocker card created and linked (if applicable)
From Done → Reflected
- Evidence required:
- Reflection stage doc created with outcomes, learnings, metrics
- Any follow-up cards created
- Business plan updated (if applicable)
From any lane → Inbox (reset)
- Evidence required: Fundamental change in approach or requirements
- Recommendation: Document reason in comments
Archiving (Dropped/Retired)
- Not handled by this skill - use archive mechanism separately
Workflow
Read card + stage docs via agent API
{
"method": "GET",
"url": "${BOS_AGENT_API_BASE_URL}/api/agent/cards/BRIK-ENG-0001",
"headers": { "X-Agent-API-Key": "${BOS_AGENT_API_KEY}" }
}
{
"method": "GET",
"url": "${BOS_AGENT_API_BASE_URL}/api/agent/stage-docs?cardId=BRIK-ENG-0001",
"headers": { "X-Agent-API-Key": "${BOS_AGENT_API_KEY}" }
}
Analyze current lane and evidence
- Check what stage docs exist
- Verify evidence completeness against criteria above
- Check for blockers (Dependencies field, comments)
Determine eligible target lanes
- Based on current lane and available evidence
- Consider forward progression (Inbox → ... → Reflected)
- Consider lateral moves (In progress → Blocked, back to Planned)
Propose lane
- Update card's
Proposed-Lane field via API PATCH
- Add comment explaining rationale and evidence references
- Example:
## Lane Move Proposal: Fact-finding → Planned
**Evidence:**
- Fact-finding stage doc complete (API stage `fact-find`)
- Key questions answered in FAQ section
- Blast radius: Medium (affects 3 files in `apps/brikette/src/components/`)
- Evidence sources: repo-diff (commit abc123), measurement (page load reduced 200ms)
**Recommendation:** Create plan doc before moving to Planned lane.
Persist proposal via API
{
"method": "PATCH",
"url": "${BOS_AGENT_API_BASE_URL}/api/agent/cards/BRIK-ENG-0001",
"headers": {
"X-Agent-API-Key": "${BOS_AGENT_API_KEY}",
"Content-Type": "application/json"
},
"body": {
"baseEntitySha": "<entitySha from GET>",
"patch": { "Proposed-Lane": "Planned" }
}
}
Conflict handling: if PATCH returns 409, refetch and retry once. If it conflicts again, stop and surface the error.
Evidence Quality Checks
Before proposing a move, verify:
- Evidence sources are typed (use evidence type enum from BOS-26)
- Evidence is specific (links to files, commits, metrics, not vague statements)
- Evidence is recent (prefer data from last 30 days for active cards)
- Assumptions are explicit (mark any unknowns clearly)
Edge Cases
Card has multiple blockers
- Propose
In progress → Blocked
- List all blockers in proposal comment
- Recommend creating blocker cards if they don't exist
Evidence is weak/missing
- Do NOT propose move
- Recommend specific evidence gathering steps
- Example: "Run performance benchmarks before proposing Done"
Proposed-Lane already set
- Check if proposal is still valid
- If new evidence warrants different lane, update proposal
- If proposal is stale (>7 days), recommend refreshing
Dependencies unresolved
- Do NOT propose
Planned → In progress
- List unresolved dependency card IDs
- Check dependency card status and estimate timeline
Integration with Other Skills
- Use
/work-idea to create Fact-finding stage doc before proposing Inbox → Fact-finding
- Use
/scan-repo to gather repo evidence for proposals
- Follow up proposal with
/update-business-plan if lane move affects strategy
Example Session
User: /propose-lane-move BRIK-ENG-0001
Agent:
I'll analyze BRIK-ENG-0001 and propose a lane move.
[Reads card: currently in Fact-finding lane]
[Reads stage docs: fact-find stage exists]
[Checks evidence: contains repo-diff evidence, measurement data, clear findings]
Based on the analysis:
**Current lane:** Fact-finding
**Proposed lane:** Planned
**Evidence:**
- Fact-finding stage doc complete with 3 key findings
- Evidence: repo-diff (8 files analyzed), measurement (200ms improvement confirmed)
- No blocking dependencies identified
- Blast radius: Medium (3 components in apps/brikette)
**Next steps:**
1. Create plan stage doc with acceptance criteria
2. Pete reviews and approves via card edit UI
3. Move to Planned lane
I'll now update the card's Proposed-Lane field.
[Commits change with agent identity]
Done! Proposal added to BRIK-ENG-0001. Pete can review in the card detail view.
Error Handling
- Card not found: Return clear error with card ID
- No stage docs: Recommend starting with Fact-finding
- Insufficient evidence: List specific missing evidence, don't propose move
- Invalid target lane: Explain lane progression rules
Phase 0 Constraints
- Pete-only approval (no automated approvals)
- Agent identity used for all proposal commits
- UI shows Proposed-Lane but Pete must manually update Lane field
- Fail-closed: if API is unavailable or conflicts after retry, stop and surface the error
- No notification system (Pete checks boards manually)
Success Metrics
- Proposals approved without modification: >80%
- Evidence completeness: All proposals reference specific stage doc sections
- Proposal turnaround: <2 days from proposal to approval (Pete's discretion)
1---2name: propose-lane-move3description: Propose lane transitions for Business OS cards based on stage document evidence and completion criteria.4---5
6# Propose Lane Move
7
8Analyze a Business OS card's current state and propose a lane transition based on evidence from stage documents and completion criteria. The agent proposes; Pete approves and executes the move.
9
10## Operating Mode
11
12**READ-ONLY ANALYSIS + PROPOSAL**
13
14**Allowed:**
15- Read card data via agent API
16- Read all stage documents via agent API
17- Analyze evidence against lane transition criteria
18- Update card's `Proposed-Lane` field via API PATCH
19
20**Not allowed:**
21- Moving card to new lane (Pete does this via UI after approval)
22- Creating stage documents (use `/work-idea` for that)
23- Modifying lane transition rules
24
25## Inputs
26
27**Required:**
28- Card ID (e.g., `BRIK-ENG-0001`)
29
30**Optional:**
31- Target lane (if Pete has a specific lane in mind; otherwise agent recommends)
32
33## Lane Transition Criteria
34
35### From Inbox → Fact-finding
36- **Evidence required:** None (always allowed)
37- **Action:** Agent creates `fact-find` stage doc via `/work-idea` (API-backed)
38
39### From Fact-finding → Planned
40- **Evidence required:**
41 - Fact-finding stage doc exists and contains findings
42 - Key questions answered or marked as assumptions
43 - Blast radius understood
44 - Evidence sources documented (measurement, customer-input, repo-diff, experiment, etc.)
45- **Recommendation:** Create plan (separate task) before proposing move
46
47### From Planned → In progress
48- **Evidence required:**
49 - Plan stage doc exists with clear acceptance criteria
50 - Dependencies resolved (no blocking cards)
51 - Owner assigned
52 - Confidence ≥80% (if measurable)
53
54### From In progress → Done
55- **Evidence required:**
56 - All acceptance criteria met
57 - Tests passing
58 - Code changes committed
59 - No open blockers
60
61### From In progress → Blocked
62- **Evidence required:**
63 - Blocker documented in stage doc or comments
64 - Blocker card created and linked (if applicable)
65
66### From Done → Reflected
67- **Evidence required:**
68 - Reflection stage doc created with outcomes, learnings, metrics
69 - Any follow-up cards created
70 - Business plan updated (if applicable)
71
72### From any lane → Inbox (reset)
73- **Evidence required:** Fundamental change in approach or requirements
74- **Recommendation:** Document reason in comments
75
76### Archiving (Dropped/Retired)
77- **Not handled by this skill** - use archive mechanism separately
78
79## Workflow
80
811. **Read card + stage docs via agent API**
82 ```json
83 {
84 "method": "GET",
85 "url": "${BOS_AGENT_API_BASE_URL}/api/agent/cards/BRIK-ENG-0001",
86 "headers": { "X-Agent-API-Key": "${BOS_AGENT_API_KEY}" }
87 }
88 ```
89 ```json
90 {
91 "method": "GET",
92 "url": "${BOS_AGENT_API_BASE_URL}/api/agent/stage-docs?cardId=BRIK-ENG-0001",
93 "headers": { "X-Agent-API-Key": "${BOS_AGENT_API_KEY}" }
94 }
95 ```
96
972. **Analyze current lane and evidence**
98 - Check what stage docs exist
99 - Verify evidence completeness against criteria above
100 - Check for blockers (Dependencies field, comments)
101
1023. **Determine eligible target lanes**
103 - Based on current lane and available evidence
104 - Consider forward progression (Inbox → ... → Reflected)
105 - Consider lateral moves (In progress → Blocked, back to Planned)
106
1074. **Propose lane**
108 - Update card's `Proposed-Lane` field via API PATCH
109 - Add comment explaining rationale and evidence references
110 - Example:
111 ```markdown
112 ## Lane Move Proposal: Fact-finding → Planned
113
114 **Evidence:**
115 - Fact-finding stage doc complete (API stage `fact-find`)
116 - Key questions answered in FAQ section
117 - Blast radius: Medium (affects 3 files in `apps/brikette/src/components/`)
118 - Evidence sources: repo-diff (commit abc123), measurement (page load reduced 200ms)
119
120 **Recommendation:** Create plan doc before moving to Planned lane.
121 ```
122
1235. **Persist proposal via API**
124 ```json
125 {
126 "method": "PATCH",
127 "url": "${BOS_AGENT_API_BASE_URL}/api/agent/cards/BRIK-ENG-0001",
128 "headers": {
129 "X-Agent-API-Key": "${BOS_AGENT_API_KEY}",
130 "Content-Type": "application/json"
131 },
132 "body": {
133 "baseEntitySha": "<entitySha from GET>",
134 "patch": { "Proposed-Lane": "Planned" }
135 }
136 }
137 ```
138
139 **Conflict handling:** if PATCH returns 409, refetch and retry once. If it conflicts again, stop and surface the error.
140
141## Evidence Quality Checks
142
143Before proposing a move, verify:
144
145- **Evidence sources are typed** (use evidence type enum from BOS-26)
146- **Evidence is specific** (links to files, commits, metrics, not vague statements)
147- **Evidence is recent** (prefer data from last 30 days for active cards)
148- **Assumptions are explicit** (mark any unknowns clearly)
149
150## Edge Cases
151
152### Card has multiple blockers
153- Propose `In progress → Blocked`
154- List all blockers in proposal comment
155- Recommend creating blocker cards if they don't exist
156
157### Evidence is weak/missing
158- Do NOT propose move
159- Recommend specific evidence gathering steps
160- Example: "Run performance benchmarks before proposing Done"
161
162### Proposed-Lane already set
163- Check if proposal is still valid
164- If new evidence warrants different lane, update proposal
165- If proposal is stale (>7 days), recommend refreshing
166
167### Dependencies unresolved
168- Do NOT propose `Planned → In progress`
169- List unresolved dependency card IDs
170- Check dependency card status and estimate timeline
171
172## Integration with Other Skills
173
174- Use `/work-idea` to create Fact-finding stage doc before proposing Inbox → Fact-finding
175- Use `/scan-repo` to gather repo evidence for proposals
176- Follow up proposal with `/update-business-plan` if lane move affects strategy
177
178## Example Session
179
180```
181User: /propose-lane-move BRIK-ENG-0001
182
183Agent:
184I'll analyze BRIK-ENG-0001 and propose a lane move.
185
186[Reads card: currently in Fact-finding lane]
187[Reads stage docs: fact-find stage exists]
188[Checks evidence: contains repo-diff evidence, measurement data, clear findings]
189
190Based on the analysis:
191
192**Current lane:** Fact-finding
193**Proposed lane:** Planned
194**Evidence:**
195- Fact-finding stage doc complete with 3 key findings
196- Evidence: repo-diff (8 files analyzed), measurement (200ms improvement confirmed)
197- No blocking dependencies identified
198- Blast radius: Medium (3 components in apps/brikette)
199
200**Next steps:**
2011. Create plan stage doc with acceptance criteria
2022. Pete reviews and approves via card edit UI
2033. Move to Planned lane
204
205I'll now update the card's Proposed-Lane field.
206
207[Commits change with agent identity]
208
209Done! Proposal added to BRIK-ENG-0001. Pete can review in the card detail view.
210```
211
212## Error Handling
213
214- **Card not found:** Return clear error with card ID
215- **No stage docs:** Recommend starting with Fact-finding
216- **Insufficient evidence:** List specific missing evidence, don't propose move
217- **Invalid target lane:** Explain lane progression rules
218
219## Phase 0 Constraints
220
221- Pete-only approval (no automated approvals)
222- Agent identity used for all proposal commits
223- UI shows Proposed-Lane but Pete must manually update Lane field
224- Fail-closed: if API is unavailable or conflicts after retry, stop and surface the error
225- No notification system (Pete checks boards manually)
226
227## Success Metrics
228
229- Proposals approved without modification: >80%
230- Evidence completeness: All proposals reference specific stage doc sections
231- Proposal turnaround: <2 days from proposal to approval (Pete's discretion)