[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ERTRAM8PSJ9JTAW5J4ABFD":3,"skill-same:01M6ERTRAM8PSJ9JTAW5J4ABFD":90},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M6ERTRAM8PSJ9JTAW5J4ABFD","whats-next",null,"Answers what to do next, what to work on next, where we're at","nocksock\u002Fsuperpowers","nocksock","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22164?v=4","01M6ERQWRTZARGFM7AX8HB89GZ","Nils Riedemann","01M6ERQWXFH5876Z6HEDH9TWYS",1,"MIT","https:\u002F\u002Fgithub.com\u002Fnocksock\u002Fsuperpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwhats-next\u002FSKILL.md",[],[19,20,21,22,23],"next","whats next","work on","work","do","2026-11-10 10:12:30",false,"---\nname: whats-next\ndescription: Answers what to do next, what to work on next, where we're at\n---\n **analyze the project state** and suggest next steps:\n\n### 1. **Query Active Work Items**\n\n```bash\n# Get high-priority, unblocked work\nbeans query '{ beans(filter: { priority: [\"critical\", \"high\"], excludeStatus: [\"completed\", \"scrapped\", \"draft\"], isBlocked: false }) { id title status type priority parent { title } } }'\n\n# Get all actionable beans (any priority, not blocked)\nbeans query '{ beans(filter: { excludeStatus: [\"completed\", \"scrapped\", \"draft\"], isBlocked: false }) { id title status type priority parent { title } blockedBy { title } } }'\n```\n\n### 2. **Check Project Progress**\n\n```bash\n# View phase\u002Fepic progress\nbeans query '{ beans(filter: { type: [\"epic\", \"milestone\"] }) { id title status children { id title status } } }'\n\n# Count work by status\nbeans query '{ beans { status } }' | grep -o '\"status\": \"[^\"]*\"' | sort | uniq -c\n```\n\n### 3. **Present Recommendations**\n\nBased on the queries above, present the user with:\n\n**Format:**\n```\n## Current Project State\n\n**Phases\u002FEpics:**\n- [Epic Name] - X\u002FY tasks complete\n  - Key incomplete items: [list]\n\n**Recommended Next Tasks (in priority order):**\n\n1. **[Bean ID] - [Title]** (Priority: [high\u002Fcritical])\n   - Type: [task\u002Ffeature\u002Fbug]\n   - Parent: [Epic name]\n   - Why: [Brief reason why this should be next]\n   - Blockers: [None \u002F List blockers]\n\n2. **[Bean ID] - [Title]** (Priority: [high])\n   - ...\n\n**In-Progress Work:**\n- [List any beans with status \"in-progress\"]\n\n**Blocked Work:**\n- [List any blocked high-priority beans and what's blocking them]\n\n---\n\n**Recommendation:** I suggest starting with [Bean ID] because [reasoning].\n\nWould you like to:\n1. Work on [recommended bean]\n2. Choose a different task from the list\n3. Review a specific area in detail\n4. Create new work items\n```\n\n### 4. **If User Agrees to Suggested Work**\n\n```bash\n# Get full bean details\nbeans query '{ bean(id: \"[bean-id]\") { title status type priority body parent { title } children { title status } blockedBy { title } blocking { title } } }'\n```\n\nThen:\n- Summarize the bean's requirements\n- Outline your proposed implementation approach\n- Identify any dependencies or concerns\n- Ask for user confirmation before proceeding\n\n## Work Session Guidelines\n\n**Before Starting Implementation:**\n- ✅ Mark bean in-progress: `beans update \u003Cid> --status in-progress`\n- ✅ Verify understanding of requirements with user\n- ✅ Confirm no blocking dependencies\n- ✅ Review relevant documentation in `pages\u002F` or `docs\u002Fadr\u002F`\n\n**During Implementation:**\n- ✅ **Follow TDD cycle**: RED (failing test) → GREEN (minimal code) → REFACTOR\n- ✅ Use `*Core.DataCase` for database tests, `ExUnit.Case` for pure logic\n- ✅ Update bean checklist as items complete (edit bean file, mark `- [x]`)\n- ✅ Run tests frequently: `mix test`\n- ✅ Follow Elixir\u002FPhoenix\u002FEcto guidelines from `AGENTS.md`\n\n**After Completing Task:**\n- ✅ Ensure all tests pass: `mix test`\n- ✅ Run precommit checks: `mix precommit` (if alias exists)\n- ✅ Mark bean completed: `beans update \u003Cid> --status completed`\n- ✅ Commit code changes AND updated bean file together\n- ✅ **Automatically query for next task** and present recommendations again\n\n## Priority Decision Logic\n\nWhen suggesting work, prioritize in this order:\n\n1. **Critical\u002FHigh priority + Unblocked + In-Progress** - Resume active work\n2. **Critical priority + Unblocked + Not started** - Urgent new work\n3. **High priority + Unblocked + Required for blocked work** - Unblock others\n4. **High priority + Unblocked + Leaf tasks** - Tasks with no dependencies\n5. **Normal priority + Quick wins** - Tasks marked as simple\u002Fsmall\n6. **Ask user** - If unclear, present options and ask\n\n## Common Queries Reference\n\n**Find work by type:**\n```bash\n# Bugs\nbeans query '{ beans(filter: { type: [\"bug\"], excludeStatus: [\"completed\"] }) { id title priority } }'\n\n# Features  \nbeans query '{ beans(filter: { type: [\"feature\"], excludeStatus: [\"completed\"] }) { id title status children { id status } } }'\n```\n\n**Search by keyword:**\n```bash\nbeans query '{ beans(filter: { search: \"message schema langchain\" }) { id title type status body } }'\n```\n\n**View dependency chain:**\n```bash\nbeans query '{ bean(id: \"[id]\") { title blockedBy { id title blockedBy { title } } blocking { id title blocking { title } } } }'\n```\n\n## Key Project Principles\n\n**Quality Standards:**\n- >85% test coverage required\n- No breaking changes without discussion\n- Backward compatibility for database schemas\n- All public functions documented with `@doc` and `@spec`\n\n**Development Workflow:**\n- Use git worktrees for feature isolation (see `AGENTS.md`)\n- Beans track ALL work - no markdown TODOs\n- Always verify location: `pwd | grep -q \".worktrees\u002F\" && echo \"IN WORKTREE\" || echo \"IN MAIN REPO\"`\n\n---\n\n**Begin by analyzing beans and presenting recommendations for what to work on next.**\n","**analyze the project state** and suggest next steps:\n\n### 1. **Query Active Work Items**\n\n```bash\n# Get high-priority, unblocked work\nbeans query '{ beans(filter: { priority: [\"critical\", \"high\"], excludeStatus: [\"completed\", \"scrapped\", \"draft\"], isBlocked: false }) { id title status type priority parent { title } } }'\n\n# Get all actionable beans (any priority, not blocked)\nbeans query '{ beans(filter: { excludeStatus: [\"completed\", \"scrapped\", \"draft\"], isBlocked: false }) { id title status type priority parent { title } blockedBy { title } } }'\n```\n\n### 2. **Check Project Progress**\n\n```bash\n# View phase\u002Fepic progress\nbeans query '{ beans(filter: { type: [\"epic\", \"milestone\"] }) { id title status children { id title status } } }'\n\n# Count work by status\nbeans query '{ beans { status } }' | grep -o '\"status\": \"[^\"]*\"' | sort | uniq -c\n```\n\n### 3. **Present Recommendations**\n\nBased on the queries above, present the user with:\n\n**Format:**\n```\n## Current Project State\n\n**Phases\u002FEpics:**\n- [Epic Name] - X\u002FY tasks complete\n  - Key incomplete items: [list]\n\n**Recommended Next Tasks (in priority order):**\n\n1. **[Bean ID] - [Title]** (Priority: [high\u002Fcritical])\n   - Type: [task\u002Ffeature\u002Fbug]\n   - Parent: [Epic name]\n   - Why: [Brief reason why this should be next]\n   - Blockers: [None \u002F List blockers]\n\n2. **[Bean ID] - [Title]** (Priority: [high])\n   - ...\n\n**In-Progress Work:**\n- [List any beans with status \"in-progress\"]\n\n**Blocked Work:**\n- [List any blocked high-priority beans and what's blocking them]\n\n---\n\n**Recommendation:** I suggest starting with [Bean ID] because [reasoning].\n\nWould you like to:\n1. Work on [recommended bean]\n2. Choose a different task from the list\n3. Review a specific area in detail\n4. Create new work items\n```\n\n### 4. **If User Agrees to Suggested Work**\n\n```bash\n# Get full bean details\nbeans query '{ bean(id: \"[bean-id]\") { title status type priority body parent { title } children { title status } blockedBy { title } blocking { title } } }'\n```\n\nThen:\n- Summarize the bean's requirements\n- Outline your proposed implementation approach\n- Identify any dependencies or concerns\n- Ask for user confirmation before proceeding\n\n## Work Session Guidelines\n\n**Before Starting Implementation:**\n- ✅ Mark bean in-progress: `beans update \u003Cid> --status in-progress`\n- ✅ Verify understanding of requirements with user\n- ✅ Confirm no blocking dependencies\n- ✅ Review relevant documentation in `pages\u002F` or `docs\u002Fadr\u002F`\n\n**During Implementation:**\n- ✅ **Follow TDD cycle**: RED (failing test) → GREEN (minimal code) → REFACTOR\n- ✅ Use `*Core.DataCase` for database tests, `ExUnit.Case` for pure logic\n- ✅ Update bean checklist as items complete (edit bean file, mark `- [x]`)\n- ✅ Run tests frequently: `mix test`\n- ✅ Follow Elixir\u002FPhoenix\u002FEcto guidelines from `AGENTS.md`\n\n**After Completing Task:**\n- ✅ Ensure all tests pass: `mix test`\n- ✅ Run precommit checks: `mix precommit` (if alias exists)\n- ✅ Mark bean completed: `beans update \u003Cid> --status completed`\n- ✅ Commit code changes AND updated bean file together\n- ✅ **Automatically query for next task** and present recommendations again\n\n## Priority Decision Logic\n\nWhen suggesting work, prioritize in this order:\n\n1. **Critical\u002FHigh priority + Unblocked + In-Progress** - Resume active work\n2. **Critical priority + Unblocked + Not started** - Urgent new work\n3. **High priority + Unblocked + Required for blocked work** - Unblock others\n4. **High priority + Unblocked + Leaf tasks** - Tasks with no dependencies\n5. **Normal priority + Quick wins** - Tasks marked as simple\u002Fsmall\n6. **Ask user** - If unclear, present options and ask\n\n## Common Queries Reference\n\n**Find work by type:**\n```bash\n# Bugs\nbeans query '{ beans(filter: { type: [\"bug\"], excludeStatus: [\"completed\"] }) { id title priority } }'\n\n# Features  \nbeans query '{ beans(filter: { type: [\"feature\"], excludeStatus: [\"completed\"] }) { id title status children { id status } } }'\n```\n\n**Search by keyword:**\n```bash\nbeans query '{ beans(filter: { search: \"message schema langchain\" }) { id title type status body } }'\n```\n\n**View dependency chain:**\n```bash\nbeans query '{ bean(id: \"[id]\") { title blockedBy { id title blockedBy { title } } blocking { id title blocking { title } } } }'\n```\n\n## Key Project Principles\n\n**Quality Standards:**\n- >85% test coverage required\n- No breaking changes without discussion\n- Backward compatibility for database schemas\n- All public functions documented with `@doc` and `@spec`\n\n**Development Workflow:**\n- Use git worktrees for feature isolation (see `AGENTS.md`)\n- Beans track ALL work - no markdown TODOs\n- Always verify location: `pwd | grep -q \".worktrees\u002F\" && echo \"IN WORKTREE\" || echo \"IN MAIN REPO\"`\n\n---\n\n**Begin by analyzing beans and presenting recommendations for what to work on next.**\n",{"name":5,"description":7},"main","52d2d5a29297631b5e3ff61fbc8ca3c6505a26e2","skills\u002Fwhats-next",0,"https:\u002F\u002Fgithub.com\u002Fnocksock\u002Fsuperpowers","https:\u002F\u002Fgithub.com\u002Fnocksock","http:\u002F\u002Fbleepbloop.studio\u002F","Hi, I'm Nils. I build interfaces for the web.","2026-03-19 04:55:50",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add nocksock\u002Fsuperpowers --skill whats-next",{"tool":44,"command":45},"bunx","bunx skills add nocksock\u002Fsuperpowers --skill whats-next",{"tool":47,"command":48},"pnpm","pnpm dlx skills add nocksock\u002Fsuperpowers --skill whats-next","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fnocksock\u002Fsuperpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwhats-next\u002FSKILL.md",true,[52,58,62,66,70,76,82,86],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"assets\u002Fheadless-schemas.md","ASSET","资产文件",2060,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-prd\u002Fassets\u002Fheadless-schemas.md",{"path":59,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":60,"sourceHtmlUrl":61},"assets\u002Fprd-template.md",10846,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-prd\u002Fassets\u002Fprd-template.md",{"path":63,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":64,"sourceHtmlUrl":65},"assets\u002Fprd-validation-checklist.md",2553,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-prd\u002Fassets\u002Fprd-validation-checklist.md",{"path":67,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":68,"sourceHtmlUrl":69},"assets\u002Fvalidation-report-template.html",6310,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-prd\u002Fassets\u002Fvalidation-report-template.html",{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"customize.toml","OTHER","其他",4252,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-prd\u002Fcustomize.toml",{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fheadless.md","REFERENCE","参考文档",1136,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-prd\u002Freferences\u002Fheadless.md",{"path":83,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fprobing.md",3602,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-prd\u002Freferences\u002Fprobing.md",{"path":87,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fvalidate.md",3215,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-prd\u002Freferences\u002Fvalidate.md",[91,116,132,149,162,177],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":110,"publishedAt":24},"01M6ERV5R58PKM81EH15XEYPMF","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002Fnocksock\u002Fsuperpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[97,102,105],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":103,"categoryName":104,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[111,112,113,22,114,115],"writing","writing skills","deployment","editing","use",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":124,"publishedAt":24},"01M6ERV2JX5DJV2EHSC6FXHEHN","writing-plans","Use when you have a spec or requirements for a multi-step task, before touching code","https:\u002F\u002Fgithub.com\u002Fnocksock\u002Fsuperpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[122,123],{"categoryNo":103,"categoryName":104,"taxonomyType":100,"taxonomyTypeDesc":101},{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},[111,125,126,127,128,115,129,130,131],"writing plans","plans","code","spec","task","requirements","multi",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":143,"publishedAt":24},"01M6ERTZS70NCVS375DTD8HGKE","writing good code","use this skill whenever you write code. it provides a process for creating good, composable apis.","https:\u002F\u002Fgithub.com\u002Fnocksock\u002Fsuperpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-good-code\u002FSKILL.md",[138,139,142],{"categoryNo":103,"categoryName":104,"taxonomyType":100,"taxonomyTypeDesc":101},{"categoryNo":140,"categoryName":141,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},[134,144,111,127,145,115,146,147,148],"good","it","process","write","composable",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":24},"01M6ERTVVRPKZVWK6M8EXPB5QE","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.","https:\u002F\u002Fgithub.com\u002Fnocksock\u002Fsuperpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwrite-or-review-elixir\u002FSKILL.md",[],[156,157,158,147,159,160,127,161,115],"write review elixir","review","elixir","elixir code","code quality","quality",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":24},"01M6ERTNG9NT8SQH5FHN91JRTS","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","https:\u002F\u002Fgithub.com\u002Fnocksock\u002Fsuperpowers\u002Fblob\u002Fmain\u002Fskills\u002Fverification-before-completion\u002FSKILL.md",[],[169,170,171,22,115,172,173,174,175,176],"verification before completion","verification","claim","evidence","commands","complete","output","about",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":24},"01M6ERTJAXFN4Y2ZSKX8CV1DJX","using-superpowers","Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions","https:\u002F\u002Fgithub.com\u002Fnocksock\u002Fsuperpowers\u002Fblob\u002Fmain\u002Fskills\u002Fusing-superpowers\u002FSKILL.md",[],[184,185,186,187,188,115,189,190],"using superpowers","superpowers","how","tool","find","conversation","how to"]