Task [N]: [Short descriptive title]
【免费下载链接】penpotPenpot: The open-source design platform for Product teams that need scalable collaboration.项目地址: https://gitcode.com/GitHub_Trending/pe/penpot
Description:One paragraph explaining what this task accomplishes.
Acceptance criteria:
- [Specific, testable condition]
- [Specific, testable condition]
Verification:
- Tests pass (module-specific test command)
- Lint/formatter passes (module-specific check command)
Dependencies:[Task numbers this depends on, or "None"]
Files likely touched:
path/to/file.cljpath/to/file_test.clj
模板中 “module-specific test command” 占位符必须替换为真实命令。SKILL.md 给出的示例是 backend/common 用 `clojure -M:dev:test`、frontend 用 `npx shadow-cljs compile test && npx karma start`——而按照文档自身的指引,**权威口径应以各模块 core 记忆记载的命令为准**,即第二节所列的 `pnpm run test:quiet`(frontend)、`./test` 或 `cargo test`(render-wasm)等。这一细节恰恰体现了“规划前必读记忆”规则的意义:记忆体系是活的、随仓库演进的,文档只给出原则性示例。 #### 规模评估(Estimate Scope) 每个任务按涉及文件数与范围归入五档,原表完整如下: | Size | Files | Scope | |------|-------|-------| | **XS** | 1 | 单个函数、配置变更或 schema 微调 | | **S** | 1-2 | 一个 handler 或组件方法 | | **M** | 3-5 | 一条垂直功能切片 | | **L** | 5-8 | 多组件功能 | | **XL** | 8+ | **太大——必须继续拆分** | 文档强调:Agent 在 **S 与 M** 档任务上表现最好;凡是 L 及以上的任务都要继续拆。并给出了四条“何时必须再拆”的判据: - 预计需要超过**一个专注的会话**(focused session); - 验收标准**无法用 3 条以内的要点**描述清楚; - 触及**两个或以上相互独立的子系统**; - 你发现自己**在任务标题里写了 “and”**——这是“其实是两个任务”的信号。 #### 排序与检查点(Order and Checkpoints) 任务排序须满足四条规则: 1. 依赖先满足(先建地基); 2. 每个任务完成后系统都处于**可工作状态**; 3. 每 2–3 个任务后设置**验证检查点**; 4. **高风险任务前置**(fail fast)。 检查点同样有固定模板,且要求写明模块级命令并加入人工评审步骤: ```markdown ## Checkpoint: After Tasks 1-3 - [ ] All tests pass (module-specific command) - [ ] Lint/format passes (module-specific command) - [ ] Core flow works end-to-end - [ ] Review with human before proceeding在 Penpot 语境下,一个典型检查点会写成:backend/下clojure -M:dev:test全绿 +pnpm run lint:clj、pnpm run check-fmt:clj通过;若切片触及common/,还需在frontend/下跑pnpm run test:quiet,语义级变更再补 exporter 侧验证。
四、计划文档的完整结构与输出规范
4.1 计划的强制交付方式
文档(Output Format 一节)规定:计划必须在对话响应中完整给出(保证无论哪个 Agent 运行该技能,用户都能看到),同时保存到磁盘:
.opencode/plans/YYYY-MM-DD-<plan-one-line-title>.md规则细节:日期使用用户本地时区的当天日期;<plan-one-line-title>采用小写、连字符分隔的短标题 slug,例如add-batch-get-profiles-for-file-comments;.opencode/plans/目录不存在时需创建;除非用户显式指定目标路径,否则总是尝试默认写入。
4.2 计划文档模板(Plan Document Template)
模板共十个一级章节,是整份 SKILL.md 信息密度最高的部分,逐节职责如下:
# Plan: [Feature/Project Name] ## Context [一段话:问题或功能请求是什么?为什么需要?] ## Affected Modules [涉及 monorepo 的哪些模块?引用模块路径与所查阅的 `mem:` 记忆] ## Architecture Decisions - [关键决策 1 及其理由] - [关键决策 2 及其理由] ## Risks & Considerations [边界条件、性能影响、破坏性变更、迁移问题、安全影响] ## Approach [分步实现计划:文件路径、函数名、适用时给出代码形态;步骤按原子化、有序任务分组] ## Task List ### Phase 1: Foundation - [ ] Task 1: ... - [ ] Task 2: ... ### Checkpoint: Phase 1 - [ ] Tests pass, lint/formatter clean (module-specific commands) ### Phase 2: Core Features - [ ] Task 3: ... - [ ] Task 4: ... ### Checkpoint: Phase 2 - [ ] End-to-end flow works ### Phase 3: Polish - [ ] Task 5: ... - [ ] Task 6: ... ### Checkpoint: Complete - [ ] All acceptance criteria met - [ ] Ready for review ## Testing Strategy [如何验证:每个模块跑哪些测试命令、覆盖哪些用例、手工验证步骤、lint/格式检查; 确切命令查阅各模块 core 记忆] ## Parallelization Opportunities - **Safe to parallelize:** 跨不同模块的独立功能切片、已实现功能的测试 - **Must be sequential:** 共享 common schema 变更、数据库迁移 - **Needs coordination:** 共享契约的功能(先定义契约,再并行) ## Open Questions - [需要人类输入的问题]【免费下载链接】penpotPenpot: The open-source design platform for Product teams that need scalable collaboration.项目地址: https://gitcode.com/GitHub_Trending/pe/penpot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考