AGENT SKILL

whats-next

Answers what to do next, what to work on next, where we're at

License 许可
MIT
最近更新
2026-03-19
Stars
★ 1
Forks
0

01 前言 Front Matter

name
whats-next
description
Answers what to do next, what to work on next, where we're at

02 资源文件 8

03 SKILL.md 正文

analyze the project state and suggest next steps:

1. Query Active Work Items

# Get high-priority, unblocked work
beans query '{ beans(filter: { priority: ["critical", "high"], excludeStatus: ["completed", "scrapped", "draft"], isBlocked: false }) { id title status type priority parent { title } } }'

# Get all actionable beans (any priority, not blocked)
beans query '{ beans(filter: { excludeStatus: ["completed", "scrapped", "draft"], isBlocked: false }) { id title status type priority parent { title } blockedBy { title } } }'

2. Check Project Progress

# View phase/epic progress
beans query '{ beans(filter: { type: ["epic", "milestone"] }) { id title status children { id title status } } }'

# Count work by status
beans query '{ beans { status } }' | grep -o '"status": "[^"]*"' | sort | uniq -c

3. Present Recommendations

Based on the queries above, present the user with:

Format:

## Current Project State

**Phases/Epics:**
- [Epic Name] - X/Y tasks complete
  - Key incomplete items: [list]

**Recommended Next Tasks (in priority order):**

1. **[Bean ID] - [Title]** (Priority: [high/critical])
   - Type: [task/feature/bug]
   - Parent: [Epic name]
   - Why: [Brief reason why this should be next]
   - Blockers: [None / List blockers]

2. **[Bean ID] - [Title]** (Priority: [high])
   - ...

**In-Progress Work:**
- [List any beans with status "in-progress"]

**Blocked Work:**
- [List any blocked high-priority beans and what's blocking them]

---

**Recommendation:** I suggest starting with [Bean ID] because [reasoning].

Would you like to:
1. Work on [recommended bean]
2. Choose a different task from the list
3. Review a specific area in detail
4. Create new work items

4. If User Agrees to Suggested Work

# Get full bean details
beans query '{ bean(id: "[bean-id]") { title status type priority body parent { title } children { title status } blockedBy { title } blocking { title } } }'

Then:

  • Summarize the bean's requirements
  • Outline your proposed implementation approach
  • Identify any dependencies or concerns
  • Ask for user confirmation before proceeding

Work Session Guidelines

Before Starting Implementation:

  • ✅ Mark bean in-progress: beans update <id> --status in-progress
  • ✅ Verify understanding of requirements with user
  • ✅ Confirm no blocking dependencies
  • ✅ Review relevant documentation in pages/ or docs/adr/

During Implementation:

  • ✅ Follow TDD cycle: RED (failing test) → GREEN (minimal code) → REFACTOR
  • ✅ Use *Core.DataCase for database tests, ExUnit.Case for pure logic
  • ✅ Update bean checklist as items complete (edit bean file, mark - [x])
  • ✅ Run tests frequently: mix test
  • ✅ Follow Elixir/Phoenix/Ecto guidelines from AGENTS.md

After Completing Task:

  • ✅ Ensure all tests pass: mix test
  • ✅ Run precommit checks: mix precommit (if alias exists)
  • ✅ Mark bean completed: beans update <id> --status completed
  • ✅ Commit code changes AND updated bean file together
  • ✅ Automatically query for next task and present recommendations again

Priority Decision Logic

When suggesting work, prioritize in this order:

  1. Critical/High priority + Unblocked + In-Progress - Resume active work
  2. Critical priority + Unblocked + Not started - Urgent new work
  3. High priority + Unblocked + Required for blocked work - Unblock others
  4. High priority + Unblocked + Leaf tasks - Tasks with no dependencies
  5. Normal priority + Quick wins - Tasks marked as simple/small
  6. Ask user - If unclear, present options and ask

Common Queries Reference

Find work by type:

# Bugs
beans query '{ beans(filter: { type: ["bug"], excludeStatus: ["completed"] }) { id title priority } }'

# Features  
beans query '{ beans(filter: { type: ["feature"], excludeStatus: ["completed"] }) { id title status children { id status } } }'

Search by keyword:

beans query '{ beans(filter: { search: "message schema langchain" }) { id title type status body } }'

View dependency chain:

beans query '{ bean(id: "[id]") { title blockedBy { id title blockedBy { title } } blocking { id title blocking { title } } } }'

Key Project Principles

Quality Standards:

  • 85% test coverage required

  • No breaking changes without discussion
  • Backward compatibility for database schemas
  • All public functions documented with @doc and @spec

Development Workflow:

  • Use git worktrees for feature isolation (see AGENTS.md)
  • Beans track ALL work - no markdown TODOs
  • Always verify location: pwd | grep -q ".worktrees/" && echo "IN WORKTREE" || echo "IN MAIN REPO"

Begin by analyzing beans and presenting recommendations for what to work on next.

04 同仓库更多 Skills