用途:为已经通过 integrate-atlas-chat 集成 useAtlasChat 的应用添加 TodoWrite 工具和 Todo 面板,使应用内 Atlas 智能体能够展示多步任务的进度。若应用使用 Atlas / EOS 侧边栏(integrate-fusion-agent),应跳过本技能。
主要能力:新增 src/todo/ 模块,包含 types.ts(TodoItem、TodoList 类型)、TodoContext.tsx(React context + TodoProvider)、useTodoList.ts(读写列表的 Hook)、todoWriteTool.ts(createTodoWriteTool 工厂,返回带任务分解指导的 AtlasTool)、useTodoWriteTool.ts(记忆化工具)、TodoPanel.tsx(进度条 + 任务行卡片)、TodoItemRow.tsx(带状态图标的单行)、TodoToolResultCard.tsx(工具调用摘要卡)。智能体可创建和跟踪任务,实时更新状态(pending → in_progress → completed),全部完成后自动清空列表,并通过 getAppContext 把当前任务列表注入每次提示。
使用方式:前置条件为 useAtlasChat、src/atlas-agent/ 以及来自 integrate-atlas-chat 的 @sinclair/typebox。先阅读 package.json 确认 @tabler/icons-react 已安装,未安装则用项目包管理器安装;再阅读 src/App.tsx、调用 useAtlasChat 的文件和渲染消息的聊天视图组件。用 find . -path "*/.agents/skills/integrate-todo-list/code" -type d 定位技能目录,将其中文件按同名写入 src/todo/。在根组件用 <TodoProvider> 包裹现有树。在调用 useAtlasChat 处引入 useTodoList 和 useTodoWriteTool,用 useRef 保存 todos 以保证 getAppContext 读取最新状态,并把 todoWriteTool 加入 tools 选项;在 reset 处理器中调用 setTodos([]),并在返回值中暴露 todos。在聊天输入区上方渲染 <TodoPanel todos={todos} />(列表为空时返回 null);在渲染工具调用的组件中按 tc.name === 'TodoWrite' 分支渲染 <TodoToolResultCard>。最后运行类型检查(通常为 pnpm tsc --noEmit)并运行测试。
限制:资料未提供具体收费、价格、平台支持范围或效果数据。所有导入路径需按应用约定调整;代码文件内容需从技能目录读取,未提供完整代码示例。