Skip to content

Product Enhancement: Native Session Ask-Tracking #366

Closed as not planned
Closed as not planned

Description

@diberry

Problem

When users work with Squad for extended sessions (full-day work), there's no native mechanism to track what they've asked for. Users lose track of their requests, and the only existing tools (SQL todos table, plan.md) are opt-in — requiring the user to explicitly say "track this" or use the [[PLAN]] prefix.

The gap: Squad tracks what agents do (orchestration logs, history, decisions) but not what users ask.

What Squad Tracks Today (and the Gap)

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 "track this"
plan.md Planning artifact Opt-in — requires [[PLAN]] prefix

Proposed Phased Approach

Phase 1: Catalog as Directive

Catalog common enhancements to Squad via directives. Treat auto-tracking as a directive — a coordinator behavior that can be captured in .squad/decisions.md and applied via squad.agent.md prompt engineering. This lets teams opt-in by adding a directive like:

"Always extract and track user asks from every message. Maintain a structured ask list throughout the session."

This requires zero product changes — it's a prompt pattern that any Squad team can adopt today.

Phase 2: CLI Switch (Opt-In)

Add a CLI flag to explicitly enable ask tracking:

squad shell --track-asks
squad --track-asks

When enabled:

  • Coordinator automatically extracts asks from each user message
  • Classifies: new ask vs. follow-up vs. status check vs. directive
  • Maintains a structured ask list in .squad/sessions/{id}/asks.json
  • Natural language access: "What have I asked for?" / "What's pending?"
  • Survives context compaction (file-based, not in-memory)

Phase 3: Config File Option

Add a squad.config.ts option for project-level configuration:

export default defineSquad({
  session: {
    autoTrackAsks: true,
    askSummary: 'end-of-session', // or 'continuous'
  }
});

This makes tracking a project-level setting — set once, forget.

NOT proposed: Default-on

Auto-tracking should not be turned on by default. It should remain opt-in via CLI switch or config to avoid:

  • Unwanted overhead for quick sessions
  • Coordinator context bloat
  • Unexpected behavior changes

What Auto-Tracking Unlocks

  • Day-long sessions: Work all day, never lose track of what you asked for
  • Handoff clarity: "Here's what was asked, here's where we are"
  • Session summaries: Automatic done / in-progress / not-started report
  • Cross-session continuity: Next session reads yesterday's ask registry
  • Accountability: Clear mapping from ask to agent to outcome

Ask Registry Shape (Phase 2+)

[
  { "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 }
]

Questions for Discussion

  1. Phase 1 scope: Should we ship a pre-built directive template that teams can copy, or document it as a pattern in the Squad docs?
  2. Phase 2 UX: What should the ask list look like when the user says "What have I asked for?" — table, bullet list, grouped by status?
  3. Phase 3 config surface: Should this live in squad.config.ts only, or also in .squad/config.json for non-SDK users?
  4. Classification: How sophisticated should the ask classifier be? Simple (every user message = ask) vs. smart (distinguish asks from follow-ups, feedback, status checks)?

/cc @bradygaster @tamirdresher for opinions on phasing and approach.


Reported by: Dina Berry
Source: Session conversation analyzing Squad product UX gap

Activity

  1. diberry commented on Mar 13, 2026

    @diberry
    ContributorAuthor

    Assigning @bradygaster and @tamirdresher for opinions on phasing and approach. (Could not auto-assign due to repo permissions — please self-assign if interested.)

  2. github-actions commented on Mar 13, 2026

    @github-actions
    Contributor

    🏗️ Squad Triage — Flight (Lead)

    Issue: #366 — Product Enhancement: Native Session Ask-Tracking
    Assigned to: FIDO (Quality Owner)
    Reason: Issue relates to testing/quality work

    @copilot evaluation: 🔴 Not suitable — issue involves work outside the coding agent's capability profile.

    Team roster:

    • Flight (Lead) → label: squad:flight
    • Procedures (Prompt Engineer) → label: squad:procedures
    • EECOM (Core Dev) → label: squad:eecom
    • FIDO (Quality Owner) → label: squad:fido
    • PAO (DevRel) → label: squad:pao
    • CAPCOM (SDK Expert) → label: squad:capcom
    • CONTROL (TypeScript Engineer) → label: squad:control
    • Surgeon (Release Manager) → label: squad:surgeon
    • Booster (CI/CD Engineer) → label: squad:booster
    • GNC (Node.js Runtime) → label: squad:gnc
    • Network (Distribution) → label: squad:network
    • RETRO (Security) → label: squad:retro
    • INCO (CLI UX & Visual Design) → label: squad:inco
    • GUIDO (VS Code Extension) → label: squad:guido
    • Telemetry (Aspire & Observability) → label: squad:telemetry
    • VOX (REPL & Interactive Shell) → label: squad:vox
    • DSKY (TUI Engineer) → label: squad:dsky
    • Sims (E2E Test Engineer) → label: squad:sims
    • Handbook (SDK Usability) → label: squad:handbook
    • Ralph (Work Monitor) → label: squad:ralph
    • @copilot (Coding Agent) → label: squad:copilot

    To reassign, remove the current squad:* label and add the correct one.

  3. github-actions commented on Mar 13, 2026

    @github-actions
    Contributor

    📋 Assigned to Flight (Lead)

    Issue: #366 — Product Enhancement: Native Session Ask-Tracking

    Flight will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    Flight, work on issue #366

  4. github-actions commented on Mar 13, 2026

    @github-actions
    Contributor

    📋 Assigned to EECOM (Core Dev)

    Issue: #366 — Product Enhancement: Native Session Ask-Tracking

    EECOM will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    EECOM, work on issue #366

  5. added 2 commits that reference this issue on Mar 16, 2026
    bf00c33
    b265b2a
  6. deleted a comment from github-actions on Mar 18, 2026
  7. deleted a comment from github-actions on Mar 18, 2026
  8. diberry commented on Mar 23, 2026

    @diberry
    ContributorAuthor

    Closing — not a Squad product addition

    Native session ask-tracking isn't an addition to Squad the product. If a user needs ask-tracking or session analytics, it would be built as a user-specific extension — a Squad skill, MCP integration, or external tool tailored to their workflow — not built into the core framework.

    Squad keeps the core focused on agent orchestration. Specific workflow enhancements like this belong in the extensibility layer (skills, plugins, MCP servers) where they can be shaped by actual user needs.

    squad obo dina

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    go:needs-researchNeeds investigationpriority:p1This sprintsquadSquad triage inbox — Lead will assign to a membertype:featureNew capability

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions