Repository navigation
Description
Product Gap: Squad Should Auto-Track User Asks During Sessions
Raised by: Dina Berry
Context: During long squad sessions (full-day work), there's no native way to see a structured list of what you've asked for. Users shouldn't have to remember to say "track this" — the product should handle it.
The Problem
Squad tracks what agents do but not what users ask. There's no structured "request registry" that extracts user asks as first-class objects and tracks their lifecycle.
What Squad tracks today:
| Layer | What it captures | The gap |
|---|---|---|
| Orchestration log | Agent spawns, routing, outcomes | Tracks agent work, not user intent |
| decisions.md | Accumulated team policies | Decisions ≠ requests |
| history.md | Per-agent learned knowledge | What agents learned, not what was asked |
| Scribe logs | Post-session narrative | After-the-fact summary, not live list |
| Session store | Raw conversation turns | Unstructured — no semantic extraction |
| SQL todos | Task tracking | Opt-in — requires user to say "track this" |
| plan.md | Planning artifact | Opt-in — requires [[PLAN]] prefix |
What's missing:
- No automatic extraction of "user asks" from conversation
- No structured request registry that persists across context compactions
- No "show me my asks" command that works without prior setup
- No status tracking of asks (pending, in-progress, done, blocked)
- No end-of-session summary of what was asked vs. what was delivered
Proposed Phased Approach
Phase 1: Directive-Based Cataloging
Catalog common enhancements to Squad via directives. Treat auto-tracking as a directive pattern first — this validates the need and lets us iterate on what "tracking an ask" means in practice before building product features. Low cost, high learning.
Phase 2: CLI Switch (Opt-In)
Add a CLI flag to enable ask tracking per session:
squad --track-asks
squad session --tracking
- User-controlled, zero overhead when not wanted
- Tracking extracts asks from conversation turns into a structured format
- Natural language access: "What have I asked for?" / "What's still pending?"
- Storage:
.squad/sessions/{id}/asks.json
Phase 3: Config File Option
Add a persistent config option in squad.config.ts:
export default defineSquad({
session: {
autoTrackAsks: true,
askSummary: 'end-of-session', // or 'continuous'
}
});- Set once, forget — project-level setting
- Customizable: what to track, when to summarize, output format
Note: NOT turning this on by default. This should be opt-in at every phase.
Implementation Shape
1. Extraction — Coordinator classifies each user message:
- New ask (task, question, directive)
- Follow-up to existing ask
- Status check / meta-question
2. Storage — .squad/sessions/{id}/asks.json
[
{ "id": "ask-1", "text": "Set up Express server", "agent": "Dallas", "status": "done", "turn": 3 },
{ "id": "ask-2", "text": "Add search feature", "status": "in-progress", "turn": 7 },
{ "id": "ask-3", "text": "Always use Zod for validation", "type": "directive", "status": "captured", "turn": 12 }
]3. Natural language access — no special commands needed:
- "What have I asked for today?" → structured list with status
- "What's still pending?" → filtered view
- "What did we accomplish?" → end-of-session summary with ask→outcome mapping
4. Survives compaction — because it's in a file, not just in-memory SQL
What This Unlocks
- Day-long sessions: Work all day and never lose track
- Handoff clarity: "Here's what the user asked, here's where we are"
- Session summaries: Automatic done / in-progress / not started report
- Cross-session continuity: Next session starts by reading yesterday's ask registry
Requesting opinions from @bradygaster and @tamirdresher on the phased approach and priority.
Activity
tamirdresher commentedon Mar 13, 2026
So I'm conflicted on whether this should be the squad cli/ecosystem responsibility or maybe it just need to be aware and rely on tools like github issues or azure devops work items ( trello otr whatever else)
bradygaster commentedon Mar 13, 2026
Duplicate of #366. Same feature request (native auto-tracking of user asks). Consolidating discussion in #366.
chore(squad): quality review findings — 7 issues filed
test: E2E integration tests for REPL flow (github#379)
test: hostile input, SDK failure, and stress tests (github#380)
fix: P0 quality fixes from quality review (github#381)
test: human journey E2E tests - 7 real user scenarios, 39 assertions (g…
Product Love: First 10 seconds that make you want the next 10 minutes (…
test: speed gate tests for the impatient user journey (github#412)
Visual polish: separators, help, status, agents, thinking indicator (g…
feat: a11y fixes and test coverage (github#382)
fix: correct ThinkingIndicator test assertion (github#415)
Fix github#422: Add context to thinking spinner (github#435)
Fix github#422: Add context to thinking spinner (github#436)
Fix github#420/github#425: Add SDK connection feedback (github#437)
Fix github#432: Show retry warnings earlier (github#441)
Fix github#421: Lead with default behavior in --help (github#438)
Fix github#423/github#399: Make welcome non-blocking (github#439)
Fix github#428/github#401: Verify input buffering covers all paths (g…
Fix github#430: Wire coordinator streaming deltas (github#442)
fix: update test assertions to match new UX copy (github#443)