---
name: taichu-task-package-execution
description: 按 GPT Pro 产出的太初开发任务包执行代码变更。Use when 用户粘贴任务包、要求 Codex 执行任务、实现任务包、修复任务包问题、继续下一个开发任务，且不需要 Codex 重新做需求讨论或 PRD 拆解。
---

# 太初任务包执行

## 核心定位

把 Codex 固定为太初项目的任务包执行器。用户和 GPT Pro 已经完成需求讨论、PRD 和任务拆解时，直接按任务包落地实现、验证并输出执行报告。只有用户明确要求提交或推送时，才进入 Git 发布流程。

## 进入条件

- 用户提供来自 GPT Pro 的任务包、实现清单、修复清单或验收反馈。
- 用户明确要求“执行任务包”“实现这个任务”“继续下一个任务”“按任务包改”。
- 当前工作目标是改代码、改配置、改测试、改项目级开发规范，而不是重新讨论产品方向。

不要在本 Skill 中重新拆 PRD。若任务包存在关键歧义、互相矛盾或会违反太初不可变决策，先指出具体问题并等待用户确认。

## 项目硬约束

- 使用 `uv` 管理 Python，禁止使用 pip、poetry、pipenv。
- Python 版本保持 `>=3.12`。
- 前端位于 `web/`，技术栈为 Next.js、shadcn/ui、Tailwind CSS。
- 后端通过 FastAPI 暴露 API，前端调用 `localhost:8000`。
- 系统只服务单本玄幻小说，不设计多小说管理、多租户、`project_id` 或跨小说切换。
- `domain` 层不得依赖 Agent、LangGraph、LLM、MCP 或具体存储技术。
- Agent 协议归属应用层；新增 Agent 等同于新增插件目录并实现协议。
- 存储、检索等跨层契约优先使用 `typing.Protocol`。
- 修改 `pyproject.toml`、`.env.example`、`src/taichu/main.py`、`src/taichu/config.py`、`web/package.json`、`web/next.config.ts` 后，必须验证 `start.bat` 能否正常运行，或明确说明未能验证的原因。

## 执行流程

1. 读取任务包，提取目标、范围、验收标准和禁止事项。
2. 检查本地规则：如涉及 Skills，读取 `.agents/skills/rule.md`；如涉及 docs，读取 `docs/rule.md`。
3. 检查工作区状态，识别已有用户改动。不得回滚或覆盖非本次任务产生的改动。
4. 先给出简短执行方案，等用户确认后再改代码；如果用户已经明确确认执行当前任务包，可直接进入实现。
5. 按最小可验证增量实现。每次只改和任务相关的文件，不做顺手重构。
6. 同步补测试、类型、配置或文档更新，只补任务需要的部分。
7. 运行与改动相关的验证命令。常用命令优先级：
   - Python：`uv run pytest`
   - 后端静态检查：按项目已有脚本执行，不新增工具链
   - 前端：在 `web/` 下运行项目已有 `package.json` scripts
   - 启动关键文件变更：验证根目录 `start.bat`
8. 若涉及网页或交互，尽量启动本地服务并用浏览器验证；无法启动时给出可执行的人工验证路径。
9. 完成后输出“任务包执行报告”。
10. 若用户在当前请求中明确要求提交或推送，且结果达到可交付状态，触发 `taichu-git-publish`。
11. 用户未明确授权时不提交、不推送；存在验证失败、改动归属不清、敏感文件、远程仓库不可用等风险时，停止 Git 发布并在报告中说明原因。

## 执行报告格式

最终回复必须包含：

```markdown
执行结果：
已完成 / 部分完成 / 未完成

本次实现：
- ...

修改文件：
- path：说明

验证结果：
- 命令：结果
- 网页验证：已验证 / 未验证，说明方式

风险与注意：
- ...

给 GPT Pro 的验收重点：
- ...

后续建议：
- ...

Git 发布：
- 已按用户要求发布 / 用户未要求发布 / 发布失败
- Commit：hash 或原因
- Branch：branch-name 或原因
- Push：成功 / 失败 / 未执行
```

若有验证失败，必须说明失败命令、失败原因、已尝试的修复，以及是否阻塞交付。

## 禁止事项

- 不要替 GPT Pro 重新做需求讨论或 PRD。
- 不要引入与任务无关的新依赖、框架、目录结构或抽象。
- 不要创建额外 Markdown 文档，除非用户明确要求或项目规则要求。
- 不要在用户未明确授权时 commit、push。
- 不要在验证失败、改动归属不清或发现敏感文件时 commit、push。
- 不要提交用户明确要求排除的文件。
- 不要把未验证、测试失败或范围不清的变更描述成已完成。
