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
- 资产文件assets/headless-schemas.md2.0 KB
- 资产文件assets/prd-template.md10.6 KB
- 资产文件assets/prd-validation-checklist.md2.5 KB
- 资产文件assets/validation-report-template.html6.2 KB
- 其他customize.toml4.2 KB
- 参考文档references/headless.md1.1 KB
- 参考文档references/probing.md3.5 KB
- 参考文档references/validate.md3.1 KB
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/ordocs/adr/
During Implementation:
- ✅ Follow TDD cycle: RED (failing test) → GREEN (minimal code) → REFACTOR
- ✅ Use
*Core.DataCasefor database tests,ExUnit.Casefor 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:
- Critical/High priority + Unblocked + In-Progress - Resume active work
- Critical priority + Unblocked + Not started - Urgent new work
- High priority + Unblocked + Required for blocked work - Unblock others
- High priority + Unblocked + Leaf tasks - Tasks with no dependencies
- Normal priority + Quick wins - Tasks marked as simple/small
- 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
@docand@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
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
writing-plans
Use when you have a spec or requirements for a multi-step task, before touching code
writing good code
use this skill whenever you write code. it provides a process for creating good, composable apis.
write-review-elixir
Review Elixir code. ALWAYS use this skill before or after you added code written in elixir to ensure high code quality. Also use use this when asked to review existing elixir code.
verification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
using-superpowers
Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions