凤凰功能规划Skill phx:plan

这个技能用于规划和执行基于Elixir和Phoenix的Web应用功能开发,通过生成专家代理进行自动化研究和结构化计划制定,提升开发效率和代码质量。关键词:Elixir, Phoenix, 功能规划, 自动化代理, Web开发, 计划生成, 铁律检查

后端开发 0 次安装 0 次浏览 更新于 3/11/2026

name: phx:plan description: 通过全面研究规划Elixir/Phoenix功能。生成专家代理并输出带有复选框的结构化计划,用于/phx:work执行。 argument-hint: <功能描述或审查/计划文件的路径> disable-model-invocation: true

规划Elixir/Phoenix功能

通过生成Elixir专家代理来规划功能,然后输出带有复选框的结构化计划。

/phx:plan与/plan的不同之处

  1. 生成Elixir专家代理进行研究
  2. 使用[ecto][liveview][oban]任务路由进行规划
  3. 检查计划是否符合铁律
  4. 包括mix compile/format/credo/test验证
  5. 理解Phoenix上下文边界

用法

/phx:plan 使用S3上传添加用户头像
/phx:plan .claude/plans/notifications/reviews/notifications-review.md
/phx:plan 实现通知 --depth deep
/phx:plan .claude/plans/auth/plan.md --existing

参数

  • $ARGUMENTS = 功能描述、审查文件或现有计划
  • --depth quick|standard|deep = 规划深度(自动检测)
  • --existing = 通过更深入的研究增强现有计划

工作流程

  1. 收集上下文 — 文件路径(跳转到代理)、清晰的描述,或模糊/不清晰的(需要澄清)
  2. 如果模糊则澄清 — 每次问一个问题
  3. 检测深度 — 自动检测quick/standard/deep
  4. 运行时上下文(Tidewave)— 在生成代理之前收集实时的模式、路由和警告(参见planning-orchestrator)
  5. 生成研究代理 — 根据需要选择性、并行生成
  6. 等待所有代理 — 为每个生成的代理调用TaskOutput(task_id, block: true)。在所有返回“completed”之前不要继续。永远不要在代理仍在运行时编写计划
  7. 面包板(LiveView)— 多页面功能的系统图
  8. 完整性检查 — 从审查进行规划时强制进行
  9. 拆分决策 — 一个计划或多个,具体选项
  10. 生成计划 — 复选框、分阶段任务、代码模式
  11. 自检(仅深度)— 风险部分的三个问题
  12. 呈现并询问 — 停止,显示摘要,让用户决定

从审查规划时:每个发现都必须出现在计划中 — 要么作为任务,要么由用户明确推迟。

参见references/planning-workflow.md获取详细步骤。

–existing模式(深化)

增强现有计划而不是创建新计划:

  1. 加载计划,搜索.claude/solutions/中的已知风险
  2. 为薄弱部分生成SPECIALIST代理(非Explore)。每个代理写入.claude/plans/{slug}/research/并只返回500字的摘要。相同的代理选择规则
  3. 等待所有代理(带block: trueTaskOutput
  4. 添加实施细节,解决峰值,添加验证
  5. 呈现差异摘要 — 永远不要删除现有任务

铁律

  1. 永远不要自动启动/phx:work — 总是呈现计划并询问
  2. 在假设之前进行研究 — 网络搜索不熟悉的技术
  3. 选择性生成代理 — 只相关,非全部
  4. 永远不要在代理仍在运行时编写计划
  5. 永远不要跳过输入发现 — 每个发现必须有任务
  6. 不要为现有依赖生成hex-library-researcher

与工作流程的集成

/phx:plan {功能}  <-- 你在这里
       |
   /phx:plan --existing(可选增强)
       |
   询问用户 -> /phx:work .claude/plans/{功能}/plan.md
       |
/phx:review → /phx:compound

备注

  • 计划保存到.claude/plans/{slug}/plan.md
  • 研究报告在.claude/plans/{slug}/research/中,之后可以删除

关键:编写计划后

停止。不要继续实施。

编写.claude/plans/{slug}/plan.md后:

  1. 摘要:任务数量、阶段、关键决策
  2. 使用AskUserQuestion,选项:
    • “在新会话中开始”(推荐5个任务以上)
    • “获取简报”(/phx:brief — 交互式演练)
    • “从这里开始”
    • “审查计划”
    • “调整计划”
  3. 等待用户响应。永远不要自动开始工作。

当用户选择“在新会话中开始”时,打印:

1. 运行`/new`以开始新会话
2. 然后运行以下之一:
   /phx:work .claude/plans/{slug}/plan.md
   /phx:full .claude/plans/{slug}/plan.md  (包括审查和复合)

这是铁律 #1。违反它浪费用户上下文。

参考文献(仅供人类参考,不要阅读)

  • references/planning-workflow.md — 详细步骤
  • references/plan-template.md
  • references/complexity-detail.md
  • references/example-plan.md
  • references/agent-selection.md
  • references/breadboarding.md