Skip to content

Add /start-issue delivery loop and shared agent command surface #324

Closed

Description

@mattrace

Summary / context

Agent delivery in fluent-mobile is split across Cursor slash commands (/create-pr-branch, /create-pr, /generate-pr-description) with no single issue → branch → implement → PR loop. Commands live only under .cursor/commands/; Claude Code has no command surface besides pr-demo-video.

This ticket adds a shared agent command surface: canonical instructions under .claude/commands/, thin Cursor / shims, /start-issue for the full delivery graph, a stronger /create-pr handoff (code-reviewer, Project 4 In PR Review, CI watch), plus a Fluent-specific code-reviewer agent and a small set of skills.

Current vs expected

Current

  • Six Cursor-only slash commands; no /start-issue
  • /create-pr does not run a convention reviewer, does not move Project 4 to In PR Review, and does not watch CI to green
  • .claude/ has only skills/pr-demo-video/

Expected

  • /start-issue NNN claims the ticket, sets In Progress (Dev), cuts a branch from main using existing naming, plan-gates large work, implements to AC, then chains to /create-pr
  • /create-pr (alias /open-pr) hard-blocks on CI gates, runs code-reviewer, opens a draft PR with Refs #NNN, sets In PR Review, watches CI; never merges; never uses closing keywords
  • Cursor shims point at .claude/commands/; always-on rules stay in .cursor/rules/

Scope

In scope

  • Move existing six command bodies to .claude/commands/ with thin Cursor shims
  • Add /start-issue and /open-pr alias
  • Strengthen /create-pr (reviewer, board move, CI watch)
  • Add ai-tooling-bridge + pr-delivery-ci-gate Cursor rules
  • Add .claude/agents/code-reviewer.md (Fluent architecture / Android-only / theme / Refs)
  • Add sync-claude-primitives and write-test skills adapted to this repo
  • Warn-only hook for fetch( / raw SQL in src/app/ and src/components/
  • Update docs/issue-tracking.md, docs/AGENT_ONBOARDING.md, CLAUDE.md, commands.mdc, delivery.mdc

Out of scope

  • Release-train / iOS run commands
  • Changing CI to changed-files-only lint
  • Moving the PR template out of .cursor/templates/
  • Scaffolding skills for other app architectures

Acceptance criteria

  • /start-issue NNN and /create-pr (plus /open-pr alias) work from Cursor's / palette and by reading .claude/commands/
  • Existing six commands still appear in Cursor; logic lives once under .claude/
  • /create-pr sets Project 4 Status to In PR Review (best-effort) and watches CI; never merges; Refs #NNN only
  • /start-issue respects Project 4 hard rules (no Product-column edits; In Progress (Dev) for the assigned ticket)
  • Docs + commands.mdc list the new loop
  • CI gates pass (format:check, lint, typecheck, npm test -- --ci)

Verification / test plan

  1. Confirm Cursor / palette lists /start-issue, /open-pr, and the existing six commands
  2. Read .claude/commands/start-issue.md and .claude/commands/create-pr.md — Fluent facts only (main, Refs, Project 4, npm, Android-only)
  3. Run CI command order from .cursor/rules/commands.mdc

Links

  • Board: Fluent Mobile Board
  • Delivery: .cursor/rules/delivery.mdc
  • Board rules: docs/guides/project-board.md

Activity

  1. moved this to In Progress (Product) in Fluenton Aug 12, 2026
  2. moved this from In Progress (Product) to In Progress (Dev) in Fluenton Aug 12, 2026
  3. moved this from In Progress (Dev) to In PR Review in Fluenton Aug 13, 2026
  4. added a commit that references this issue on Aug 13, 2026
  5. added a commit that references this issue on Aug 13, 2026
  6. moved this from In PR Review to Done in Fluenton Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions