@ia-ccun/code-agent-cli 0.0.55 → 0.0.56-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +0 -7
- package/config/agent/extensions/aicode-changelog.ts +150 -0
- package/config/changelog.md +98 -0
- package/package.json +1 -1
- package/scripts/regression/results/.last_pid +1 -1
- package/scripts/regression/results/.last_workdir +1 -1
- package/scripts/regression/results/02-extension-loading.log +20 -16
- package/scripts/regression/results/03-prompt-stream.log +12 -12
- package/scripts/regression/results/03-rpc-protocol.log +21 -22
- package/scripts/regression/results/04-slash-commands-and-skills.log +11 -11
- package/scripts/regression/results/05-tool-execution.log +5 -5
- package/scripts/regression/results/06-pi-new-features.log +24 -16
- package/scripts/regression/cases/08-cwd-resilience.sh +0 -84
- package/scripts/regression/results/08-cwd-resilience.log +0 -1
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
{"id":"ready_probe","type":"response","command":"get_state","success":true,"data":{"model":{"id":"MiniMax-M3","name":"MiniMax-M3","api":"anthropic-messages","provider":"minimax-cn","baseUrl":"https://api.minimaxi.com/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0,"tiers":[{"inputTokensAbove":512000,"input":0.6,"output":2.4,"cacheRead":0.12,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":512000,"inputLimits":{"images":{"resize":{"maxWidth":2000,"maxHeight":2000,"maxBytes":4718592,"jpegQuality":80}}},"type":"chat"},"thinkingLevel":"high","isStreaming":false,"isCompacting":false,"steeringMode":"one-at-a-time","followUpMode":"all","sessionId":"
|
|
2
|
-
{"id":"e1","type":"response","command":"get_commands","success":true,"data":{"commands":[{"name":"code-simplifier","description":"Simplifies and refines code for clarity and maintainability while preserving functionality.","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/prompts/code-simplifier.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"feat","description":"用于新增功能开发的命令,支持完整的开发流程和工具集成","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/prompts/feat.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"git-commit","description":"分析 Git 改动并生成 conventional commit 信息,支持 emoji、提交拆分和 Git 钩子控制","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/prompts/git-commit.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"init-project","description":"初始化项目 AI 上下文,生成/更新根级与模块级 CLAUDE.md 索引","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/prompts/init-project.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"workflow","description":"专业AI编程助手,提供结构化六阶段开发工作流(研究→构思→计划→执行→优化→评审),适用于专业开发者","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/prompts/workflow.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:aicode-doctor","description":"排查AICode Deck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断AICode Deck 」「会话起不来」「aicode 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/aicode-doctor/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:brainstorming","description":"Explore user intent, requirements and design before any creative work or implementation. Use when brainstorming ideas, designing features, analyzing requirements, or figuring out how to implement something.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/brainstorming/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:chroma-local","description":"Use when the user needs self-hosted or local Chroma for semantic search, including `ChromaClient`, `HttpClient`, or Python `EphemeralClient`, local persistence, Docker or `chroma run`, or OSS Chroma without Chroma Cloud features.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/chroma/chroma-local/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:code-mode-orchestrator","description":"Code Mode (Exec) usage patterns and applicable scenarios. Covers parallel fan-out, pipeline with JS transforms, conditional branching, loop-until-condition, and multi-source aggregation. Trigger when the task benefits from orchestrating multiple tool calls in a single JavaScript script rather than sequential direct calls.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/code-mode-orchestrator/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:code-review","description":"执行全面的代码审查,检查代码质量、安全性、性能和最佳实践。Use when reviewing code, conducting code reviews, or checking code quality.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/code-review/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:codebase-analyzer","description":"分析代码库结构,提取架构知识、模块依赖、潜在风险。Use when exploring unfamiliar codebase, understanding module relationships, or assessing impact of changes.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/codebase-analyzer/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:commit","description":"分析代码变更并生成规范的 Git commit 消息。Use when committing code, generating commit messages, or submitting to git.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/commit/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:csv-data-summarizer","description":"Analyzes CSV files, generates summary stats, and plots quick visualizations using Python and pandas. Use when analyzing CSV data, generating data statistics, or creating data visualizations.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/csv-data-summarizer/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:design-md","description":"Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/design-md/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:dispatching-parallel-agents","description":"Dispatch multiple independent tasks in parallel without shared state. Use when facing parallel tasks, handling multiple independent jobs, or executing concurrent operations.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/dispatching-parallel-agents/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:dynamic-ui","description":"Show visual content inline alongside your text response — diagrams, charts, interactive demos, comparisons. Use only when a compact visual makes the answer clearer. Not for websites, apps, reports, dashboards, or slides.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/dynamic-ui/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:email-sender","description":"Send emails via SMTP with support for plain text, images, and HTML content. Use when user asks to send emails, send text/images/rich content to an email address, or mentions sending anything to an email address. Triggers on phrases like \"send email to\", \"send this to my email\", \"email this to\", \"把这段话发到邮箱\", \"发送图片到邮箱\", \"发送邮件\", \"发邮件到xxx\".","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/email-sender/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:executing-plans","description":"Execute written implementation plans with review checkpoints. Use when executing plans, following implementation plans, or completing planned tasks.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/executing-plans/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:find-skills","description":"Discover and install agent skills from the open ecosystem. Use when asking how to do something, finding skills, looking for capabilities, or needing functionality that might exist as an installable skill.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/find-skills/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:finishing-a-development-branch","description":"Guide completion of development work with structured options for merge, PR, or cleanup. Use when finishing development, merging PRs, or cleaning up branches.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/finishing-a-development-branch/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:fireworks-tech-graph","description":"\"Create production-quality SVG technical diagrams (architecture, data flow, flowchart, sequence, UML, mind map, etc.) exported as PNG. Supports 7 visual styles including Flat, Dark Terminal, Blueprint, Notion Clean, Glassmorphism, Claude Official, and OpenAI Official. Trigger on: '画图' '帮我画' '生成图' '做个图' '架构图' '流程图' '可视化' '出图' '选择风格' '换风格' 'generate diagram' 'draw diagram' 'visualize' or any system/flow description the user wants illustrated.\"","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/fireworks-tech-graph/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:frontend-design","description":"Create distinctive, production-grade frontend interfaces with high design quality. Use when building frontend, creating web components, designing pages, or implementing UI.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/frontend-design/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:hello","description":"Custom skill example. Use when testing skill functionality or as a template for creating new skills.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/hello/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:image-gen","description":"生成图片。当用户想让 AI 生成图片、插画、海报、头像等图像内容时使用。读取生图供应商配置,调用 OpenAI 兼容的图片生成 API(支持 OpenAI、火山方舟、SiliconFlow 三种方言与参考图),把生成的图片保存到项目目录。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/image-gen/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:adapt","description":"(impeccable) 使设计适配不同的屏幕尺寸、设备、场景或平台,确保跨环境体验一致。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/adapt/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:animate","description":"(impeccable) 审视功能特性,通过有目的性的动画、微交互和动效来增强可用性与体验愉悦度。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/animate/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:arrange","description":"(impeccable) 优化布局、间距和视觉韵律,修正单调的网格、不一致的间距和薄弱的视觉层级,打造有意图的视觉组合。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/arrange/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:audit","description":"(impeccable) 对界面质量进行全面审计,涵盖无障碍性、性能、主题化和响应式设计,生成包含严重等级和改进建议的详细报告。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/audit/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:bolder","description":"(impeccable) 放大安全或乏味的设计,使其更具视觉吸引力和刺激性,在保持可用性的同时提升影响力。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/bolder/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:clarify","description":"(impeccable) 优化不清晰的 UX 文案、错误提示、微文案、标签和说明文字,让界面更易于理解和使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/clarify/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:colorize","description":"(impeccable) 为过于单调或缺乏视觉趣味的功能添加策略性配色,使界面更具吸引力和表现力。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/colorize/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:critique","description":"(impeccable) 从 UX 视角评估设计有效性,包括视觉层级、信息架构、情感共鸣和整体设计质量,并提供可操作的反馈意见。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/critique/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:delight","description":"(impeccable) 添加愉悦感、个性和意想不到的细节,让界面令人难忘且乐于使用,将功能性提升为愉悦体验。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/delight/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:distill","description":"(impeccable) 剥离设计中的非必要复杂性,回归本质。伟大的设计是简洁、有力且干净的。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/distill/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:extract","description":"(impeccable) 提取并整合可复用的组件、设计令牌和模式到设计系统中,识别系统性复用的机会并丰富组件库。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/extract/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:harden","description":"(impeccable) 通过改进错误处理、i18n 支持、文字溢出处理和边界情况管理,提升界面的健壮性,使界面达到可上线标准。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/harden/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:normalize","description":"(impeccable) 将设计规范与设计系统对齐,确保一致性。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/normalize/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:onboard","description":"(impeccable) 设计或优化引导流程、空状态和首次用户体验,帮助用户顺利上手并快速理解产品价值。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/onboard/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:optimize","description":"(impeccable) 优化界面性能,覆盖加载速度、渲染、动画、图片和包体积等维度,打造更快更流畅的体验。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/optimize/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:overdrive","description":"(impeccable) 将界面推向传统极限,实现技术上前瞻性的实现。无论是着色器、60fps 虚拟表格、对话框的弹簧物理效果,还是滚动驱动的揭示动效——让用户惊叹\"这怎么做到的?\"","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/overdrive/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:polish","description":"(impeccable) 上线前的最终质量检查,修正对齐、间距、一致性和细节问题,让\"好\"与\"优秀\"拉开差距。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/polish/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:quieter","description":"(impeccable) 弱化过于大胆或视觉攻击性强的设计,在保持设计品质和影响力的同时降低视觉强度。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/quieter/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:teach-impeccable","description":"(impeccable) 一次性设置,收集项目设计上下文并保存至 AI 配置文件,运行一次即可建立持久的设计指导原则。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/teach-impeccable/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:typeset","description":"(impeccable) 通过修正字体选择、层级、大小、粗细一致性和可读性来优化排版,让文字呈现得更有意图且精致。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/typeset/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-approval","description":"飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-approval/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-apps","description":"妙搭(Spark/Miaoda)应用开发与托管:应用创建、本地全栈开发、云端生成迭代、创意设计(UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索)、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协作者与协作权限设置、应用角色与成员管理、自动化触发器(定时/记录变更/Webhook/飞书审批)。当用户要开发/新建一个系统·工具·平台·应用,或要本地开发 / 云端开发 / 修改 / 部署 / 发布 / 上线 / 拿可分享链接,或用 HTML 做页面·网站·部署到妙搭,或要设计 / design / mockup / prototype / wireframe / 做 PPT / deck / 视觉探索,或提到妙搭/Spark/Miaoda(应用运行时域名形如 *.aiforce.cloud)、应用数据库、应用文件存储、开放 API Key、可见范围、应用协作者/开发权限、应用角色/角色成员、线上日志、接口请求量、错误量、延迟、访问量、环境变量、给妙搭应用配自动化任务/定时触发/审批通过后自动触发时使用。不负责普通云盘文件上传(lark-drive)、飞书文档编辑(lark-doc)、原生幻灯片创建(lark-slides)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-apps/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-attendance","description":"飞书考勤打卡:查询自己的考勤打卡记录","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-attendance/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-base","description":"飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-base/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-calendar","description":"飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting)、待办任务(走 lark-task)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-calendar/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-contact","description":"飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-contact/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-doc","description":"飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-doc/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-drive","description":"飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-drive/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-event","description":"Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-event/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-im","description":"飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-im/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-mail","description":"飞书邮箱:Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等;use for mail/email intent only. Do not use for docs/sheets/calendar/auth setup/pure contact lookup/IM chat tasks.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-mail/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-markdown","description":"飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-markdown/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-meeting","description":"飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-node-id 或妙记 URL 查询相关信息。预约会议、忙闲和会议室管理走 lark-calendar。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-meeting/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-minutes","description":"仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-minutes/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-note","description":"仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-note/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-okr","description":"飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-okr/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-openapi-explorer","description":"飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-openapi-explorer/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-shared","description":"Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-shared/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-sheets","description":"飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可视化、表格美化、公式计算(含 Excel 公式迁移)、金融/财务建模(DCF、三张表、预算、Sensitivity 等)等任务时使用。若用户是想按名称或关键词搜索云空间(云盘/云存储)里的表格文件,请改用 lark-drive 的 drive +search 先定位资源。当用户给出 doubao.com 的 /sheets/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-sheets/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-skill-maker","description":"创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-skill-maker/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-slides","description":"飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard)、上传或下载普通文件(走 lark-drive)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-slides/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-task","description":"飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-task/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-vc","description":"仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-vc/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-vc-agent","description":"仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-vc-agent/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-whiteboard","description":"飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-whiteboard/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-wiki","description":"飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:上传文件到知识库节点下(走 lark-drive)、编辑文档/表格/Base 内容(走 lark-doc / lark-sheets / lark-base)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-wiki/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-workflow-meeting-summary","description":"会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-workflow-meeting-summary/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:lark-workflow-standup-report","description":"日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-workflow-standup-report/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:librarian","description":"Research open-source libraries with evidence-backed answers and GitHub permalinks. Use when asking about library internals, implementation details, source code references, or why something was changed.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/librarian/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:markdown-to-html","description":"Convert Markdown documents to beautiful HTML presentation pages. Use when converting Markdown to HTML, creating HTML pages from MD files, or generating web pages.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/markdown-to-html/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:milvus-skill","description":"Operate Milvus vector database with pymilvus Python SDK. Use when the user wants to connect to Milvus, create collections, insert vectors, perform similarity search, hybrid search, full-text search, manage indexes, partitions, databases, or RBAC via Python code.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/milvus-skill/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:owasp-security","description":"Implement secure coding practices following OWASP Top 10. Use when dealing with OWASP, security, XSS, SQL injection, CSRF, secure coding, or vulnerabilities.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/owasp-security/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:pideck-doctor","description":"排查 PiDeck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断 PiDeck」「会话起不来」「pi 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/pideck-doctor/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:ponytail","description":"Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use whenever the user says \"ponytail\", \"be lazy\", \"lazy mode\", \"simplest solution\", \"minimal solution\", \"yagni\", \"do less\", or \"shortest path\", and whenever they complain about over-engineering, bloat, boilerplate, or unnecessary dependencies.\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:ponytail-audit","description":"Whole-repo audit for over-engineering. Like ponytail-review, but scans the entire codebase instead of a diff: a ranked list of what to delete, simplify, or replace with stdlib/native equivalents. Use when the user says \"audit this codebase\", \"audit for over-engineering\", \"what can I delete from this repo\", \"find bloat\", \"ponytail-audit\", or \"/ponytail-audit\". One-shot report, does not apply fixes.\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-audit/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:ponytail-debt","description":"Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into \"later means never\". Use when the user says \"ponytail debt\", \"/ponytail-debt\", \"what did ponytail defer\", \"list the shortcuts\", \"ponytail ledger\", or \"what did we mark to do later\". One-shot report, changes nothing.\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-debt/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:ponytail-help","description":"Quick-reference card for all ponytail modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /ponytail-help, \"ponytail help\", \"what ponytail commands\", \"how do I use ponytail\".\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-help/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:ponytail-review","description":"Code review focused exclusively on over-engineering. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the user says \"review for over-engineering\", \"what can we delete\", \"is this over-engineered\", \"simplify review\", or invokes /ponytail-review. Complements correctness-focused review, this one only hunts complexity.\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-review/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:pr","description":"分析代码变更并生成规范的 Pull Request 描述。Use when generating PR descriptions, creating pull requests, or documenting changes.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/pr/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:receiving-code-review","description":"Handle code review feedback with technical rigor and verification. Use when receiving code review feedback, implementing review comments, or handling review suggestions.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/receiving-code-review/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:refactor","description":"对代码进行重构,提高可读性和可维护性,同时保持功能不变。Use when refactoring code, improving code readability, or optimizing code structure.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/refactor/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:requesting-code-review","description":"Request code review to verify work meets requirements before merging. Use when needing review, requesting code review, or before merging PRs.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/requesting-code-review/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:session-learning","description":"Summarize conversation experiences and 沉淀 skills. Use when summarizing lessons learned, refining skills, reflecting on experience, or doing post-task reviews.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/session-learning/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:skill-creator","description":"Create, modify, and improve agent skills with performance measurement. Use when creating skills, editing skills, or optimizing skill performance.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/skill-creator/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:subagent-driven-development","description":"Execute plans by dispatching subagents for independent tasks. Use when executing implementation plans, dispatching subagents, or handling multiple tasks.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/subagent-driven-development/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:systematic-debugging","description":"Systematic debugging approach for bugs, test failures, and unexpected behavior. Use when debugging, fixing bugs, encountering errors, or dealing with test failures.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/systematic-debugging/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:test-driven-development","description":"Test-driven development approach before writing implementation code. Use when practicing TDD, writing tests first, or following test-driven development.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/test-driven-development/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:ui-ux-pro-max","description":"UI/UX design intelligence with 50 styles, 21 palettes, 50 font pairings, 20 charts, and 8 tech stacks. Use when building frontend, designing UI, creating components, landing pages, dashboards, or analyzing UI/UX code.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ui-ux-pro-max/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:unit-test","description":"为选定的代码文件生成单元测试。Use when generating unit tests, writing tests, or adding test coverage.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/unit-test/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:usage-probe","description":"为 aicode 的「用量查询」功能排查/扩展供应商支持。当用户想显示某个供应商的用量、余额或额度点数时,先判断是否已内置支持(内置无需配置);不在内置时引导用户使用「用量查询」弹窗里的通用模板 / New API 模板;两种模板都覆盖不了的接口,帮用户写出 usage-probes.json 的旧版探针数组。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/usage-probe/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:using-git-worktrees","description":"Create isolated git worktrees with smart directory selection and safety verification. Use when needing worktree isolation, creating branch worktrees, or managing multiple branches.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/using-git-worktrees/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:using-superpowers","description":"Establish how to find and use skills in any conversation. Use when asking about capabilities, discovering skills, or learning what you can do.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/using-superpowers/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:verification-before-completion","description":"Verify work is complete before claiming success. Requires running verification commands. Use when claiming work is complete, before committing, before creating PRs, or verifying tests pass.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/verification-before-completion/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:writing-plans","description":"Write implementation plans from specs or requirements for multi-step tasks. Use when writing plans, making implementation plans, or planning development.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/writing-plans/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:writing-skills","description":"Create new skills, edit existing skills, or verify skills before deployment. Use when writing skills, creating new skills, or editing existing skills.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/writing-skills/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}},{"name":"skill:zread","description":"Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or \"what does this repo do\"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word \"zread\".","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/zread/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-1887-6360000/agent"}}]}}
|
|
3
|
-
{"id":"e2","type":"response","command":"get_state","success":true,"data":{"model":{"id":"MiniMax-M3","name":"MiniMax-M3","api":"anthropic-messages","provider":"minimax-cn","baseUrl":"https://api.minimaxi.com/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0,"tiers":[{"inputTokensAbove":512000,"input":0.6,"output":2.4,"cacheRead":0.12,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":512000,"inputLimits":{"images":{"resize":{"maxWidth":2000,"maxHeight":2000,"maxBytes":4718592,"jpegQuality":80}}},"type":"chat"},"thinkingLevel":"high","isStreaming":false,"isCompacting":false,"steeringMode":"one-at-a-time","followUpMode":"all","sessionId":"
|
|
1
|
+
{"id":"ready_probe","type":"response","command":"get_state","success":true,"data":{"model":{"id":"MiniMax-M3","name":"MiniMax-M3","api":"anthropic-messages","provider":"minimax-cn","baseUrl":"https://api.minimaxi.com/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0,"tiers":[{"inputTokensAbove":512000,"input":0.6,"output":2.4,"cacheRead":0.12,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":512000,"inputLimits":{"images":{"resize":{"maxWidth":2000,"maxHeight":2000,"maxBytes":4718592,"jpegQuality":80}}},"type":"chat"},"thinkingLevel":"high","isStreaming":false,"isCompacting":false,"steeringMode":"one-at-a-time","followUpMode":"all","sessionId":"01a123e1-37ce-723b-a044-f9aeb5e7342e","autoCompactionEnabled":true,"messageCount":0,"pendingMessageCount":0}}
|
|
2
|
+
{"id":"e1","type":"response","command":"get_commands","success":true,"data":{"commands":[{"name":"code-simplifier","description":"Simplifies and refines code for clarity and maintainability while preserving functionality.","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/prompts/code-simplifier.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"feat","description":"用于新增功能开发的命令,支持完整的开发流程和工具集成","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/prompts/feat.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"git-commit","description":"分析 Git 改动并生成 conventional commit 信息,支持 emoji、提交拆分和 Git 钩子控制","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/prompts/git-commit.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"init-project","description":"初始化项目 AI 上下文,生成/更新根级与模块级 CLAUDE.md 索引","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/prompts/init-project.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"workflow","description":"专业AI编程助手,提供结构化六阶段开发工作流(研究→构思→计划→执行→优化→评审),适用于专业开发者","source":"prompt","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/prompts/workflow.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:aicode-doctor","description":"排查AICode Deck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断AICode Deck 」「会话起不来」「aicode 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/aicode-doctor/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:brainstorming","description":"Explore user intent, requirements and design before any creative work or implementation. Use when brainstorming ideas, designing features, analyzing requirements, or figuring out how to implement something.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/brainstorming/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:chroma-local","description":"Use when the user needs self-hosted or local Chroma for semantic search, including `ChromaClient`, `HttpClient`, or Python `EphemeralClient`, local persistence, Docker or `chroma run`, or OSS Chroma without Chroma Cloud features.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/chroma/chroma-local/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:code-mode-orchestrator","description":"Code Mode (Exec) usage patterns and applicable scenarios. Covers parallel fan-out, pipeline with JS transforms, conditional branching, loop-until-condition, and multi-source aggregation. Trigger when the task benefits from orchestrating multiple tool calls in a single JavaScript script rather than sequential direct calls.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/code-mode-orchestrator/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:code-review","description":"执行全面的代码审查,检查代码质量、安全性、性能和最佳实践。Use when reviewing code, conducting code reviews, or checking code quality.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/code-review/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:codebase-analyzer","description":"分析代码库结构,提取架构知识、模块依赖、潜在风险。Use when exploring unfamiliar codebase, understanding module relationships, or assessing impact of changes.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/codebase-analyzer/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:commit","description":"分析代码变更并生成规范的 Git commit 消息。Use when committing code, generating commit messages, or submitting to git.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/commit/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:csv-data-summarizer","description":"Analyzes CSV files, generates summary stats, and plots quick visualizations using Python and pandas. Use when analyzing CSV data, generating data statistics, or creating data visualizations.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/csv-data-summarizer/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:design-md","description":"Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/design-md/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:dispatching-parallel-agents","description":"Dispatch multiple independent tasks in parallel without shared state. Use when facing parallel tasks, handling multiple independent jobs, or executing concurrent operations.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/dispatching-parallel-agents/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:dynamic-ui","description":"Show visual content inline alongside your text response — diagrams, charts, interactive demos, comparisons. Use only when a compact visual makes the answer clearer. Not for websites, apps, reports, dashboards, or slides.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/dynamic-ui/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:email-sender","description":"Send emails via SMTP with support for plain text, images, and HTML content. Use when user asks to send emails, send text/images/rich content to an email address, or mentions sending anything to an email address. Triggers on phrases like \"send email to\", \"send this to my email\", \"email this to\", \"把这段话发到邮箱\", \"发送图片到邮箱\", \"发送邮件\", \"发邮件到xxx\".","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/email-sender/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:executing-plans","description":"Execute written implementation plans with review checkpoints. Use when executing plans, following implementation plans, or completing planned tasks.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/executing-plans/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:find-skills","description":"Discover and install agent skills from the open ecosystem. Use when asking how to do something, finding skills, looking for capabilities, or needing functionality that might exist as an installable skill.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/find-skills/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:finishing-a-development-branch","description":"Guide completion of development work with structured options for merge, PR, or cleanup. Use when finishing development, merging PRs, or cleaning up branches.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/finishing-a-development-branch/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:fireworks-tech-graph","description":"\"Create production-quality SVG technical diagrams (architecture, data flow, flowchart, sequence, UML, mind map, etc.) exported as PNG. Supports 7 visual styles including Flat, Dark Terminal, Blueprint, Notion Clean, Glassmorphism, Claude Official, and OpenAI Official. Trigger on: '画图' '帮我画' '生成图' '做个图' '架构图' '流程图' '可视化' '出图' '选择风格' '换风格' 'generate diagram' 'draw diagram' 'visualize' or any system/flow description the user wants illustrated.\"","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/fireworks-tech-graph/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:frontend-design","description":"Create distinctive, production-grade frontend interfaces with high design quality. Use when building frontend, creating web components, designing pages, or implementing UI.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/frontend-design/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:hello","description":"Custom skill example. Use when testing skill functionality or as a template for creating new skills.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/hello/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:image-gen","description":"生成图片。当用户想让 AI 生成图片、插画、海报、头像等图像内容时使用。读取生图供应商配置,调用 OpenAI 兼容的图片生成 API(支持 OpenAI、火山方舟、SiliconFlow 三种方言与参考图),把生成的图片保存到项目目录。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/image-gen/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:adapt","description":"(impeccable) 使设计适配不同的屏幕尺寸、设备、场景或平台,确保跨环境体验一致。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/adapt/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:animate","description":"(impeccable) 审视功能特性,通过有目的性的动画、微交互和动效来增强可用性与体验愉悦度。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/animate/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:arrange","description":"(impeccable) 优化布局、间距和视觉韵律,修正单调的网格、不一致的间距和薄弱的视觉层级,打造有意图的视觉组合。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/arrange/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:audit","description":"(impeccable) 对界面质量进行全面审计,涵盖无障碍性、性能、主题化和响应式设计,生成包含严重等级和改进建议的详细报告。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/audit/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:bolder","description":"(impeccable) 放大安全或乏味的设计,使其更具视觉吸引力和刺激性,在保持可用性的同时提升影响力。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/bolder/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:clarify","description":"(impeccable) 优化不清晰的 UX 文案、错误提示、微文案、标签和说明文字,让界面更易于理解和使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/clarify/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:colorize","description":"(impeccable) 为过于单调或缺乏视觉趣味的功能添加策略性配色,使界面更具吸引力和表现力。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/colorize/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:critique","description":"(impeccable) 从 UX 视角评估设计有效性,包括视觉层级、信息架构、情感共鸣和整体设计质量,并提供可操作的反馈意见。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/critique/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:delight","description":"(impeccable) 添加愉悦感、个性和意想不到的细节,让界面令人难忘且乐于使用,将功能性提升为愉悦体验。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/delight/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:distill","description":"(impeccable) 剥离设计中的非必要复杂性,回归本质。伟大的设计是简洁、有力且干净的。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/distill/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:extract","description":"(impeccable) 提取并整合可复用的组件、设计令牌和模式到设计系统中,识别系统性复用的机会并丰富组件库。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/extract/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:harden","description":"(impeccable) 通过改进错误处理、i18n 支持、文字溢出处理和边界情况管理,提升界面的健壮性,使界面达到可上线标准。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/harden/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:normalize","description":"(impeccable) 将设计规范与设计系统对齐,确保一致性。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/normalize/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:onboard","description":"(impeccable) 设计或优化引导流程、空状态和首次用户体验,帮助用户顺利上手并快速理解产品价值。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/onboard/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:optimize","description":"(impeccable) 优化界面性能,覆盖加载速度、渲染、动画、图片和包体积等维度,打造更快更流畅的体验。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/optimize/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:overdrive","description":"(impeccable) 将界面推向传统极限,实现技术上前瞻性的实现。无论是着色器、60fps 虚拟表格、对话框的弹簧物理效果,还是滚动驱动的揭示动效——让用户惊叹\"这怎么做到的?\"","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/overdrive/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:polish","description":"(impeccable) 上线前的最终质量检查,修正对齐、间距、一致性和细节问题,让\"好\"与\"优秀\"拉开差距。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/polish/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:quieter","description":"(impeccable) 弱化过于大胆或视觉攻击性强的设计,在保持设计品质和影响力的同时降低视觉强度。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/quieter/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:teach-impeccable","description":"(impeccable) 一次性设置,收集项目设计上下文并保存至 AI 配置文件,运行一次即可建立持久的设计指导原则。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/teach-impeccable/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:typeset","description":"(impeccable) 通过修正字体选择、层级、大小、粗细一致性和可读性来优化排版,让文字呈现得更有意图且精致。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/typeset/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-approval","description":"飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-approval/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-apps","description":"妙搭(Spark/Miaoda)应用开发与托管:应用创建、本地全栈开发、云端生成迭代、创意设计(UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索)、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协作者与协作权限设置、应用角色与成员管理、自动化触发器(定时/记录变更/Webhook/飞书审批)。当用户要开发/新建一个系统·工具·平台·应用,或要本地开发 / 云端开发 / 修改 / 部署 / 发布 / 上线 / 拿可分享链接,或用 HTML 做页面·网站·部署到妙搭,或要设计 / design / mockup / prototype / wireframe / 做 PPT / deck / 视觉探索,或提到妙搭/Spark/Miaoda(应用运行时域名形如 *.aiforce.cloud)、应用数据库、应用文件存储、开放 API Key、可见范围、应用协作者/开发权限、应用角色/角色成员、线上日志、接口请求量、错误量、延迟、访问量、环境变量、给妙搭应用配自动化任务/定时触发/审批通过后自动触发时使用。不负责普通云盘文件上传(lark-drive)、飞书文档编辑(lark-doc)、原生幻灯片创建(lark-slides)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-apps/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-attendance","description":"飞书考勤打卡:查询自己的考勤打卡记录","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-attendance/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-base","description":"飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-base/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-calendar","description":"飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting)、待办任务(走 lark-task)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-calendar/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-contact","description":"飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-contact/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-doc","description":"飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-doc/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-drive","description":"飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-drive/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-event","description":"Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-event/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-im","description":"飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-im/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-mail","description":"飞书邮箱:Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等;use for mail/email intent only. Do not use for docs/sheets/calendar/auth setup/pure contact lookup/IM chat tasks.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-mail/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-markdown","description":"飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-markdown/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-meeting","description":"飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-node-id 或妙记 URL 查询相关信息。预约会议、忙闲和会议室管理走 lark-calendar。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-meeting/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-minutes","description":"仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-minutes/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-note","description":"仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-note/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-okr","description":"飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-okr/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-openapi-explorer","description":"飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-openapi-explorer/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-shared","description":"Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-shared/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-sheets","description":"飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可视化、表格美化、公式计算(含 Excel 公式迁移)、金融/财务建模(DCF、三张表、预算、Sensitivity 等)等任务时使用。若用户是想按名称或关键词搜索云空间(云盘/云存储)里的表格文件,请改用 lark-drive 的 drive +search 先定位资源。当用户给出 doubao.com 的 /sheets/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-sheets/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-skill-maker","description":"创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-skill-maker/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-slides","description":"飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard)、上传或下载普通文件(走 lark-drive)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-slides/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-task","description":"飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-task/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-vc","description":"仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-vc/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-vc-agent","description":"仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-vc-agent/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-whiteboard","description":"飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-whiteboard/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-wiki","description":"飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:上传文件到知识库节点下(走 lark-drive)、编辑文档/表格/Base 内容(走 lark-doc / lark-sheets / lark-base)。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-wiki/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-workflow-meeting-summary","description":"会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-workflow-meeting-summary/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:lark-workflow-standup-report","description":"日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-workflow-standup-report/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:librarian","description":"Research open-source libraries with evidence-backed answers and GitHub permalinks. Use when asking about library internals, implementation details, source code references, or why something was changed.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/librarian/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:markdown-to-html","description":"Convert Markdown documents to beautiful HTML presentation pages. Use when converting Markdown to HTML, creating HTML pages from MD files, or generating web pages.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/markdown-to-html/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:milvus-skill","description":"Operate Milvus vector database with pymilvus Python SDK. Use when the user wants to connect to Milvus, create collections, insert vectors, perform similarity search, hybrid search, full-text search, manage indexes, partitions, databases, or RBAC via Python code.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/milvus-skill/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:owasp-security","description":"Implement secure coding practices following OWASP Top 10. Use when dealing with OWASP, security, XSS, SQL injection, CSRF, secure coding, or vulnerabilities.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/owasp-security/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:pideck-doctor","description":"排查 PiDeck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断 PiDeck」「会话起不来」「pi 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/pideck-doctor/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:ponytail","description":"Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use whenever the user says \"ponytail\", \"be lazy\", \"lazy mode\", \"simplest solution\", \"minimal solution\", \"yagni\", \"do less\", or \"shortest path\", and whenever they complain about over-engineering, bloat, boilerplate, or unnecessary dependencies.\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:ponytail-audit","description":"Whole-repo audit for over-engineering. Like ponytail-review, but scans the entire codebase instead of a diff: a ranked list of what to delete, simplify, or replace with stdlib/native equivalents. Use when the user says \"audit this codebase\", \"audit for over-engineering\", \"what can I delete from this repo\", \"find bloat\", \"ponytail-audit\", or \"/ponytail-audit\". One-shot report, does not apply fixes.\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-audit/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:ponytail-debt","description":"Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into \"later means never\". Use when the user says \"ponytail debt\", \"/ponytail-debt\", \"what did ponytail defer\", \"list the shortcuts\", \"ponytail ledger\", or \"what did we mark to do later\". One-shot report, changes nothing.\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-debt/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:ponytail-help","description":"Quick-reference card for all ponytail modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /ponytail-help, \"ponytail help\", \"what ponytail commands\", \"how do I use ponytail\".\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-help/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:ponytail-review","description":"Code review focused exclusively on over-engineering. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the user says \"review for over-engineering\", \"what can we delete\", \"is this over-engineered\", \"simplify review\", or invokes /ponytail-review. Complements correctness-focused review, this one only hunts complexity.\n","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-review/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:pr","description":"分析代码变更并生成规范的 Pull Request 描述。Use when generating PR descriptions, creating pull requests, or documenting changes.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/pr/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:receiving-code-review","description":"Handle code review feedback with technical rigor and verification. Use when receiving code review feedback, implementing review comments, or handling review suggestions.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/receiving-code-review/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:refactor","description":"对代码进行重构,提高可读性和可维护性,同时保持功能不变。Use when refactoring code, improving code readability, or optimizing code structure.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/refactor/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:requesting-code-review","description":"Request code review to verify work meets requirements before merging. Use when needing review, requesting code review, or before merging PRs.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/requesting-code-review/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:session-learning","description":"Summarize conversation experiences and 沉淀 skills. Use when summarizing lessons learned, refining skills, reflecting on experience, or doing post-task reviews.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/session-learning/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:skill-creator","description":"Create, modify, and improve agent skills with performance measurement. Use when creating skills, editing skills, or optimizing skill performance.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/skill-creator/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:subagent-driven-development","description":"Execute plans by dispatching subagents for independent tasks. Use when executing implementation plans, dispatching subagents, or handling multiple tasks.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/subagent-driven-development/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:systematic-debugging","description":"Systematic debugging approach for bugs, test failures, and unexpected behavior. Use when debugging, fixing bugs, encountering errors, or dealing with test failures.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/systematic-debugging/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:test-driven-development","description":"Test-driven development approach before writing implementation code. Use when practicing TDD, writing tests first, or following test-driven development.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/test-driven-development/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:ui-ux-pro-max","description":"UI/UX design intelligence with 50 styles, 21 palettes, 50 font pairings, 20 charts, and 8 tech stacks. Use when building frontend, designing UI, creating components, landing pages, dashboards, or analyzing UI/UX code.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ui-ux-pro-max/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:unit-test","description":"为选定的代码文件生成单元测试。Use when generating unit tests, writing tests, or adding test coverage.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/unit-test/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:usage-probe","description":"为 aicode 的「用量查询」功能排查/扩展供应商支持。当用户想显示某个供应商的用量、余额或额度点数时,先判断是否已内置支持(内置无需配置);不在内置时引导用户使用「用量查询」弹窗里的通用模板 / New API 模板;两种模板都覆盖不了的接口,帮用户写出 usage-probes.json 的旧版探针数组。","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/usage-probe/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:using-git-worktrees","description":"Create isolated git worktrees with smart directory selection and safety verification. Use when needing worktree isolation, creating branch worktrees, or managing multiple branches.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/using-git-worktrees/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:using-superpowers","description":"Establish how to find and use skills in any conversation. Use when asking about capabilities, discovering skills, or learning what you can do.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/using-superpowers/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:verification-before-completion","description":"Verify work is complete before claiming success. Requires running verification commands. Use when claiming work is complete, before committing, before creating PRs, or verifying tests pass.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/verification-before-completion/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:writing-plans","description":"Write implementation plans from specs or requirements for multi-step tasks. Use when writing plans, making implementation plans, or planning development.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/writing-plans/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:writing-skills","description":"Create new skills, edit existing skills, or verify skills before deployment. Use when writing skills, creating new skills, or editing existing skills.","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/writing-skills/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}},{"name":"skill:zread","description":"Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or \"what does this repo do\"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word \"zread\".","source":"skill","sourceInfo":{"path":"/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/zread/SKILL.md","source":"auto","scope":"user","origin":"top-level","baseDir":"/Users/jianjiang/.aicode-regression-39890-9676000/agent"}}]}}
|
|
3
|
+
{"id":"e2","type":"response","command":"get_state","success":true,"data":{"model":{"id":"MiniMax-M3","name":"MiniMax-M3","api":"anthropic-messages","provider":"minimax-cn","baseUrl":"https://api.minimaxi.com/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0,"tiers":[{"inputTokensAbove":512000,"input":0.6,"output":2.4,"cacheRead":0.12,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":512000,"inputLimits":{"images":{"resize":{"maxWidth":2000,"maxHeight":2000,"maxBytes":4718592,"jpegQuality":80}}},"type":"chat"},"thinkingLevel":"high","isStreaming":false,"isCompacting":false,"steeringMode":"one-at-a-time","followUpMode":"all","sessionId":"01a123e1-37ce-723b-a044-f9aeb5e7342e","autoCompactionEnabled":true,"messageCount":0,"pendingMessageCount":0}}
|
|
4
4
|
{"id":"e3","type":"response","command":"prompt","success":true,"data":{"disposition":"started"}}
|
|
5
5
|
{"type":"agent_start"}
|
|
6
6
|
{"type":"turn_start"}
|
|
7
|
-
{"type":"message_start","message":{"role":"system","content":"","sections":{"preamble":"You are an expert coding assistant operating inside pi, a coding agent harness. You help users by reading files, executing commands, editing code, and writing new files.","tools":"<tools>\n- read: Read file contents\n- bash: Execute bash commands (ls, grep, find, etc.)\n- edit: Make precise file edits with exact text replacement, including multiple disjoint edits in one call\n- write: Create or overwrite files\n\nIn addition to the tools above, you may have access to other custom tools depending on the project.\n</tools>","rules":"<rules>\n- Use bash for file operations like ls, rg, find\n- Use read to examine files instead of cat or sed.\n- You can inspect PI_* environment variables for current model and session details.\n- Use edit for precise changes (edits[].oldText must match exactly)\n- When changing multiple separate locations in one file, use one edit call with multiple entries in edits[] instead of multiple edit calls\n- Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not emit overlapping or nested edits. Merge nearby changes into one edit.\n- Keep edits[].oldText as small as possible while still being unique in the file. Do not pad with large unchanged regions.\n- Use write only for new files or complete rewrites.\n- Be concise in your responses\n- Show file paths clearly when working with files\n</rules>","docs":"<docs>\nPi documentation (read only when the user asks about pi itself, its SDK, extensions, themes, skills, or TUI):\n- Main documentation: /Users/jianjiang/aicode-global/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/README.md\n- Additional docs: /Users/jianjiang/aicode-global/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/docs\n- Examples: /Users/jianjiang/aicode-global/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/examples (extensions, custom tools, SDK)\n- When reading pi docs or examples, resolve docs/... under Additional docs and examples/... under Examples, not the current working directory\n- When asked about: extensions (docs/extensions.md, examples/extensions/), themes (docs/themes.md), skills (docs/skills.md), prompt templates (docs/prompt-templates.md), TUI components (docs/tui.md), keybindings (docs/keybindings.md), SDK integrations (docs/sdk.md), custom providers (docs/custom-provider.md), adding models (docs/models.md), pi packages (docs/packages.md), environment variables (docs/environment-variables.md), MCP servers (docs/mcp.md), codemode scripts and non-LLM models such as classifiers and image models (docs/codemode.md)\n- When working on pi topics, read the docs and examples, and follow .md cross-references before implementing\n- Always read pi .md files completely and follow links to related docs (e.g., tui.md for TUI API details)\n</docs>","project_context":"<project_context>\nProject-specific instructions and guidelines:\n\n<project_instructions path=\"/Users/jianjiang/CLAUDE.md\">\n# 家目录规划说明\n\n> 本文档由 AI 助手生成,用于说明 `/Users/jianjiang/` 目录的组织规则。\n> 最后更新:2026-09-12\n\n---\n\n## 目录结构\n\n```\n/Users/jianjiang/\n├── icode/ # 代码项目(所有 git 仓库、工程)\n├── software/ # 开发工具(JDK、Maven、Gradle 等)\n├── docs/ # 技术文档、手册、学习资料\n├── projects/ # 非代码类项目(设计稿、需求文档等)\n├── tools/ # 自用脚本、小工具、dotfiles\n├── archive/ # 归档:完结项目、旧版本、备份\n├── tmp/ # 临时文件,随时可删\n├── Desktop/ # 桌面,保持干净\n├── Documents/ # 办公文档、PDF\n└── Downloads/ # 下载默认位置\n```\n\n---\n\n## 使用规则\n\n| 目录 | 用途 | 规则 |\n| ------ | ------ | ------ |\n| `icode/` | 代码工程 | 所有代码项目放这里,按项目名建子目录 |\n| `software/` | 开发工具 | 绿色软件、解压即用的工具 |\n| `docs/` | 技术资料 | 笔记、手册、教程,按主题分类 |\n| `projects/` | 非代码项目 | 设计稿、产品文档、协作文件夹 |\n| `tools/` | 个人脚本 | 自用脚本、命令行工具、配置备份 |\n| `archive/` | 归档 | 半年清理一次,不再活跃的内容移入 |\n| `tmp/` | 临时文件 | 不存重要内容,定期清空 |\n| `Desktop/` | 桌面 | 只放当前正在处理的文件 |\n| `Documents/` | 办公文档 | 合同、PDF、非技术资料 |\n| `Downloads/` | 下载 | 浏览器默认下载位置,定期整理 |\n\n---\n\n## 维护建议\n\n- **每月**:检查 `tmp/`,删除过期文件\n- **每季度**:整理 `archive/`,决定彻底删除或继续保留\n- **随时**:新文件按规则放入对应目录,不堆积在桌面\n\n</project_instructions>\n</project_context>","skills":"<skills>\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n<available_skills>\n <skill>\n <name>aicode-doctor</name>\n <description>排查AICode Deck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断AICode Deck 」「会话起不来」「aicode 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/aicode-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>brainstorming</name>\n <description>Explore user intent, requirements and design before any creative work or implementation. Use when brainstorming ideas, designing features, analyzing requirements, or figuring out how to implement something.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/brainstorming/SKILL.md</location>\n </skill>\n <skill>\n <name>chroma-local</name>\n <description>Use when the user needs self-hosted or local Chroma for semantic search, including `ChromaClient`, `HttpClient`, or Python `EphemeralClient`, local persistence, Docker or `chroma run`, or OSS Chroma without Chroma Cloud features.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/chroma/chroma-local/SKILL.md</location>\n </skill>\n <skill>\n <name>code-mode-orchestrator</name>\n <description>Code Mode (Exec) usage patterns and applicable scenarios. Covers parallel fan-out, pipeline with JS transforms, conditional branching, loop-until-condition, and multi-source aggregation. Trigger when the task benefits from orchestrating multiple tool calls in a single JavaScript script rather than sequential direct calls.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/code-mode-orchestrator/SKILL.md</location>\n </skill>\n <skill>\n <name>code-review</name>\n <description>执行全面的代码审查,检查代码质量、安全性、性能和最佳实践。Use when reviewing code, conducting code reviews, or checking code quality.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/code-review/SKILL.md</location>\n </skill>\n <skill>\n <name>codebase-analyzer</name>\n <description>分析代码库结构,提取架构知识、模块依赖、潜在风险。Use when exploring unfamiliar codebase, understanding module relationships, or assessing impact of changes.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/codebase-analyzer/SKILL.md</location>\n </skill>\n <skill>\n <name>commit</name>\n <description>分析代码变更并生成规范的 Git commit 消息。Use when committing code, generating commit messages, or submitting to git.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/commit/SKILL.md</location>\n </skill>\n <skill>\n <name>dispatching-parallel-agents</name>\n <description>Dispatch multiple independent tasks in parallel without shared state. Use when facing parallel tasks, handling multiple independent jobs, or executing concurrent operations.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/dispatching-parallel-agents/SKILL.md</location>\n </skill>\n <skill>\n <name>dynamic-ui</name>\n <description>Show visual content inline alongside your text response — diagrams, charts, interactive demos, comparisons. Use only when a compact visual makes the answer clearer. Not for websites, apps, reports, dashboards, or slides.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/dynamic-ui/SKILL.md</location>\n </skill>\n <skill>\n <name>email-sender</name>\n <description>Send emails via SMTP with support for plain text, images, and HTML content. Use when user asks to send emails, send text/images/rich content to an email address, or mentions sending anything to an email address. Triggers on phrases like "send email to", "send this to my email", "email this to", "把这段话发到邮箱", "发送图片到邮箱", "发送邮件", "发邮件到xxx".</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/email-sender/SKILL.md</location>\n </skill>\n <skill>\n <name>frontend-design</name>\n <description>Create distinctive, production-grade frontend interfaces with high design quality. Use when building frontend, creating web components, designing pages, or implementing UI.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/frontend-design/SKILL.md</location>\n </skill>\n <skill>\n <name>image-gen</name>\n <description>生成图片。当用户想让 AI 生成图片、插画、海报、头像等图像内容时使用。读取生图供应商配置,调用 OpenAI 兼容的图片生成 API(支持 OpenAI、火山方舟、SiliconFlow 三种方言与参考图),把生成的图片保存到项目目录。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/image-gen/SKILL.md</location>\n </skill>\n <skill>\n <name>adapt</name>\n <description>(impeccable) 使设计适配不同的屏幕尺寸、设备、场景或平台,确保跨环境体验一致。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/adapt/SKILL.md</location>\n </skill>\n <skill>\n <name>audit</name>\n <description>(impeccable) 对界面质量进行全面审计,涵盖无障碍性、性能、主题化和响应式设计,生成包含严重等级和改进建议的详细报告。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/audit/SKILL.md</location>\n </skill>\n <skill>\n <name>extract</name>\n <description>(impeccable) 提取并整合可复用的组件、设计令牌和模式到设计系统中,识别系统性复用的机会并丰富组件库。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/extract/SKILL.md</location>\n </skill>\n <skill>\n <name>harden</name>\n <description>(impeccable) 通过改进错误处理、i18n 支持、文字溢出处理和边界情况管理,提升界面的健壮性,使界面达到可上线标准。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/harden/SKILL.md</location>\n </skill>\n <skill>\n <name>polish</name>\n <description>(impeccable) 上线前的最终质量检查,修正对齐、间距、一致性和细节问题,让"好"与"优秀"拉开差距。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/polish/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-approval</name>\n <description>飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-approval/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-apps</name>\n <description>妙搭(Spark/Miaoda)应用开发与托管:应用创建、本地全栈开发、云端生成迭代、创意设计(UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索)、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协作者与协作权限设置、应用角色与成员管理、自动化触发器(定时/记录变更/Webhook/飞书审批)。当用户要开发/新建一个系统·工具·平台·应用,或要本地开发 / 云端开发 / 修改 / 部署 / 发布 / 上线 / 拿可分享链接,或用 HTML 做页面·网站·部署到妙搭,或要设计 / design / mockup / prototype / wireframe / 做 PPT / deck / 视觉探索,或提到妙搭/Spark/Miaoda(应用运行时域名形如 *.aiforce.cloud)、应用数据库、应用文件存储、开放 API Key、可见范围、应用协作者/开发权限、应用角色/角色成员、线上日志、接口请求量、错误量、延迟、访问量、环境变量、给妙搭应用配自动化任务/定时触发/审批通过后自动触发时使用。不负责普通云盘文件上传(lark-drive)、飞书文档编辑(lark-doc)、原生幻灯片创建(lark-slides)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-apps/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-attendance</name>\n <description>飞书考勤打卡:查询自己的考勤打卡记录</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-attendance/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-base</name>\n <description>飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-base/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-calendar</name>\n <description>飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting)、待办任务(走 lark-task)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-calendar/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-contact</name>\n <description>飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-contact/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-doc</name>\n <description>飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-doc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-drive</name>\n <description>飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-drive/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-event</name>\n <description>Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-event/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-im</name>\n <description>飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-im/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-mail</name>\n <description>飞书邮箱:Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等;use for mail/email intent only. Do not use for docs/sheets/calendar/auth setup/pure contact lookup/IM chat tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-mail/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-markdown</name>\n <description>飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-markdown/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-meeting</name>\n <description>飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-node-id 或妙记 URL 查询相关信息。预约会议、忙闲和会议室管理走 lark-calendar。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-meeting/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-minutes</name>\n <description>仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-minutes/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-note</name>\n <description>仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-note/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-okr</name>\n <description>飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-okr/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-openapi-explorer</name>\n <description>飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-openapi-explorer/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-shared</name>\n <description>Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-shared/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-sheets</name>\n <description>飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可视化、表格美化、公式计算(含 Excel 公式迁移)、金融/财务建模(DCF、三张表、预算、Sensitivity 等)等任务时使用。若用户是想按名称或关键词搜索云空间(云盘/云存储)里的表格文件,请改用 lark-drive 的 drive +search 先定位资源。当用户给出 doubao.com 的 /sheets/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-sheets/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-skill-maker</name>\n <description>创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-skill-maker/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-slides</name>\n <description>飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard)、上传或下载普通文件(走 lark-drive)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-slides/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-task</name>\n <description>飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-task/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc</name>\n <description>仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-vc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc-agent</name>\n <description>仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-vc-agent/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-whiteboard</name>\n <description>飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-whiteboard/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-wiki</name>\n <description>飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:上传文件到知识库节点下(走 lark-drive)、编辑文档/表格/Base 内容(走 lark-doc / lark-sheets / lark-base)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-wiki/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-meeting-summary</name>\n <description>会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-workflow-meeting-summary/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-standup-report</name>\n <description>日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-workflow-standup-report/SKILL.md</location>\n </skill>\n <skill>\n <name>milvus-skill</name>\n <description>Operate Milvus vector database with pymilvus Python SDK. Use when the user wants to connect to Milvus, create collections, insert vectors, perform similarity search, hybrid search, full-text search, manage indexes, partitions, databases, or RBAC via Python code.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/milvus-skill/SKILL.md</location>\n </skill>\n <skill>\n <name>owasp-security</name>\n <description>Implement secure coding practices following OWASP Top 10. Use when dealing with OWASP, security, XSS, SQL injection, CSRF, secure coding, or vulnerabilities.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/owasp-security/SKILL.md</location>\n </skill>\n <skill>\n <name>pideck-doctor</name>\n <description>排查 PiDeck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断 PiDeck」「会话起不来」「pi 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/pideck-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail</name>\n <description>Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", and whenever they complain about over-engineering, bloat, boilerplate, or unnecessary dependencies.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-audit</name>\n <description>Whole-repo audit for over-engineering. Like ponytail-review, but scans the entire codebase instead of a diff: a ranked list of what to delete, simplify, or replace with stdlib/native equivalents. Use when the user says "audit this codebase", "audit for over-engineering", "what can I delete from this repo", "find bloat", "ponytail-audit", or "/ponytail-audit". One-shot report, does not apply fixes.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-audit/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-debt</name>\n <description>Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into "later means never". Use when the user says "ponytail debt", "/ponytail-debt", "what did ponytail defer", "list the shortcuts", "ponytail ledger", or "what did we mark to do later". One-shot report, changes nothing.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-debt/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-help</name>\n <description>Quick-reference card for all ponytail modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /ponytail-help, "ponytail help", "what ponytail commands", "how do I use ponytail".\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-help/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-review</name>\n <description>Code review focused exclusively on over-engineering. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the user says "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review", or invokes /ponytail-review. Complements correctness-focused review, this one only hunts complexity.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-review/SKILL.md</location>\n </skill>\n <skill>\n <name>session-learning</name>\n <description>Summarize conversation experiences and 沉淀 skills. Use when summarizing lessons learned, refining skills, reflecting on experience, or doing post-task reviews.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/session-learning/SKILL.md</location>\n </skill>\n <skill>\n <name>skill-creator</name>\n <description>Create, modify, and improve agent skills with performance measurement. Use when creating skills, editing skills, or optimizing skill performance.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/skill-creator/SKILL.md</location>\n </skill>\n <skill>\n <name>subagent-driven-development</name>\n <description>Execute plans by dispatching subagents for independent tasks. Use when executing implementation plans, dispatching subagents, or handling multiple tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/subagent-driven-development/SKILL.md</location>\n </skill>\n <skill>\n <name>usage-probe</name>\n <description>为 aicode 的「用量查询」功能排查/扩展供应商支持。当用户想显示某个供应商的用量、余额或额度点数时,先判断是否已内置支持(内置无需配置);不在内置时引导用户使用「用量查询」弹窗里的通用模板 / New API 模板;两种模板都覆盖不了的接口,帮用户写出 usage-probes.json 的旧版探针数组。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/usage-probe/SKILL.md</location>\n </skill>\n <skill>\n <name>using-superpowers</name>\n <description>Establish how to find and use skills in any conversation. Use when asking about capabilities, discovering skills, or learning what you can do.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/using-superpowers/SKILL.md</location>\n </skill>\n <skill>\n <name>verification-before-completion</name>\n <description>Verify work is complete before claiming success. Requires running verification commands. Use when claiming work is complete, before committing, before creating PRs, or verifying tests pass.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/verification-before-completion/SKILL.md</location>\n </skill>\n <skill>\n <name>writing-plans</name>\n <description>Write implementation plans from specs or requirements for multi-step tasks. Use when writing plans, making implementation plans, or planning development.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/writing-plans/SKILL.md</location>\n </skill>\n <skill>\n <name>zread</name>\n <description>Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or "what does this repo do"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word "zread".</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/zread/SKILL.md</location>\n </skill>\n</available_skills>\n</skills>","cwd":"<cwd>\n/Users/jianjiang\n</cwd>"},"timestamp":1791596698760,"toolsAdded":[{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp, bmp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"bash","description":"Execute a bash command in the current working directory. Returns stdout and stderr. Output is truncated to last 2000 lines or 50KB (whichever is hit first). If truncated, full output is saved to a temp file. Optionally provide a timeout in seconds.","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"timeout":{"type":"number","description":"Timeout in seconds (optional, no default timeout)"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"type":"object","required":["oldText","newText"],"properties":{"oldText":{"type":"string","description":"Exact text for one targeted replacement. It must be unique in the original file and must not overlap with any other edits[].oldText in the same call."},"newText":{"type":"string","description":"Replacement text for this targeted edit."}}},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}}]}}
|
|
8
|
-
{"type":"message_end","message":{"role":"system","content":"","sections":{"preamble":"You are an expert coding assistant operating inside pi, a coding agent harness. You help users by reading files, executing commands, editing code, and writing new files.","tools":"<tools>\n- read: Read file contents\n- bash: Execute bash commands (ls, grep, find, etc.)\n- edit: Make precise file edits with exact text replacement, including multiple disjoint edits in one call\n- write: Create or overwrite files\n\nIn addition to the tools above, you may have access to other custom tools depending on the project.\n</tools>","rules":"<rules>\n- Use bash for file operations like ls, rg, find\n- Use read to examine files instead of cat or sed.\n- You can inspect PI_* environment variables for current model and session details.\n- Use edit for precise changes (edits[].oldText must match exactly)\n- When changing multiple separate locations in one file, use one edit call with multiple entries in edits[] instead of multiple edit calls\n- Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not emit overlapping or nested edits. Merge nearby changes into one edit.\n- Keep edits[].oldText as small as possible while still being unique in the file. Do not pad with large unchanged regions.\n- Use write only for new files or complete rewrites.\n- Be concise in your responses\n- Show file paths clearly when working with files\n</rules>","docs":"<docs>\nPi documentation (read only when the user asks about pi itself, its SDK, extensions, themes, skills, or TUI):\n- Main documentation: /Users/jianjiang/aicode-global/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/README.md\n- Additional docs: /Users/jianjiang/aicode-global/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/docs\n- Examples: /Users/jianjiang/aicode-global/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/examples (extensions, custom tools, SDK)\n- When reading pi docs or examples, resolve docs/... under Additional docs and examples/... under Examples, not the current working directory\n- When asked about: extensions (docs/extensions.md, examples/extensions/), themes (docs/themes.md), skills (docs/skills.md), prompt templates (docs/prompt-templates.md), TUI components (docs/tui.md), keybindings (docs/keybindings.md), SDK integrations (docs/sdk.md), custom providers (docs/custom-provider.md), adding models (docs/models.md), pi packages (docs/packages.md), environment variables (docs/environment-variables.md), MCP servers (docs/mcp.md), codemode scripts and non-LLM models such as classifiers and image models (docs/codemode.md)\n- When working on pi topics, read the docs and examples, and follow .md cross-references before implementing\n- Always read pi .md files completely and follow links to related docs (e.g., tui.md for TUI API details)\n</docs>","project_context":"<project_context>\nProject-specific instructions and guidelines:\n\n<project_instructions path=\"/Users/jianjiang/CLAUDE.md\">\n# 家目录规划说明\n\n> 本文档由 AI 助手生成,用于说明 `/Users/jianjiang/` 目录的组织规则。\n> 最后更新:2026-09-12\n\n---\n\n## 目录结构\n\n```\n/Users/jianjiang/\n├── icode/ # 代码项目(所有 git 仓库、工程)\n├── software/ # 开发工具(JDK、Maven、Gradle 等)\n├── docs/ # 技术文档、手册、学习资料\n├── projects/ # 非代码类项目(设计稿、需求文档等)\n├── tools/ # 自用脚本、小工具、dotfiles\n├── archive/ # 归档:完结项目、旧版本、备份\n├── tmp/ # 临时文件,随时可删\n├── Desktop/ # 桌面,保持干净\n├── Documents/ # 办公文档、PDF\n└── Downloads/ # 下载默认位置\n```\n\n---\n\n## 使用规则\n\n| 目录 | 用途 | 规则 |\n| ------ | ------ | ------ |\n| `icode/` | 代码工程 | 所有代码项目放这里,按项目名建子目录 |\n| `software/` | 开发工具 | 绿色软件、解压即用的工具 |\n| `docs/` | 技术资料 | 笔记、手册、教程,按主题分类 |\n| `projects/` | 非代码项目 | 设计稿、产品文档、协作文件夹 |\n| `tools/` | 个人脚本 | 自用脚本、命令行工具、配置备份 |\n| `archive/` | 归档 | 半年清理一次,不再活跃的内容移入 |\n| `tmp/` | 临时文件 | 不存重要内容,定期清空 |\n| `Desktop/` | 桌面 | 只放当前正在处理的文件 |\n| `Documents/` | 办公文档 | 合同、PDF、非技术资料 |\n| `Downloads/` | 下载 | 浏览器默认下载位置,定期整理 |\n\n---\n\n## 维护建议\n\n- **每月**:检查 `tmp/`,删除过期文件\n- **每季度**:整理 `archive/`,决定彻底删除或继续保留\n- **随时**:新文件按规则放入对应目录,不堆积在桌面\n\n</project_instructions>\n</project_context>","skills":"<skills>\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n<available_skills>\n <skill>\n <name>aicode-doctor</name>\n <description>排查AICode Deck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断AICode Deck 」「会话起不来」「aicode 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/aicode-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>brainstorming</name>\n <description>Explore user intent, requirements and design before any creative work or implementation. Use when brainstorming ideas, designing features, analyzing requirements, or figuring out how to implement something.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/brainstorming/SKILL.md</location>\n </skill>\n <skill>\n <name>chroma-local</name>\n <description>Use when the user needs self-hosted or local Chroma for semantic search, including `ChromaClient`, `HttpClient`, or Python `EphemeralClient`, local persistence, Docker or `chroma run`, or OSS Chroma without Chroma Cloud features.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/chroma/chroma-local/SKILL.md</location>\n </skill>\n <skill>\n <name>code-mode-orchestrator</name>\n <description>Code Mode (Exec) usage patterns and applicable scenarios. Covers parallel fan-out, pipeline with JS transforms, conditional branching, loop-until-condition, and multi-source aggregation. Trigger when the task benefits from orchestrating multiple tool calls in a single JavaScript script rather than sequential direct calls.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/code-mode-orchestrator/SKILL.md</location>\n </skill>\n <skill>\n <name>code-review</name>\n <description>执行全面的代码审查,检查代码质量、安全性、性能和最佳实践。Use when reviewing code, conducting code reviews, or checking code quality.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/code-review/SKILL.md</location>\n </skill>\n <skill>\n <name>codebase-analyzer</name>\n <description>分析代码库结构,提取架构知识、模块依赖、潜在风险。Use when exploring unfamiliar codebase, understanding module relationships, or assessing impact of changes.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/codebase-analyzer/SKILL.md</location>\n </skill>\n <skill>\n <name>commit</name>\n <description>分析代码变更并生成规范的 Git commit 消息。Use when committing code, generating commit messages, or submitting to git.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/commit/SKILL.md</location>\n </skill>\n <skill>\n <name>dispatching-parallel-agents</name>\n <description>Dispatch multiple independent tasks in parallel without shared state. Use when facing parallel tasks, handling multiple independent jobs, or executing concurrent operations.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/dispatching-parallel-agents/SKILL.md</location>\n </skill>\n <skill>\n <name>dynamic-ui</name>\n <description>Show visual content inline alongside your text response — diagrams, charts, interactive demos, comparisons. Use only when a compact visual makes the answer clearer. Not for websites, apps, reports, dashboards, or slides.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/dynamic-ui/SKILL.md</location>\n </skill>\n <skill>\n <name>email-sender</name>\n <description>Send emails via SMTP with support for plain text, images, and HTML content. Use when user asks to send emails, send text/images/rich content to an email address, or mentions sending anything to an email address. Triggers on phrases like "send email to", "send this to my email", "email this to", "把这段话发到邮箱", "发送图片到邮箱", "发送邮件", "发邮件到xxx".</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/email-sender/SKILL.md</location>\n </skill>\n <skill>\n <name>frontend-design</name>\n <description>Create distinctive, production-grade frontend interfaces with high design quality. Use when building frontend, creating web components, designing pages, or implementing UI.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/frontend-design/SKILL.md</location>\n </skill>\n <skill>\n <name>image-gen</name>\n <description>生成图片。当用户想让 AI 生成图片、插画、海报、头像等图像内容时使用。读取生图供应商配置,调用 OpenAI 兼容的图片生成 API(支持 OpenAI、火山方舟、SiliconFlow 三种方言与参考图),把生成的图片保存到项目目录。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/image-gen/SKILL.md</location>\n </skill>\n <skill>\n <name>adapt</name>\n <description>(impeccable) 使设计适配不同的屏幕尺寸、设备、场景或平台,确保跨环境体验一致。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/adapt/SKILL.md</location>\n </skill>\n <skill>\n <name>audit</name>\n <description>(impeccable) 对界面质量进行全面审计,涵盖无障碍性、性能、主题化和响应式设计,生成包含严重等级和改进建议的详细报告。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/audit/SKILL.md</location>\n </skill>\n <skill>\n <name>extract</name>\n <description>(impeccable) 提取并整合可复用的组件、设计令牌和模式到设计系统中,识别系统性复用的机会并丰富组件库。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/extract/SKILL.md</location>\n </skill>\n <skill>\n <name>harden</name>\n <description>(impeccable) 通过改进错误处理、i18n 支持、文字溢出处理和边界情况管理,提升界面的健壮性,使界面达到可上线标准。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/harden/SKILL.md</location>\n </skill>\n <skill>\n <name>polish</name>\n <description>(impeccable) 上线前的最终质量检查,修正对齐、间距、一致性和细节问题,让"好"与"优秀"拉开差距。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/polish/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-approval</name>\n <description>飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-approval/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-apps</name>\n <description>妙搭(Spark/Miaoda)应用开发与托管:应用创建、本地全栈开发、云端生成迭代、创意设计(UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索)、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协作者与协作权限设置、应用角色与成员管理、自动化触发器(定时/记录变更/Webhook/飞书审批)。当用户要开发/新建一个系统·工具·平台·应用,或要本地开发 / 云端开发 / 修改 / 部署 / 发布 / 上线 / 拿可分享链接,或用 HTML 做页面·网站·部署到妙搭,或要设计 / design / mockup / prototype / wireframe / 做 PPT / deck / 视觉探索,或提到妙搭/Spark/Miaoda(应用运行时域名形如 *.aiforce.cloud)、应用数据库、应用文件存储、开放 API Key、可见范围、应用协作者/开发权限、应用角色/角色成员、线上日志、接口请求量、错误量、延迟、访问量、环境变量、给妙搭应用配自动化任务/定时触发/审批通过后自动触发时使用。不负责普通云盘文件上传(lark-drive)、飞书文档编辑(lark-doc)、原生幻灯片创建(lark-slides)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-apps/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-attendance</name>\n <description>飞书考勤打卡:查询自己的考勤打卡记录</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-attendance/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-base</name>\n <description>飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-base/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-calendar</name>\n <description>飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting)、待办任务(走 lark-task)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-calendar/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-contact</name>\n <description>飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-contact/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-doc</name>\n <description>飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-doc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-drive</name>\n <description>飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-drive/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-event</name>\n <description>Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-event/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-im</name>\n <description>飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-im/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-mail</name>\n <description>飞书邮箱:Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等;use for mail/email intent only. Do not use for docs/sheets/calendar/auth setup/pure contact lookup/IM chat tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-mail/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-markdown</name>\n <description>飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-markdown/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-meeting</name>\n <description>飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-node-id 或妙记 URL 查询相关信息。预约会议、忙闲和会议室管理走 lark-calendar。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-meeting/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-minutes</name>\n <description>仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-minutes/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-note</name>\n <description>仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-note/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-okr</name>\n <description>飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-okr/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-openapi-explorer</name>\n <description>飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-openapi-explorer/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-shared</name>\n <description>Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-shared/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-sheets</name>\n <description>飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可视化、表格美化、公式计算(含 Excel 公式迁移)、金融/财务建模(DCF、三张表、预算、Sensitivity 等)等任务时使用。若用户是想按名称或关键词搜索云空间(云盘/云存储)里的表格文件,请改用 lark-drive 的 drive +search 先定位资源。当用户给出 doubao.com 的 /sheets/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-sheets/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-skill-maker</name>\n <description>创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-skill-maker/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-slides</name>\n <description>飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard)、上传或下载普通文件(走 lark-drive)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-slides/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-task</name>\n <description>飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-task/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc</name>\n <description>仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-vc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc-agent</name>\n <description>仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-vc-agent/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-whiteboard</name>\n <description>飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-whiteboard/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-wiki</name>\n <description>飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:上传文件到知识库节点下(走 lark-drive)、编辑文档/表格/Base 内容(走 lark-doc / lark-sheets / lark-base)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-wiki/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-meeting-summary</name>\n <description>会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-workflow-meeting-summary/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-standup-report</name>\n <description>日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-workflow-standup-report/SKILL.md</location>\n </skill>\n <skill>\n <name>milvus-skill</name>\n <description>Operate Milvus vector database with pymilvus Python SDK. Use when the user wants to connect to Milvus, create collections, insert vectors, perform similarity search, hybrid search, full-text search, manage indexes, partitions, databases, or RBAC via Python code.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/milvus-skill/SKILL.md</location>\n </skill>\n <skill>\n <name>owasp-security</name>\n <description>Implement secure coding practices following OWASP Top 10. Use when dealing with OWASP, security, XSS, SQL injection, CSRF, secure coding, or vulnerabilities.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/owasp-security/SKILL.md</location>\n </skill>\n <skill>\n <name>pideck-doctor</name>\n <description>排查 PiDeck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断 PiDeck」「会话起不来」「pi 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/pideck-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail</name>\n <description>Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", and whenever they complain about over-engineering, bloat, boilerplate, or unnecessary dependencies.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-audit</name>\n <description>Whole-repo audit for over-engineering. Like ponytail-review, but scans the entire codebase instead of a diff: a ranked list of what to delete, simplify, or replace with stdlib/native equivalents. Use when the user says "audit this codebase", "audit for over-engineering", "what can I delete from this repo", "find bloat", "ponytail-audit", or "/ponytail-audit". One-shot report, does not apply fixes.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-audit/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-debt</name>\n <description>Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into "later means never". Use when the user says "ponytail debt", "/ponytail-debt", "what did ponytail defer", "list the shortcuts", "ponytail ledger", or "what did we mark to do later". One-shot report, changes nothing.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-debt/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-help</name>\n <description>Quick-reference card for all ponytail modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /ponytail-help, "ponytail help", "what ponytail commands", "how do I use ponytail".\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-help/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-review</name>\n <description>Code review focused exclusively on over-engineering. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the user says "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review", or invokes /ponytail-review. Complements correctness-focused review, this one only hunts complexity.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-review/SKILL.md</location>\n </skill>\n <skill>\n <name>session-learning</name>\n <description>Summarize conversation experiences and 沉淀 skills. Use when summarizing lessons learned, refining skills, reflecting on experience, or doing post-task reviews.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/session-learning/SKILL.md</location>\n </skill>\n <skill>\n <name>skill-creator</name>\n <description>Create, modify, and improve agent skills with performance measurement. Use when creating skills, editing skills, or optimizing skill performance.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/skill-creator/SKILL.md</location>\n </skill>\n <skill>\n <name>subagent-driven-development</name>\n <description>Execute plans by dispatching subagents for independent tasks. Use when executing implementation plans, dispatching subagents, or handling multiple tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/subagent-driven-development/SKILL.md</location>\n </skill>\n <skill>\n <name>usage-probe</name>\n <description>为 aicode 的「用量查询」功能排查/扩展供应商支持。当用户想显示某个供应商的用量、余额或额度点数时,先判断是否已内置支持(内置无需配置);不在内置时引导用户使用「用量查询」弹窗里的通用模板 / New API 模板;两种模板都覆盖不了的接口,帮用户写出 usage-probes.json 的旧版探针数组。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/usage-probe/SKILL.md</location>\n </skill>\n <skill>\n <name>using-superpowers</name>\n <description>Establish how to find and use skills in any conversation. Use when asking about capabilities, discovering skills, or learning what you can do.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/using-superpowers/SKILL.md</location>\n </skill>\n <skill>\n <name>verification-before-completion</name>\n <description>Verify work is complete before claiming success. Requires running verification commands. Use when claiming work is complete, before committing, before creating PRs, or verifying tests pass.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/verification-before-completion/SKILL.md</location>\n </skill>\n <skill>\n <name>writing-plans</name>\n <description>Write implementation plans from specs or requirements for multi-step tasks. Use when writing plans, making implementation plans, or planning development.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/writing-plans/SKILL.md</location>\n </skill>\n <skill>\n <name>zread</name>\n <description>Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or "what does this repo do"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word "zread".</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/zread/SKILL.md</location>\n </skill>\n</available_skills>\n</skills>","cwd":"<cwd>\n/Users/jianjiang\n</cwd>"},"timestamp":1791596698760,"toolsAdded":[{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp, bmp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"bash","description":"Execute a bash command in the current working directory. Returns stdout and stderr. Output is truncated to last 2000 lines or 50KB (whichever is hit first). If truncated, full output is saved to a temp file. Optionally provide a timeout in seconds.","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"timeout":{"type":"number","description":"Timeout in seconds (optional, no default timeout)"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"type":"object","required":["oldText","newText"],"properties":{"oldText":{"type":"string","description":"Exact text for one targeted replacement. It must be unique in the original file and must not overlap with any other edits[].oldText in the same call."},"newText":{"type":"string","description":"Replacement text for this targeted edit."}}},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}}]}}
|
|
9
|
-
{"type":"message_start","message":{"role":"user","content":[{"type":"text","text":"just say hi"}],"timestamp":
|
|
10
|
-
{"type":"message_end","message":{"role":"user","content":[{"type":"text","text":"just say hi"}],"timestamp":
|
|
11
|
-
{"type":"message_start","message":{"role":"assistant","content":[],"api":"anthropic-messages","provider":"minimax-cn","model":"MiniMax-M3","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"pending","timestamp":
|
|
7
|
+
{"type":"message_start","message":{"role":"system","content":"","sections":{"preamble":"You are an expert coding assistant operating inside pi, a coding agent harness. You help users by reading files, executing commands, editing code, and writing new files.","tools":"<tools>\n- read: Read file contents\n- bash: Execute bash commands (ls, grep, find, etc.)\n- edit: Make precise file edits with exact text replacement, including multiple disjoint edits in one call\n- write: Create or overwrite files\n\nIn addition to the tools above, you may have access to other custom tools depending on the project.\n</tools>","rules":"<rules>\n- Use bash for file operations like ls, rg, find\n- Use read to examine files instead of cat or sed.\n- You can inspect PI_* environment variables for current model and session details.\n- Use edit for precise changes (edits[].oldText must match exactly)\n- When changing multiple separate locations in one file, use one edit call with multiple entries in edits[] instead of multiple edit calls\n- Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not emit overlapping or nested edits. Merge nearby changes into one edit.\n- Keep edits[].oldText as small as possible while still being unique in the file. Do not pad with large unchanged regions.\n- Use write only for new files or complete rewrites.\n- Be concise in your responses\n- Show file paths clearly when working with files\n</rules>","docs":"<docs>\nPi documentation (read only when the user asks about pi itself, its SDK, extensions, themes, skills, or TUI):\n- Main documentation: /private/tmp/aicode-nofallback/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/README.md\n- Additional docs: /private/tmp/aicode-nofallback/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/docs\n- Examples: /private/tmp/aicode-nofallback/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/examples (extensions, custom tools, SDK)\n- When reading pi docs or examples, resolve docs/... under Additional docs and examples/... under Examples, not the current working directory\n- When asked about: extensions (docs/extensions.md, examples/extensions/), themes (docs/themes.md), skills (docs/skills.md), prompt templates (docs/prompt-templates.md), TUI components (docs/tui.md), keybindings (docs/keybindings.md), SDK integrations (docs/sdk.md), custom providers (docs/custom-provider.md), adding models (docs/models.md), pi packages (docs/packages.md), environment variables (docs/environment-variables.md), MCP servers (docs/mcp.md), codemode scripts and non-LLM models such as classifiers and image models (docs/codemode.md)\n- When working on pi topics, read the docs and examples, and follow .md cross-references before implementing\n- Always read pi .md files completely and follow links to related docs (e.g., tui.md for TUI API details)\n</docs>","project_context":"<project_context>\nProject-specific instructions and guidelines:\n\n<project_instructions path=\"/Users/jianjiang/CLAUDE.md\">\n# 家目录规划说明\n\n> 本文档由 AI 助手生成,用于说明 `/Users/jianjiang/` 目录的组织规则。\n> 最后更新:2026-09-12\n\n---\n\n## 目录结构\n\n```\n/Users/jianjiang/\n├── icode/ # 代码项目(所有 git 仓库、工程)\n├── software/ # 开发工具(JDK、Maven、Gradle 等)\n├── docs/ # 技术文档、手册、学习资料\n├── projects/ # 非代码类项目(设计稿、需求文档等)\n├── tools/ # 自用脚本、小工具、dotfiles\n├── archive/ # 归档:完结项目、旧版本、备份\n├── tmp/ # 临时文件,随时可删\n├── Desktop/ # 桌面,保持干净\n├── Documents/ # 办公文档、PDF\n└── Downloads/ # 下载默认位置\n```\n\n---\n\n## 使用规则\n\n| 目录 | 用途 | 规则 |\n| ------ | ------ | ------ |\n| `icode/` | 代码工程 | 所有代码项目放这里,按项目名建子目录 |\n| `software/` | 开发工具 | 绿色软件、解压即用的工具 |\n| `docs/` | 技术资料 | 笔记、手册、教程,按主题分类 |\n| `projects/` | 非代码项目 | 设计稿、产品文档、协作文件夹 |\n| `tools/` | 个人脚本 | 自用脚本、命令行工具、配置备份 |\n| `archive/` | 归档 | 半年清理一次,不再活跃的内容移入 |\n| `tmp/` | 临时文件 | 不存重要内容,定期清空 |\n| `Desktop/` | 桌面 | 只放当前正在处理的文件 |\n| `Documents/` | 办公文档 | 合同、PDF、非技术资料 |\n| `Downloads/` | 下载 | 浏览器默认下载位置,定期整理 |\n\n---\n\n## 维护建议\n\n- **每月**:检查 `tmp/`,删除过期文件\n- **每季度**:整理 `archive/`,决定彻底删除或继续保留\n- **随时**:新文件按规则放入对应目录,不堆积在桌面\n\n</project_instructions>\n\n<project_instructions path=\"/Users/jianjiang/icode/code-agent-cli/AGENTS.md\">\n# PROJECT KNOWLEDGE BASE\n\n**Generated:** 2026-03-21\n\n## OVERVIEW\n\nProject: **@ia-ccun/code-agent-cli**\nStack: TypeScript, Node.js (>=20.0.0), npm, ESLint, TypeScript Compiler (tsc)\n\n## STRUCTURE\n\n```\n@ia-ccun/code-agent-cli/\n├── src/ # TypeScript 源码\n│ ├── index.ts # 入口文件 (导出 pi-coding-agent 核心功能)\n│ ├── config.ts # 配置定义 (AppConfig 接口)\n│ ├── config-loader.ts # 配置加载器\n│ └── banner.ts # 启动 Banner 生成\n├── bin/\n│ └── cli.js # CLI 入口 (npm bin 入口点)\n├── config/agent/ # 预置配置 (打包到 npm)\n│ ├── SYSTEM.md # 系统提示词\n│ ├── APPEND_SYSTEM.md # 追加系统提示词\n│ ├── models.json # LLM 模型配置\n│ ├── settings.json # 设置配置\n│ ├── extensions/ # 扩展 (拦截器、自定义命令)\n│ ├── prompts/ # 预置 Prompts (/git-commit, /workflow 等)\n│ ├── skills/ # 预置 Skills (/skill:code-review 等)\n│ ├── themes/ # 主题配置\n│ └── bin/ # 辅助脚本\n├── docs/ # 项目文档\n├── scripts/ # 构建脚本 (postinstall.js)\n├── pi-mono/ # pi-coding-agent 源码 (依赖)\n├── pi-ext/ # 扩展相关\n└── webui/ # Web UI 相关\n```\n\n* `src/`: TypeScript 源码目录,编译后输出到 `dist/`\n* `bin/cli.js`: CLI 主入口,负责解析参数、加载配置、显示 Banner、启动 pi-coding-agent\n* `config/agent/`: 预置的 Agent 配置,包含 Skills、Prompts、Extensions、Themes\n* `pi-mono/`: @mariozechner/pi-coding-agent 源码依赖\n* `docs/`: 项目文档目录\n\n## COMMANDS\n\n| Action | Command |\n| -------- | --------- |\n| Install Dependencies | `npm install` |\n| Build (compile TS) | `npm run build` |\n| Dev (watch mode) | `npm run dev` |\n| Clean dist | `npm run clean` |\n| Lint | `npm run lint` |\n| Release (patch bump) | `npm run release` |\n| Test | `npm test` (tests skipped) |\n\n## TOOL OPTIMIZATION\n\n* **Required Tools**: 必须使用以下优化工具,禁止使用原生命令:\n* `~/.aicode-cli/agent/bin/fd` — 替代 `find`(更快、更直观)\n* `~/.aicode-cli/agent/bin/rg` — 替代 `grep`(更快、功能更丰富)\n* **Usage**:\n\n ```bash\n # fd 用法示例\n fd \"pattern\" # 递归搜索\n fd -e ts -e js \"pattern\" # 指定扩展名\n fd -H \"pattern\" # 包含隐藏文件\n\n # rg 用法示例\n rg \"pattern\" # 递归搜索\n rg -t ts \"pattern\" # 指定文件类型\n rg -g \"*.md\" \"pattern\" # 指定 glob 模式\n ```\n\n## CODING STANDARDS\n\n* **Language**: TypeScript (ES2022 target, ESNext modules)\n* **Module System**: ES Modules (`\"type\": \"module\"` in package.json)\n* **Style**: ESLint with TypeScript ESLint parser\n* **TypeScript Config**: Strict mode enabled (`strict: true`)\n* **Linting Rules**:\n* No unused locals (`noUnusedLocals: true`)\n* No unused parameters (`noUnusedParameters: true`)\n* No implicit returns (`noImplicitReturns: true`)\n* No fallthrough cases in switch (`noFallthroughCasesInSwitch: true`)\n* **Code Style**:\n* Use JSDoc comments for public APIs\n* Use ES module imports with `.js` extensions for local imports\n* Prefer `export interface` for type definitions\n* Use functional patterns and proper TypeScript typing\n\n## WHERE TO LOOK\n\n* **Source**: `src/`\n* **CLI Entry**: `bin/cli.js`\n* **Configuration**: `config/agent/`\n* **Tests**: No dedicated test directory (tests currently skipped)\n* **Docs**: `docs/`\n* **Reference**: `CLAUDE.md` - 项目详细文档\n\n## NOTES\n\n* **Important**: This CLI is a wrapper around `@mariozechner/pi-coding-agent`. The actual agent logic is in the `pi-mono/` dependency.\n* **Skills vs Prompts**:\n\n* Skills: located in `config/agent/skills/`, triggered with `/skill:`\n* Prompts: located in `config/agent/prompts/`, triggered with `/`\n\n* **Configuration Sync**: After modifying themes, plugins, or extensions, must sync to `~/.pi/agent/`:\n\n ```bash\n cp config/agent/extensions/*.ts ~/.aicode-cli/agent/extensions/\n cp config/agent/themes/*.json ~/.aicode-cli/agent/themes/\n cp -r config/agent/skills/<skill-name> ~/.pi/agent/skills/\n ```\n\n* **Git Commit Format**: Use English commit messages with format `<type>: <description>` (e.g., `chore: add feature`, `fix: resolve issue`)\n* **Version Management**: CLI version is read from `package.json` and used for User-Agent in API calls\n* **Config Directory**: Runtime reads from `~/.aicode-cli/` or `~/.pi/agent/` (not from project's `config/agent/`)\n\n## UPGRADE PROTOCOL(依赖升级迭代流程)\n\n升级 pi 底层依赖(如 `^0.80.0` → `^0.85.0`)必须严格走以下流程,**未经回归测试不推远程 / 不 publish**。\n\n```bash\n# 1. 改 package.json pi 版本\n# 手动改 4 个 @earendil-works/pi-* 包的主版本号(或 sed 批量)\n\n# 2. 重新安装 + 编译 + 打 tarball\nnpm install && npm run build && npm pack\n\n# 3. 装到隔离 prefix(不污染全局 aicode CLI)\nmkdir -p /tmp/aicode-upgrade\nnpm install -g --prefix=/tmp/aicode-upgrade ./ia-ccun-code-agent-cli-*.tgz\n\n# 4. 跑全量回归测试\nAICODE_BIN=/tmp/aicode-upgrade/bin/aicode ./scripts/regression/run-all.sh\n\n# 5. 全部 7 个 case 通过 → 推 gitee / publish beta\n```\n\n### 跨供应商回归(可选)\n\n默认用用户全局 `~/.aicode-cli/agent/settings.json` 的 defaultProvider(如 minimax-cn)。需要跨供应商验证时设置环境变量:\n\n```bash\n# SiliconFlow + Anthropic 兼容\nAICODE_REGRESSION_BASE_URL=\"https://api.siliconflow.cn\" \\\nAICODE_REGRESSION_API_KEY=\"sk-...\" \\\nAICODE_REGRESSION_API_KIND=\"anthropic-messages\" \\\nAICODE_REGRESSION_PROVIDER_ID=\"siliconflow\" \\\nAICODE_REGRESSION_MODEL_ID=\"claude-sonnet-4-5\" \\\nAICODE_BIN=/tmp/aicode-upgrade/bin/aicode \\\n./scripts/regression/run-all.sh\n```\n\n### 回归套件(7 个 case)\n\n| Case | 主题 | 验证重点 |\n| --- | --- | --- |\n| 01 | version-and-deps | aicode -v + 4 个 pi 包主版本 |\n| 02 | extension-loading | 20 个 aicode 自定义扩展加载无冲突 |\n| **03** ⭐ | **rpc-protocol** | **17 个 RPC 命令 + 7 个事件类型 + schema 兼容性**(与 aicode-plugin-swing AicodeRpcClient.kt 对齐) |\n| 04 | prompt-stream | agent_start → turn_start → message_update → turn_end → agent_end 完整流 |\n| 05 | slash-commands-and-skills | 5 个 prompt + 核心 skill 注册 |\n| 06 | tool-execution | tool_execution_start 必带 toolCallId + toolName |\n| 07 | pi-new-features | clear_queue / GPT-6 / thinking 持久化 / cacheWrite1h |\n\n详见 `scripts/regression/README.md`。\n\n### 验收门槛\n\n* ✅ 全部 7 个 case `exit 0`\n* ✅ 02 扩展加载 fail_count = 0\n* ✅ **03 RPC 协议 全部 pass**(不能有 unknown command、字段 schema 漂移)\n* ✅ 04 prompt-stream 全部 pass(完整事件流)\n* ✅ 05 注册率 ≥ 60%\n\n不达标 → 修复后重新跑,不绕过回归。\n\n---\n\n## PUBLISH COMMANDS\n\n| Action | Command |\n| -------- | --------- |\n| Beta release | `npm publish --tag beta` |\n| Test release | `npm publish --tag test` |\n| Alpha release | `npm publish --tag alpha` |\n| RC release | `npm publish --tag rc` |\n| Next release | `npm publish --tag next` |\n| Stable release | `npm publish` (default: latest) |\n\n## PUBLISH TAG REFERENCE\n\n发布 npm 包时,请根据版本阶段选择合适的标签:\n\n| 标签 | 什么时候用 | 给谁用 |\n| :--- | :--- | :--- |\n| `latest` | **稳定正式版**(默认) | 所有生产环境用户 |\n| `beta` | **功能基本完成**,需要外部测试 | 尝鲜用户、QA团队 |\n| `alpha` | **功能未完成**,内部开发中 | 核心开发者 |\n| `rc` (release candidate) | **功能冻结**,正式发布前的最后验证 | 谨慎的预览用户 |\n| `next` | **下一代大版本**预览 | 早期升级验证者 |\n| `legacy` | 维护**旧版本**(如安全补丁) | 无法升级的老用户 |\n| `test` | **个人自测验证**,不公开使用 | 仅发布者本人验证 |\n\n> ⚠️ 发布前必须确认版本号是否正确,避免覆盖已发布版本。\n\n</project_instructions>\n</project_context>","skills":"<skills>\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n<available_skills>\n <skill>\n <name>aicode-doctor</name>\n <description>排查AICode Deck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断AICode Deck 」「会话起不来」「aicode 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/aicode-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>brainstorming</name>\n <description>Explore user intent, requirements and design before any creative work or implementation. Use when brainstorming ideas, designing features, analyzing requirements, or figuring out how to implement something.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/brainstorming/SKILL.md</location>\n </skill>\n <skill>\n <name>chroma-local</name>\n <description>Use when the user needs self-hosted or local Chroma for semantic search, including `ChromaClient`, `HttpClient`, or Python `EphemeralClient`, local persistence, Docker or `chroma run`, or OSS Chroma without Chroma Cloud features.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/chroma/chroma-local/SKILL.md</location>\n </skill>\n <skill>\n <name>code-mode-orchestrator</name>\n <description>Code Mode (Exec) usage patterns and applicable scenarios. Covers parallel fan-out, pipeline with JS transforms, conditional branching, loop-until-condition, and multi-source aggregation. Trigger when the task benefits from orchestrating multiple tool calls in a single JavaScript script rather than sequential direct calls.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/code-mode-orchestrator/SKILL.md</location>\n </skill>\n <skill>\n <name>code-review</name>\n <description>执行全面的代码审查,检查代码质量、安全性、性能和最佳实践。Use when reviewing code, conducting code reviews, or checking code quality.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/code-review/SKILL.md</location>\n </skill>\n <skill>\n <name>codebase-analyzer</name>\n <description>分析代码库结构,提取架构知识、模块依赖、潜在风险。Use when exploring unfamiliar codebase, understanding module relationships, or assessing impact of changes.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/codebase-analyzer/SKILL.md</location>\n </skill>\n <skill>\n <name>commit</name>\n <description>分析代码变更并生成规范的 Git commit 消息。Use when committing code, generating commit messages, or submitting to git.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/commit/SKILL.md</location>\n </skill>\n <skill>\n <name>dispatching-parallel-agents</name>\n <description>Dispatch multiple independent tasks in parallel without shared state. Use when facing parallel tasks, handling multiple independent jobs, or executing concurrent operations.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/dispatching-parallel-agents/SKILL.md</location>\n </skill>\n <skill>\n <name>dynamic-ui</name>\n <description>Show visual content inline alongside your text response — diagrams, charts, interactive demos, comparisons. Use only when a compact visual makes the answer clearer. Not for websites, apps, reports, dashboards, or slides.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/dynamic-ui/SKILL.md</location>\n </skill>\n <skill>\n <name>email-sender</name>\n <description>Send emails via SMTP with support for plain text, images, and HTML content. Use when user asks to send emails, send text/images/rich content to an email address, or mentions sending anything to an email address. Triggers on phrases like "send email to", "send this to my email", "email this to", "把这段话发到邮箱", "发送图片到邮箱", "发送邮件", "发邮件到xxx".</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/email-sender/SKILL.md</location>\n </skill>\n <skill>\n <name>frontend-design</name>\n <description>Create distinctive, production-grade frontend interfaces with high design quality. Use when building frontend, creating web components, designing pages, or implementing UI.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/frontend-design/SKILL.md</location>\n </skill>\n <skill>\n <name>image-gen</name>\n <description>生成图片。当用户想让 AI 生成图片、插画、海报、头像等图像内容时使用。读取生图供应商配置,调用 OpenAI 兼容的图片生成 API(支持 OpenAI、火山方舟、SiliconFlow 三种方言与参考图),把生成的图片保存到项目目录。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/image-gen/SKILL.md</location>\n </skill>\n <skill>\n <name>adapt</name>\n <description>(impeccable) 使设计适配不同的屏幕尺寸、设备、场景或平台,确保跨环境体验一致。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/adapt/SKILL.md</location>\n </skill>\n <skill>\n <name>audit</name>\n <description>(impeccable) 对界面质量进行全面审计,涵盖无障碍性、性能、主题化和响应式设计,生成包含严重等级和改进建议的详细报告。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/audit/SKILL.md</location>\n </skill>\n <skill>\n <name>extract</name>\n <description>(impeccable) 提取并整合可复用的组件、设计令牌和模式到设计系统中,识别系统性复用的机会并丰富组件库。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/extract/SKILL.md</location>\n </skill>\n <skill>\n <name>harden</name>\n <description>(impeccable) 通过改进错误处理、i18n 支持、文字溢出处理和边界情况管理,提升界面的健壮性,使界面达到可上线标准。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/harden/SKILL.md</location>\n </skill>\n <skill>\n <name>polish</name>\n <description>(impeccable) 上线前的最终质量检查,修正对齐、间距、一致性和细节问题,让"好"与"优秀"拉开差距。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/polish/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-approval</name>\n <description>飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-approval/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-apps</name>\n <description>妙搭(Spark/Miaoda)应用开发与托管:应用创建、本地全栈开发、云端生成迭代、创意设计(UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索)、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协作者与协作权限设置、应用角色与成员管理、自动化触发器(定时/记录变更/Webhook/飞书审批)。当用户要开发/新建一个系统·工具·平台·应用,或要本地开发 / 云端开发 / 修改 / 部署 / 发布 / 上线 / 拿可分享链接,或用 HTML 做页面·网站·部署到妙搭,或要设计 / design / mockup / prototype / wireframe / 做 PPT / deck / 视觉探索,或提到妙搭/Spark/Miaoda(应用运行时域名形如 *.aiforce.cloud)、应用数据库、应用文件存储、开放 API Key、可见范围、应用协作者/开发权限、应用角色/角色成员、线上日志、接口请求量、错误量、延迟、访问量、环境变量、给妙搭应用配自动化任务/定时触发/审批通过后自动触发时使用。不负责普通云盘文件上传(lark-drive)、飞书文档编辑(lark-doc)、原生幻灯片创建(lark-slides)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-apps/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-attendance</name>\n <description>飞书考勤打卡:查询自己的考勤打卡记录</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-attendance/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-base</name>\n <description>飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-base/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-calendar</name>\n <description>飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting)、待办任务(走 lark-task)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-calendar/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-contact</name>\n <description>飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-contact/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-doc</name>\n <description>飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-doc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-drive</name>\n <description>飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-drive/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-event</name>\n <description>Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-event/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-im</name>\n <description>飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-im/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-mail</name>\n <description>飞书邮箱:Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等;use for mail/email intent only. Do not use for docs/sheets/calendar/auth setup/pure contact lookup/IM chat tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-mail/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-markdown</name>\n <description>飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-markdown/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-meeting</name>\n <description>飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-node-id 或妙记 URL 查询相关信息。预约会议、忙闲和会议室管理走 lark-calendar。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-meeting/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-minutes</name>\n <description>仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-minutes/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-note</name>\n <description>仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-note/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-okr</name>\n <description>飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-okr/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-openapi-explorer</name>\n <description>飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-openapi-explorer/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-shared</name>\n <description>Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-shared/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-sheets</name>\n <description>飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可视化、表格美化、公式计算(含 Excel 公式迁移)、金融/财务建模(DCF、三张表、预算、Sensitivity 等)等任务时使用。若用户是想按名称或关键词搜索云空间(云盘/云存储)里的表格文件,请改用 lark-drive 的 drive +search 先定位资源。当用户给出 doubao.com 的 /sheets/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-sheets/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-skill-maker</name>\n <description>创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-skill-maker/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-slides</name>\n <description>飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard)、上传或下载普通文件(走 lark-drive)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-slides/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-task</name>\n <description>飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-task/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc</name>\n <description>仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-vc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc-agent</name>\n <description>仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-vc-agent/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-whiteboard</name>\n <description>飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-whiteboard/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-wiki</name>\n <description>飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:上传文件到知识库节点下(走 lark-drive)、编辑文档/表格/Base 内容(走 lark-doc / lark-sheets / lark-base)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-wiki/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-meeting-summary</name>\n <description>会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-workflow-meeting-summary/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-standup-report</name>\n <description>日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-workflow-standup-report/SKILL.md</location>\n </skill>\n <skill>\n <name>milvus-skill</name>\n <description>Operate Milvus vector database with pymilvus Python SDK. Use when the user wants to connect to Milvus, create collections, insert vectors, perform similarity search, hybrid search, full-text search, manage indexes, partitions, databases, or RBAC via Python code.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/milvus-skill/SKILL.md</location>\n </skill>\n <skill>\n <name>owasp-security</name>\n <description>Implement secure coding practices following OWASP Top 10. Use when dealing with OWASP, security, XSS, SQL injection, CSRF, secure coding, or vulnerabilities.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/owasp-security/SKILL.md</location>\n </skill>\n <skill>\n <name>pideck-doctor</name>\n <description>排查 PiDeck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断 PiDeck」「会话起不来」「pi 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/pideck-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail</name>\n <description>Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", and whenever they complain about over-engineering, bloat, boilerplate, or unnecessary dependencies.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-audit</name>\n <description>Whole-repo audit for over-engineering. Like ponytail-review, but scans the entire codebase instead of a diff: a ranked list of what to delete, simplify, or replace with stdlib/native equivalents. Use when the user says "audit this codebase", "audit for over-engineering", "what can I delete from this repo", "find bloat", "ponytail-audit", or "/ponytail-audit". One-shot report, does not apply fixes.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-audit/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-debt</name>\n <description>Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into "later means never". Use when the user says "ponytail debt", "/ponytail-debt", "what did ponytail defer", "list the shortcuts", "ponytail ledger", or "what did we mark to do later". One-shot report, changes nothing.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-debt/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-help</name>\n <description>Quick-reference card for all ponytail modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /ponytail-help, "ponytail help", "what ponytail commands", "how do I use ponytail".\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-help/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-review</name>\n <description>Code review focused exclusively on over-engineering. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the user says "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review", or invokes /ponytail-review. Complements correctness-focused review, this one only hunts complexity.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-review/SKILL.md</location>\n </skill>\n <skill>\n <name>session-learning</name>\n <description>Summarize conversation experiences and 沉淀 skills. Use when summarizing lessons learned, refining skills, reflecting on experience, or doing post-task reviews.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/session-learning/SKILL.md</location>\n </skill>\n <skill>\n <name>skill-creator</name>\n <description>Create, modify, and improve agent skills with performance measurement. Use when creating skills, editing skills, or optimizing skill performance.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/skill-creator/SKILL.md</location>\n </skill>\n <skill>\n <name>subagent-driven-development</name>\n <description>Execute plans by dispatching subagents for independent tasks. Use when executing implementation plans, dispatching subagents, or handling multiple tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/subagent-driven-development/SKILL.md</location>\n </skill>\n <skill>\n <name>usage-probe</name>\n <description>为 aicode 的「用量查询」功能排查/扩展供应商支持。当用户想显示某个供应商的用量、余额或额度点数时,先判断是否已内置支持(内置无需配置);不在内置时引导用户使用「用量查询」弹窗里的通用模板 / New API 模板;两种模板都覆盖不了的接口,帮用户写出 usage-probes.json 的旧版探针数组。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/usage-probe/SKILL.md</location>\n </skill>\n <skill>\n <name>using-superpowers</name>\n <description>Establish how to find and use skills in any conversation. Use when asking about capabilities, discovering skills, or learning what you can do.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/using-superpowers/SKILL.md</location>\n </skill>\n <skill>\n <name>verification-before-completion</name>\n <description>Verify work is complete before claiming success. Requires running verification commands. Use when claiming work is complete, before committing, before creating PRs, or verifying tests pass.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/verification-before-completion/SKILL.md</location>\n </skill>\n <skill>\n <name>writing-plans</name>\n <description>Write implementation plans from specs or requirements for multi-step tasks. Use when writing plans, making implementation plans, or planning development.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/writing-plans/SKILL.md</location>\n </skill>\n <skill>\n <name>zread</name>\n <description>Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or "what does this repo do"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word "zread".</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/zread/SKILL.md</location>\n </skill>\n</available_skills>\n</skills>","cwd":"<cwd>\n/Users/jianjiang/icode/code-agent-cli\n</cwd>"},"timestamp":1791603327158,"toolsAdded":[{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp, bmp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"bash","description":"Execute a bash command in the current working directory. Returns stdout and stderr. Output is truncated to last 2000 lines or 50KB (whichever is hit first). If truncated, full output is saved to a temp file. Optionally provide a timeout in seconds.","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"timeout":{"type":"number","description":"Timeout in seconds (optional, no default timeout)"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"type":"object","required":["oldText","newText"],"properties":{"oldText":{"type":"string","description":"Exact text for one targeted replacement. It must be unique in the original file and must not overlap with any other edits[].oldText in the same call."},"newText":{"type":"string","description":"Replacement text for this targeted edit."}}},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}}]}}
|
|
8
|
+
{"type":"message_end","message":{"role":"system","content":"","sections":{"preamble":"You are an expert coding assistant operating inside pi, a coding agent harness. You help users by reading files, executing commands, editing code, and writing new files.","tools":"<tools>\n- read: Read file contents\n- bash: Execute bash commands (ls, grep, find, etc.)\n- edit: Make precise file edits with exact text replacement, including multiple disjoint edits in one call\n- write: Create or overwrite files\n\nIn addition to the tools above, you may have access to other custom tools depending on the project.\n</tools>","rules":"<rules>\n- Use bash for file operations like ls, rg, find\n- Use read to examine files instead of cat or sed.\n- You can inspect PI_* environment variables for current model and session details.\n- Use edit for precise changes (edits[].oldText must match exactly)\n- When changing multiple separate locations in one file, use one edit call with multiple entries in edits[] instead of multiple edit calls\n- Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not emit overlapping or nested edits. Merge nearby changes into one edit.\n- Keep edits[].oldText as small as possible while still being unique in the file. Do not pad with large unchanged regions.\n- Use write only for new files or complete rewrites.\n- Be concise in your responses\n- Show file paths clearly when working with files\n</rules>","docs":"<docs>\nPi documentation (read only when the user asks about pi itself, its SDK, extensions, themes, skills, or TUI):\n- Main documentation: /private/tmp/aicode-nofallback/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/README.md\n- Additional docs: /private/tmp/aicode-nofallback/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/docs\n- Examples: /private/tmp/aicode-nofallback/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/examples (extensions, custom tools, SDK)\n- When reading pi docs or examples, resolve docs/... under Additional docs and examples/... under Examples, not the current working directory\n- When asked about: extensions (docs/extensions.md, examples/extensions/), themes (docs/themes.md), skills (docs/skills.md), prompt templates (docs/prompt-templates.md), TUI components (docs/tui.md), keybindings (docs/keybindings.md), SDK integrations (docs/sdk.md), custom providers (docs/custom-provider.md), adding models (docs/models.md), pi packages (docs/packages.md), environment variables (docs/environment-variables.md), MCP servers (docs/mcp.md), codemode scripts and non-LLM models such as classifiers and image models (docs/codemode.md)\n- When working on pi topics, read the docs and examples, and follow .md cross-references before implementing\n- Always read pi .md files completely and follow links to related docs (e.g., tui.md for TUI API details)\n</docs>","project_context":"<project_context>\nProject-specific instructions and guidelines:\n\n<project_instructions path=\"/Users/jianjiang/CLAUDE.md\">\n# 家目录规划说明\n\n> 本文档由 AI 助手生成,用于说明 `/Users/jianjiang/` 目录的组织规则。\n> 最后更新:2026-09-12\n\n---\n\n## 目录结构\n\n```\n/Users/jianjiang/\n├── icode/ # 代码项目(所有 git 仓库、工程)\n├── software/ # 开发工具(JDK、Maven、Gradle 等)\n├── docs/ # 技术文档、手册、学习资料\n├── projects/ # 非代码类项目(设计稿、需求文档等)\n├── tools/ # 自用脚本、小工具、dotfiles\n├── archive/ # 归档:完结项目、旧版本、备份\n├── tmp/ # 临时文件,随时可删\n├── Desktop/ # 桌面,保持干净\n├── Documents/ # 办公文档、PDF\n└── Downloads/ # 下载默认位置\n```\n\n---\n\n## 使用规则\n\n| 目录 | 用途 | 规则 |\n| ------ | ------ | ------ |\n| `icode/` | 代码工程 | 所有代码项目放这里,按项目名建子目录 |\n| `software/` | 开发工具 | 绿色软件、解压即用的工具 |\n| `docs/` | 技术资料 | 笔记、手册、教程,按主题分类 |\n| `projects/` | 非代码项目 | 设计稿、产品文档、协作文件夹 |\n| `tools/` | 个人脚本 | 自用脚本、命令行工具、配置备份 |\n| `archive/` | 归档 | 半年清理一次,不再活跃的内容移入 |\n| `tmp/` | 临时文件 | 不存重要内容,定期清空 |\n| `Desktop/` | 桌面 | 只放当前正在处理的文件 |\n| `Documents/` | 办公文档 | 合同、PDF、非技术资料 |\n| `Downloads/` | 下载 | 浏览器默认下载位置,定期整理 |\n\n---\n\n## 维护建议\n\n- **每月**:检查 `tmp/`,删除过期文件\n- **每季度**:整理 `archive/`,决定彻底删除或继续保留\n- **随时**:新文件按规则放入对应目录,不堆积在桌面\n\n</project_instructions>\n\n<project_instructions path=\"/Users/jianjiang/icode/code-agent-cli/AGENTS.md\">\n# PROJECT KNOWLEDGE BASE\n\n**Generated:** 2026-03-21\n\n## OVERVIEW\n\nProject: **@ia-ccun/code-agent-cli**\nStack: TypeScript, Node.js (>=20.0.0), npm, ESLint, TypeScript Compiler (tsc)\n\n## STRUCTURE\n\n```\n@ia-ccun/code-agent-cli/\n├── src/ # TypeScript 源码\n│ ├── index.ts # 入口文件 (导出 pi-coding-agent 核心功能)\n│ ├── config.ts # 配置定义 (AppConfig 接口)\n│ ├── config-loader.ts # 配置加载器\n│ └── banner.ts # 启动 Banner 生成\n├── bin/\n│ └── cli.js # CLI 入口 (npm bin 入口点)\n├── config/agent/ # 预置配置 (打包到 npm)\n│ ├── SYSTEM.md # 系统提示词\n│ ├── APPEND_SYSTEM.md # 追加系统提示词\n│ ├── models.json # LLM 模型配置\n│ ├── settings.json # 设置配置\n│ ├── extensions/ # 扩展 (拦截器、自定义命令)\n│ ├── prompts/ # 预置 Prompts (/git-commit, /workflow 等)\n│ ├── skills/ # 预置 Skills (/skill:code-review 等)\n│ ├── themes/ # 主题配置\n│ └── bin/ # 辅助脚本\n├── docs/ # 项目文档\n├── scripts/ # 构建脚本 (postinstall.js)\n├── pi-mono/ # pi-coding-agent 源码 (依赖)\n├── pi-ext/ # 扩展相关\n└── webui/ # Web UI 相关\n```\n\n* `src/`: TypeScript 源码目录,编译后输出到 `dist/`\n* `bin/cli.js`: CLI 主入口,负责解析参数、加载配置、显示 Banner、启动 pi-coding-agent\n* `config/agent/`: 预置的 Agent 配置,包含 Skills、Prompts、Extensions、Themes\n* `pi-mono/`: @mariozechner/pi-coding-agent 源码依赖\n* `docs/`: 项目文档目录\n\n## COMMANDS\n\n| Action | Command |\n| -------- | --------- |\n| Install Dependencies | `npm install` |\n| Build (compile TS) | `npm run build` |\n| Dev (watch mode) | `npm run dev` |\n| Clean dist | `npm run clean` |\n| Lint | `npm run lint` |\n| Release (patch bump) | `npm run release` |\n| Test | `npm test` (tests skipped) |\n\n## TOOL OPTIMIZATION\n\n* **Required Tools**: 必须使用以下优化工具,禁止使用原生命令:\n* `~/.aicode-cli/agent/bin/fd` — 替代 `find`(更快、更直观)\n* `~/.aicode-cli/agent/bin/rg` — 替代 `grep`(更快、功能更丰富)\n* **Usage**:\n\n ```bash\n # fd 用法示例\n fd \"pattern\" # 递归搜索\n fd -e ts -e js \"pattern\" # 指定扩展名\n fd -H \"pattern\" # 包含隐藏文件\n\n # rg 用法示例\n rg \"pattern\" # 递归搜索\n rg -t ts \"pattern\" # 指定文件类型\n rg -g \"*.md\" \"pattern\" # 指定 glob 模式\n ```\n\n## CODING STANDARDS\n\n* **Language**: TypeScript (ES2022 target, ESNext modules)\n* **Module System**: ES Modules (`\"type\": \"module\"` in package.json)\n* **Style**: ESLint with TypeScript ESLint parser\n* **TypeScript Config**: Strict mode enabled (`strict: true`)\n* **Linting Rules**:\n* No unused locals (`noUnusedLocals: true`)\n* No unused parameters (`noUnusedParameters: true`)\n* No implicit returns (`noImplicitReturns: true`)\n* No fallthrough cases in switch (`noFallthroughCasesInSwitch: true`)\n* **Code Style**:\n* Use JSDoc comments for public APIs\n* Use ES module imports with `.js` extensions for local imports\n* Prefer `export interface` for type definitions\n* Use functional patterns and proper TypeScript typing\n\n## WHERE TO LOOK\n\n* **Source**: `src/`\n* **CLI Entry**: `bin/cli.js`\n* **Configuration**: `config/agent/`\n* **Tests**: No dedicated test directory (tests currently skipped)\n* **Docs**: `docs/`\n* **Reference**: `CLAUDE.md` - 项目详细文档\n\n## NOTES\n\n* **Important**: This CLI is a wrapper around `@mariozechner/pi-coding-agent`. The actual agent logic is in the `pi-mono/` dependency.\n* **Skills vs Prompts**:\n\n* Skills: located in `config/agent/skills/`, triggered with `/skill:`\n* Prompts: located in `config/agent/prompts/`, triggered with `/`\n\n* **Configuration Sync**: After modifying themes, plugins, or extensions, must sync to `~/.pi/agent/`:\n\n ```bash\n cp config/agent/extensions/*.ts ~/.aicode-cli/agent/extensions/\n cp config/agent/themes/*.json ~/.aicode-cli/agent/themes/\n cp -r config/agent/skills/<skill-name> ~/.pi/agent/skills/\n ```\n\n* **Git Commit Format**: Use English commit messages with format `<type>: <description>` (e.g., `chore: add feature`, `fix: resolve issue`)\n* **Version Management**: CLI version is read from `package.json` and used for User-Agent in API calls\n* **Config Directory**: Runtime reads from `~/.aicode-cli/` or `~/.pi/agent/` (not from project's `config/agent/`)\n\n## UPGRADE PROTOCOL(依赖升级迭代流程)\n\n升级 pi 底层依赖(如 `^0.80.0` → `^0.85.0`)必须严格走以下流程,**未经回归测试不推远程 / 不 publish**。\n\n```bash\n# 1. 改 package.json pi 版本\n# 手动改 4 个 @earendil-works/pi-* 包的主版本号(或 sed 批量)\n\n# 2. 重新安装 + 编译 + 打 tarball\nnpm install && npm run build && npm pack\n\n# 3. 装到隔离 prefix(不污染全局 aicode CLI)\nmkdir -p /tmp/aicode-upgrade\nnpm install -g --prefix=/tmp/aicode-upgrade ./ia-ccun-code-agent-cli-*.tgz\n\n# 4. 跑全量回归测试\nAICODE_BIN=/tmp/aicode-upgrade/bin/aicode ./scripts/regression/run-all.sh\n\n# 5. 全部 7 个 case 通过 → 推 gitee / publish beta\n```\n\n### 跨供应商回归(可选)\n\n默认用用户全局 `~/.aicode-cli/agent/settings.json` 的 defaultProvider(如 minimax-cn)。需要跨供应商验证时设置环境变量:\n\n```bash\n# SiliconFlow + Anthropic 兼容\nAICODE_REGRESSION_BASE_URL=\"https://api.siliconflow.cn\" \\\nAICODE_REGRESSION_API_KEY=\"sk-...\" \\\nAICODE_REGRESSION_API_KIND=\"anthropic-messages\" \\\nAICODE_REGRESSION_PROVIDER_ID=\"siliconflow\" \\\nAICODE_REGRESSION_MODEL_ID=\"claude-sonnet-4-5\" \\\nAICODE_BIN=/tmp/aicode-upgrade/bin/aicode \\\n./scripts/regression/run-all.sh\n```\n\n### 回归套件(7 个 case)\n\n| Case | 主题 | 验证重点 |\n| --- | --- | --- |\n| 01 | version-and-deps | aicode -v + 4 个 pi 包主版本 |\n| 02 | extension-loading | 20 个 aicode 自定义扩展加载无冲突 |\n| **03** ⭐ | **rpc-protocol** | **17 个 RPC 命令 + 7 个事件类型 + schema 兼容性**(与 aicode-plugin-swing AicodeRpcClient.kt 对齐) |\n| 04 | prompt-stream | agent_start → turn_start → message_update → turn_end → agent_end 完整流 |\n| 05 | slash-commands-and-skills | 5 个 prompt + 核心 skill 注册 |\n| 06 | tool-execution | tool_execution_start 必带 toolCallId + toolName |\n| 07 | pi-new-features | clear_queue / GPT-6 / thinking 持久化 / cacheWrite1h |\n\n详见 `scripts/regression/README.md`。\n\n### 验收门槛\n\n* ✅ 全部 7 个 case `exit 0`\n* ✅ 02 扩展加载 fail_count = 0\n* ✅ **03 RPC 协议 全部 pass**(不能有 unknown command、字段 schema 漂移)\n* ✅ 04 prompt-stream 全部 pass(完整事件流)\n* ✅ 05 注册率 ≥ 60%\n\n不达标 → 修复后重新跑,不绕过回归。\n\n---\n\n## PUBLISH COMMANDS\n\n| Action | Command |\n| -------- | --------- |\n| Beta release | `npm publish --tag beta` |\n| Test release | `npm publish --tag test` |\n| Alpha release | `npm publish --tag alpha` |\n| RC release | `npm publish --tag rc` |\n| Next release | `npm publish --tag next` |\n| Stable release | `npm publish` (default: latest) |\n\n## PUBLISH TAG REFERENCE\n\n发布 npm 包时,请根据版本阶段选择合适的标签:\n\n| 标签 | 什么时候用 | 给谁用 |\n| :--- | :--- | :--- |\n| `latest` | **稳定正式版**(默认) | 所有生产环境用户 |\n| `beta` | **功能基本完成**,需要外部测试 | 尝鲜用户、QA团队 |\n| `alpha` | **功能未完成**,内部开发中 | 核心开发者 |\n| `rc` (release candidate) | **功能冻结**,正式发布前的最后验证 | 谨慎的预览用户 |\n| `next` | **下一代大版本**预览 | 早期升级验证者 |\n| `legacy` | 维护**旧版本**(如安全补丁) | 无法升级的老用户 |\n| `test` | **个人自测验证**,不公开使用 | 仅发布者本人验证 |\n\n> ⚠️ 发布前必须确认版本号是否正确,避免覆盖已发布版本。\n\n</project_instructions>\n</project_context>","skills":"<skills>\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n<available_skills>\n <skill>\n <name>aicode-doctor</name>\n <description>排查AICode Deck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断AICode Deck 」「会话起不来」「aicode 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/aicode-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>brainstorming</name>\n <description>Explore user intent, requirements and design before any creative work or implementation. Use when brainstorming ideas, designing features, analyzing requirements, or figuring out how to implement something.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/brainstorming/SKILL.md</location>\n </skill>\n <skill>\n <name>chroma-local</name>\n <description>Use when the user needs self-hosted or local Chroma for semantic search, including `ChromaClient`, `HttpClient`, or Python `EphemeralClient`, local persistence, Docker or `chroma run`, or OSS Chroma without Chroma Cloud features.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/chroma/chroma-local/SKILL.md</location>\n </skill>\n <skill>\n <name>code-mode-orchestrator</name>\n <description>Code Mode (Exec) usage patterns and applicable scenarios. Covers parallel fan-out, pipeline with JS transforms, conditional branching, loop-until-condition, and multi-source aggregation. Trigger when the task benefits from orchestrating multiple tool calls in a single JavaScript script rather than sequential direct calls.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/code-mode-orchestrator/SKILL.md</location>\n </skill>\n <skill>\n <name>code-review</name>\n <description>执行全面的代码审查,检查代码质量、安全性、性能和最佳实践。Use when reviewing code, conducting code reviews, or checking code quality.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/code-review/SKILL.md</location>\n </skill>\n <skill>\n <name>codebase-analyzer</name>\n <description>分析代码库结构,提取架构知识、模块依赖、潜在风险。Use when exploring unfamiliar codebase, understanding module relationships, or assessing impact of changes.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/codebase-analyzer/SKILL.md</location>\n </skill>\n <skill>\n <name>commit</name>\n <description>分析代码变更并生成规范的 Git commit 消息。Use when committing code, generating commit messages, or submitting to git.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/commit/SKILL.md</location>\n </skill>\n <skill>\n <name>dispatching-parallel-agents</name>\n <description>Dispatch multiple independent tasks in parallel without shared state. Use when facing parallel tasks, handling multiple independent jobs, or executing concurrent operations.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/dispatching-parallel-agents/SKILL.md</location>\n </skill>\n <skill>\n <name>dynamic-ui</name>\n <description>Show visual content inline alongside your text response — diagrams, charts, interactive demos, comparisons. Use only when a compact visual makes the answer clearer. Not for websites, apps, reports, dashboards, or slides.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/dynamic-ui/SKILL.md</location>\n </skill>\n <skill>\n <name>email-sender</name>\n <description>Send emails via SMTP with support for plain text, images, and HTML content. Use when user asks to send emails, send text/images/rich content to an email address, or mentions sending anything to an email address. Triggers on phrases like "send email to", "send this to my email", "email this to", "把这段话发到邮箱", "发送图片到邮箱", "发送邮件", "发邮件到xxx".</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/email-sender/SKILL.md</location>\n </skill>\n <skill>\n <name>frontend-design</name>\n <description>Create distinctive, production-grade frontend interfaces with high design quality. Use when building frontend, creating web components, designing pages, or implementing UI.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/frontend-design/SKILL.md</location>\n </skill>\n <skill>\n <name>image-gen</name>\n <description>生成图片。当用户想让 AI 生成图片、插画、海报、头像等图像内容时使用。读取生图供应商配置,调用 OpenAI 兼容的图片生成 API(支持 OpenAI、火山方舟、SiliconFlow 三种方言与参考图),把生成的图片保存到项目目录。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/image-gen/SKILL.md</location>\n </skill>\n <skill>\n <name>adapt</name>\n <description>(impeccable) 使设计适配不同的屏幕尺寸、设备、场景或平台,确保跨环境体验一致。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/adapt/SKILL.md</location>\n </skill>\n <skill>\n <name>audit</name>\n <description>(impeccable) 对界面质量进行全面审计,涵盖无障碍性、性能、主题化和响应式设计,生成包含严重等级和改进建议的详细报告。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/audit/SKILL.md</location>\n </skill>\n <skill>\n <name>extract</name>\n <description>(impeccable) 提取并整合可复用的组件、设计令牌和模式到设计系统中,识别系统性复用的机会并丰富组件库。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/extract/SKILL.md</location>\n </skill>\n <skill>\n <name>harden</name>\n <description>(impeccable) 通过改进错误处理、i18n 支持、文字溢出处理和边界情况管理,提升界面的健壮性,使界面达到可上线标准。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/harden/SKILL.md</location>\n </skill>\n <skill>\n <name>polish</name>\n <description>(impeccable) 上线前的最终质量检查,修正对齐、间距、一致性和细节问题,让"好"与"优秀"拉开差距。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/polish/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-approval</name>\n <description>飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-approval/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-apps</name>\n <description>妙搭(Spark/Miaoda)应用开发与托管:应用创建、本地全栈开发、云端生成迭代、创意设计(UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索)、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协作者与协作权限设置、应用角色与成员管理、自动化触发器(定时/记录变更/Webhook/飞书审批)。当用户要开发/新建一个系统·工具·平台·应用,或要本地开发 / 云端开发 / 修改 / 部署 / 发布 / 上线 / 拿可分享链接,或用 HTML 做页面·网站·部署到妙搭,或要设计 / design / mockup / prototype / wireframe / 做 PPT / deck / 视觉探索,或提到妙搭/Spark/Miaoda(应用运行时域名形如 *.aiforce.cloud)、应用数据库、应用文件存储、开放 API Key、可见范围、应用协作者/开发权限、应用角色/角色成员、线上日志、接口请求量、错误量、延迟、访问量、环境变量、给妙搭应用配自动化任务/定时触发/审批通过后自动触发时使用。不负责普通云盘文件上传(lark-drive)、飞书文档编辑(lark-doc)、原生幻灯片创建(lark-slides)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-apps/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-attendance</name>\n <description>飞书考勤打卡:查询自己的考勤打卡记录</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-attendance/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-base</name>\n <description>飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-base/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-calendar</name>\n <description>飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting)、待办任务(走 lark-task)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-calendar/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-contact</name>\n <description>飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-contact/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-doc</name>\n <description>飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-doc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-drive</name>\n <description>飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-drive/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-event</name>\n <description>Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-event/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-im</name>\n <description>飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-im/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-mail</name>\n <description>飞书邮箱:Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等;use for mail/email intent only. Do not use for docs/sheets/calendar/auth setup/pure contact lookup/IM chat tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-mail/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-markdown</name>\n <description>飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-markdown/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-meeting</name>\n <description>飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-node-id 或妙记 URL 查询相关信息。预约会议、忙闲和会议室管理走 lark-calendar。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-meeting/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-minutes</name>\n <description>仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-minutes/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-note</name>\n <description>仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-note/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-okr</name>\n <description>飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-okr/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-openapi-explorer</name>\n <description>飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-openapi-explorer/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-shared</name>\n <description>Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-shared/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-sheets</name>\n <description>飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可视化、表格美化、公式计算(含 Excel 公式迁移)、金融/财务建模(DCF、三张表、预算、Sensitivity 等)等任务时使用。若用户是想按名称或关键词搜索云空间(云盘/云存储)里的表格文件,请改用 lark-drive 的 drive +search 先定位资源。当用户给出 doubao.com 的 /sheets/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-sheets/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-skill-maker</name>\n <description>创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-skill-maker/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-slides</name>\n <description>飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard)、上传或下载普通文件(走 lark-drive)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-slides/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-task</name>\n <description>飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-task/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc</name>\n <description>仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-vc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc-agent</name>\n <description>仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-vc-agent/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-whiteboard</name>\n <description>飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-whiteboard/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-wiki</name>\n <description>飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:上传文件到知识库节点下(走 lark-drive)、编辑文档/表格/Base 内容(走 lark-doc / lark-sheets / lark-base)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-wiki/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-meeting-summary</name>\n <description>会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-workflow-meeting-summary/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-standup-report</name>\n <description>日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-workflow-standup-report/SKILL.md</location>\n </skill>\n <skill>\n <name>milvus-skill</name>\n <description>Operate Milvus vector database with pymilvus Python SDK. Use when the user wants to connect to Milvus, create collections, insert vectors, perform similarity search, hybrid search, full-text search, manage indexes, partitions, databases, or RBAC via Python code.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/milvus-skill/SKILL.md</location>\n </skill>\n <skill>\n <name>owasp-security</name>\n <description>Implement secure coding practices following OWASP Top 10. Use when dealing with OWASP, security, XSS, SQL injection, CSRF, secure coding, or vulnerabilities.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/owasp-security/SKILL.md</location>\n </skill>\n <skill>\n <name>pideck-doctor</name>\n <description>排查 PiDeck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断 PiDeck」「会话起不来」「pi 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/pideck-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail</name>\n <description>Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", and whenever they complain about over-engineering, bloat, boilerplate, or unnecessary dependencies.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-audit</name>\n <description>Whole-repo audit for over-engineering. Like ponytail-review, but scans the entire codebase instead of a diff: a ranked list of what to delete, simplify, or replace with stdlib/native equivalents. Use when the user says "audit this codebase", "audit for over-engineering", "what can I delete from this repo", "find bloat", "ponytail-audit", or "/ponytail-audit". One-shot report, does not apply fixes.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-audit/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-debt</name>\n <description>Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into "later means never". Use when the user says "ponytail debt", "/ponytail-debt", "what did ponytail defer", "list the shortcuts", "ponytail ledger", or "what did we mark to do later". One-shot report, changes nothing.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-debt/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-help</name>\n <description>Quick-reference card for all ponytail modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /ponytail-help, "ponytail help", "what ponytail commands", "how do I use ponytail".\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-help/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-review</name>\n <description>Code review focused exclusively on over-engineering. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the user says "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review", or invokes /ponytail-review. Complements correctness-focused review, this one only hunts complexity.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-review/SKILL.md</location>\n </skill>\n <skill>\n <name>session-learning</name>\n <description>Summarize conversation experiences and 沉淀 skills. Use when summarizing lessons learned, refining skills, reflecting on experience, or doing post-task reviews.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/session-learning/SKILL.md</location>\n </skill>\n <skill>\n <name>skill-creator</name>\n <description>Create, modify, and improve agent skills with performance measurement. Use when creating skills, editing skills, or optimizing skill performance.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/skill-creator/SKILL.md</location>\n </skill>\n <skill>\n <name>subagent-driven-development</name>\n <description>Execute plans by dispatching subagents for independent tasks. Use when executing implementation plans, dispatching subagents, or handling multiple tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/subagent-driven-development/SKILL.md</location>\n </skill>\n <skill>\n <name>usage-probe</name>\n <description>为 aicode 的「用量查询」功能排查/扩展供应商支持。当用户想显示某个供应商的用量、余额或额度点数时,先判断是否已内置支持(内置无需配置);不在内置时引导用户使用「用量查询」弹窗里的通用模板 / New API 模板;两种模板都覆盖不了的接口,帮用户写出 usage-probes.json 的旧版探针数组。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/usage-probe/SKILL.md</location>\n </skill>\n <skill>\n <name>using-superpowers</name>\n <description>Establish how to find and use skills in any conversation. Use when asking about capabilities, discovering skills, or learning what you can do.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/using-superpowers/SKILL.md</location>\n </skill>\n <skill>\n <name>verification-before-completion</name>\n <description>Verify work is complete before claiming success. Requires running verification commands. Use when claiming work is complete, before committing, before creating PRs, or verifying tests pass.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/verification-before-completion/SKILL.md</location>\n </skill>\n <skill>\n <name>writing-plans</name>\n <description>Write implementation plans from specs or requirements for multi-step tasks. Use when writing plans, making implementation plans, or planning development.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/writing-plans/SKILL.md</location>\n </skill>\n <skill>\n <name>zread</name>\n <description>Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or "what does this repo do"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word "zread".</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/zread/SKILL.md</location>\n </skill>\n</available_skills>\n</skills>","cwd":"<cwd>\n/Users/jianjiang/icode/code-agent-cli\n</cwd>"},"timestamp":1791603327158,"toolsAdded":[{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp, bmp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"bash","description":"Execute a bash command in the current working directory. Returns stdout and stderr. Output is truncated to last 2000 lines or 50KB (whichever is hit first). If truncated, full output is saved to a temp file. Optionally provide a timeout in seconds.","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"timeout":{"type":"number","description":"Timeout in seconds (optional, no default timeout)"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"type":"object","required":["oldText","newText"],"properties":{"oldText":{"type":"string","description":"Exact text for one targeted replacement. It must be unique in the original file and must not overlap with any other edits[].oldText in the same call."},"newText":{"type":"string","description":"Replacement text for this targeted edit."}}},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}}]}}
|
|
9
|
+
{"type":"message_start","message":{"role":"user","content":[{"type":"text","text":"just say hi"}],"timestamp":1791603327157}}
|
|
10
|
+
{"type":"message_end","message":{"role":"user","content":[{"type":"text","text":"just say hi"}],"timestamp":1791603327157}}
|
|
11
|
+
{"type":"message_start","message":{"role":"assistant","content":[],"api":"anthropic-messages","provider":"minimax-cn","model":"MiniMax-M3","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"pending","timestamp":1791603327226}}
|
|
12
12
|
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_start","contentIndex":0}}
|
|
13
|
-
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_delta","contentIndex":0,"delta":"The"}}
|
|
14
|
-
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_delta","contentIndex":0,"delta":"
|
|
15
|
-
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_delta","contentIndex":0,"delta":"
|
|
16
|
-
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"
|
|
13
|
+
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_delta","contentIndex":0,"delta":"The user just"}}
|
|
14
|
+
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_delta","contentIndex":0,"delta":" wants"}}
|
|
15
|
+
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_delta","contentIndex":0,"delta":" me to say hi."}}
|
|
16
|
+
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_delta","contentIndex":0,"delta":" Simple request"}}
|
|
17
|
+
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_delta","contentIndex":0,"delta":"."}}
|
|
18
|
+
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"thinking_end","contentIndex":0,"content":"The user just wants me to say hi. Simple request."}}
|
|
17
19
|
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"text_start","contentIndex":1}}
|
|
18
20
|
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"text_delta","contentIndex":1,"delta":"Hi!"}}
|
|
19
|
-
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"text_delta","contentIndex":1,"delta":" 👋 How can
|
|
21
|
+
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"text_delta","contentIndex":1,"delta":" 👋 How can"}}
|
|
22
|
+
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"text_delta","contentIndex":1,"delta":" I help you today"}}
|
|
23
|
+
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"text_delta","contentIndex":1,"delta":"?"}}
|
|
20
24
|
{"type":"message_update","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0},"cacheWrite1h":0},"assistantMessageEvent":{"type":"text_end","contentIndex":1,"content":"Hi! 👋 How can I help you today?"}}
|
|
21
|
-
{"type":"message_end","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user just wants
|
|
22
|
-
{"type":"turn_end","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user just wants
|
|
23
|
-
{"type":"agent_end","messages":[{"role":"system","content":"","sections":{"preamble":"You are an expert coding assistant operating inside pi, a coding agent harness. You help users by reading files, executing commands, editing code, and writing new files.","tools":"<tools>\n- read: Read file contents\n- bash: Execute bash commands (ls, grep, find, etc.)\n- edit: Make precise file edits with exact text replacement, including multiple disjoint edits in one call\n- write: Create or overwrite files\n\nIn addition to the tools above, you may have access to other custom tools depending on the project.\n</tools>","rules":"<rules>\n- Use bash for file operations like ls, rg, find\n- Use read to examine files instead of cat or sed.\n- You can inspect PI_* environment variables for current model and session details.\n- Use edit for precise changes (edits[].oldText must match exactly)\n- When changing multiple separate locations in one file, use one edit call with multiple entries in edits[] instead of multiple edit calls\n- Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not emit overlapping or nested edits. Merge nearby changes into one edit.\n- Keep edits[].oldText as small as possible while still being unique in the file. Do not pad with large unchanged regions.\n- Use write only for new files or complete rewrites.\n- Be concise in your responses\n- Show file paths clearly when working with files\n</rules>","docs":"<docs>\nPi documentation (read only when the user asks about pi itself, its SDK, extensions, themes, skills, or TUI):\n- Main documentation: /Users/jianjiang/aicode-global/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/README.md\n- Additional docs: /Users/jianjiang/aicode-global/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/docs\n- Examples: /Users/jianjiang/aicode-global/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/examples (extensions, custom tools, SDK)\n- When reading pi docs or examples, resolve docs/... under Additional docs and examples/... under Examples, not the current working directory\n- When asked about: extensions (docs/extensions.md, examples/extensions/), themes (docs/themes.md), skills (docs/skills.md), prompt templates (docs/prompt-templates.md), TUI components (docs/tui.md), keybindings (docs/keybindings.md), SDK integrations (docs/sdk.md), custom providers (docs/custom-provider.md), adding models (docs/models.md), pi packages (docs/packages.md), environment variables (docs/environment-variables.md), MCP servers (docs/mcp.md), codemode scripts and non-LLM models such as classifiers and image models (docs/codemode.md)\n- When working on pi topics, read the docs and examples, and follow .md cross-references before implementing\n- Always read pi .md files completely and follow links to related docs (e.g., tui.md for TUI API details)\n</docs>","project_context":"<project_context>\nProject-specific instructions and guidelines:\n\n<project_instructions path=\"/Users/jianjiang/CLAUDE.md\">\n# 家目录规划说明\n\n> 本文档由 AI 助手生成,用于说明 `/Users/jianjiang/` 目录的组织规则。\n> 最后更新:2026-09-12\n\n---\n\n## 目录结构\n\n```\n/Users/jianjiang/\n├── icode/ # 代码项目(所有 git 仓库、工程)\n├── software/ # 开发工具(JDK、Maven、Gradle 等)\n├── docs/ # 技术文档、手册、学习资料\n├── projects/ # 非代码类项目(设计稿、需求文档等)\n├── tools/ # 自用脚本、小工具、dotfiles\n├── archive/ # 归档:完结项目、旧版本、备份\n├── tmp/ # 临时文件,随时可删\n├── Desktop/ # 桌面,保持干净\n├── Documents/ # 办公文档、PDF\n└── Downloads/ # 下载默认位置\n```\n\n---\n\n## 使用规则\n\n| 目录 | 用途 | 规则 |\n| ------ | ------ | ------ |\n| `icode/` | 代码工程 | 所有代码项目放这里,按项目名建子目录 |\n| `software/` | 开发工具 | 绿色软件、解压即用的工具 |\n| `docs/` | 技术资料 | 笔记、手册、教程,按主题分类 |\n| `projects/` | 非代码项目 | 设计稿、产品文档、协作文件夹 |\n| `tools/` | 个人脚本 | 自用脚本、命令行工具、配置备份 |\n| `archive/` | 归档 | 半年清理一次,不再活跃的内容移入 |\n| `tmp/` | 临时文件 | 不存重要内容,定期清空 |\n| `Desktop/` | 桌面 | 只放当前正在处理的文件 |\n| `Documents/` | 办公文档 | 合同、PDF、非技术资料 |\n| `Downloads/` | 下载 | 浏览器默认下载位置,定期整理 |\n\n---\n\n## 维护建议\n\n- **每月**:检查 `tmp/`,删除过期文件\n- **每季度**:整理 `archive/`,决定彻底删除或继续保留\n- **随时**:新文件按规则放入对应目录,不堆积在桌面\n\n</project_instructions>\n</project_context>","skills":"<skills>\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n<available_skills>\n <skill>\n <name>aicode-doctor</name>\n <description>排查AICode Deck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断AICode Deck 」「会话起不来」「aicode 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/aicode-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>brainstorming</name>\n <description>Explore user intent, requirements and design before any creative work or implementation. Use when brainstorming ideas, designing features, analyzing requirements, or figuring out how to implement something.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/brainstorming/SKILL.md</location>\n </skill>\n <skill>\n <name>chroma-local</name>\n <description>Use when the user needs self-hosted or local Chroma for semantic search, including `ChromaClient`, `HttpClient`, or Python `EphemeralClient`, local persistence, Docker or `chroma run`, or OSS Chroma without Chroma Cloud features.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/chroma/chroma-local/SKILL.md</location>\n </skill>\n <skill>\n <name>code-mode-orchestrator</name>\n <description>Code Mode (Exec) usage patterns and applicable scenarios. Covers parallel fan-out, pipeline with JS transforms, conditional branching, loop-until-condition, and multi-source aggregation. Trigger when the task benefits from orchestrating multiple tool calls in a single JavaScript script rather than sequential direct calls.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/code-mode-orchestrator/SKILL.md</location>\n </skill>\n <skill>\n <name>code-review</name>\n <description>执行全面的代码审查,检查代码质量、安全性、性能和最佳实践。Use when reviewing code, conducting code reviews, or checking code quality.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/code-review/SKILL.md</location>\n </skill>\n <skill>\n <name>codebase-analyzer</name>\n <description>分析代码库结构,提取架构知识、模块依赖、潜在风险。Use when exploring unfamiliar codebase, understanding module relationships, or assessing impact of changes.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/codebase-analyzer/SKILL.md</location>\n </skill>\n <skill>\n <name>commit</name>\n <description>分析代码变更并生成规范的 Git commit 消息。Use when committing code, generating commit messages, or submitting to git.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/commit/SKILL.md</location>\n </skill>\n <skill>\n <name>dispatching-parallel-agents</name>\n <description>Dispatch multiple independent tasks in parallel without shared state. Use when facing parallel tasks, handling multiple independent jobs, or executing concurrent operations.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/dispatching-parallel-agents/SKILL.md</location>\n </skill>\n <skill>\n <name>dynamic-ui</name>\n <description>Show visual content inline alongside your text response — diagrams, charts, interactive demos, comparisons. Use only when a compact visual makes the answer clearer. Not for websites, apps, reports, dashboards, or slides.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/dynamic-ui/SKILL.md</location>\n </skill>\n <skill>\n <name>email-sender</name>\n <description>Send emails via SMTP with support for plain text, images, and HTML content. Use when user asks to send emails, send text/images/rich content to an email address, or mentions sending anything to an email address. Triggers on phrases like "send email to", "send this to my email", "email this to", "把这段话发到邮箱", "发送图片到邮箱", "发送邮件", "发邮件到xxx".</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/email-sender/SKILL.md</location>\n </skill>\n <skill>\n <name>frontend-design</name>\n <description>Create distinctive, production-grade frontend interfaces with high design quality. Use when building frontend, creating web components, designing pages, or implementing UI.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/frontend-design/SKILL.md</location>\n </skill>\n <skill>\n <name>image-gen</name>\n <description>生成图片。当用户想让 AI 生成图片、插画、海报、头像等图像内容时使用。读取生图供应商配置,调用 OpenAI 兼容的图片生成 API(支持 OpenAI、火山方舟、SiliconFlow 三种方言与参考图),把生成的图片保存到项目目录。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/image-gen/SKILL.md</location>\n </skill>\n <skill>\n <name>adapt</name>\n <description>(impeccable) 使设计适配不同的屏幕尺寸、设备、场景或平台,确保跨环境体验一致。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/adapt/SKILL.md</location>\n </skill>\n <skill>\n <name>audit</name>\n <description>(impeccable) 对界面质量进行全面审计,涵盖无障碍性、性能、主题化和响应式设计,生成包含严重等级和改进建议的详细报告。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/audit/SKILL.md</location>\n </skill>\n <skill>\n <name>extract</name>\n <description>(impeccable) 提取并整合可复用的组件、设计令牌和模式到设计系统中,识别系统性复用的机会并丰富组件库。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/extract/SKILL.md</location>\n </skill>\n <skill>\n <name>harden</name>\n <description>(impeccable) 通过改进错误处理、i18n 支持、文字溢出处理和边界情况管理,提升界面的健壮性,使界面达到可上线标准。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/harden/SKILL.md</location>\n </skill>\n <skill>\n <name>polish</name>\n <description>(impeccable) 上线前的最终质量检查,修正对齐、间距、一致性和细节问题,让"好"与"优秀"拉开差距。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/impeccable/polish/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-approval</name>\n <description>飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-approval/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-apps</name>\n <description>妙搭(Spark/Miaoda)应用开发与托管:应用创建、本地全栈开发、云端生成迭代、创意设计(UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索)、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协作者与协作权限设置、应用角色与成员管理、自动化触发器(定时/记录变更/Webhook/飞书审批)。当用户要开发/新建一个系统·工具·平台·应用,或要本地开发 / 云端开发 / 修改 / 部署 / 发布 / 上线 / 拿可分享链接,或用 HTML 做页面·网站·部署到妙搭,或要设计 / design / mockup / prototype / wireframe / 做 PPT / deck / 视觉探索,或提到妙搭/Spark/Miaoda(应用运行时域名形如 *.aiforce.cloud)、应用数据库、应用文件存储、开放 API Key、可见范围、应用协作者/开发权限、应用角色/角色成员、线上日志、接口请求量、错误量、延迟、访问量、环境变量、给妙搭应用配自动化任务/定时触发/审批通过后自动触发时使用。不负责普通云盘文件上传(lark-drive)、飞书文档编辑(lark-doc)、原生幻灯片创建(lark-slides)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-apps/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-attendance</name>\n <description>飞书考勤打卡:查询自己的考勤打卡记录</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-attendance/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-base</name>\n <description>飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-base/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-calendar</name>\n <description>飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting)、待办任务(走 lark-task)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-calendar/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-contact</name>\n <description>飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-contact/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-doc</name>\n <description>飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-doc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-drive</name>\n <description>飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-drive/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-event</name>\n <description>Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-event/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-im</name>\n <description>飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-im/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-mail</name>\n <description>飞书邮箱:Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等;use for mail/email intent only. Do not use for docs/sheets/calendar/auth setup/pure contact lookup/IM chat tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-mail/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-markdown</name>\n <description>飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-markdown/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-meeting</name>\n <description>飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-node-id 或妙记 URL 查询相关信息。预约会议、忙闲和会议室管理走 lark-calendar。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-meeting/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-minutes</name>\n <description>仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-minutes/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-note</name>\n <description>仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-note/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-okr</name>\n <description>飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-okr/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-openapi-explorer</name>\n <description>飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-openapi-explorer/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-shared</name>\n <description>Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-shared/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-sheets</name>\n <description>飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可视化、表格美化、公式计算(含 Excel 公式迁移)、金融/财务建模(DCF、三张表、预算、Sensitivity 等)等任务时使用。若用户是想按名称或关键词搜索云空间(云盘/云存储)里的表格文件,请改用 lark-drive 的 drive +search 先定位资源。当用户给出 doubao.com 的 /sheets/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-sheets/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-skill-maker</name>\n <description>创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-skill-maker/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-slides</name>\n <description>飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard)、上传或下载普通文件(走 lark-drive)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-slides/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-task</name>\n <description>飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-task/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc</name>\n <description>仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-vc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc-agent</name>\n <description>仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-vc-agent/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-whiteboard</name>\n <description>飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-whiteboard/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-wiki</name>\n <description>飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:上传文件到知识库节点下(走 lark-drive)、编辑文档/表格/Base 内容(走 lark-doc / lark-sheets / lark-base)。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-wiki/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-meeting-summary</name>\n <description>会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-workflow-meeting-summary/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-standup-report</name>\n <description>日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/lark-workflow-standup-report/SKILL.md</location>\n </skill>\n <skill>\n <name>milvus-skill</name>\n <description>Operate Milvus vector database with pymilvus Python SDK. Use when the user wants to connect to Milvus, create collections, insert vectors, perform similarity search, hybrid search, full-text search, manage indexes, partitions, databases, or RBAC via Python code.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/milvus-skill/SKILL.md</location>\n </skill>\n <skill>\n <name>owasp-security</name>\n <description>Implement secure coding practices following OWASP Top 10. Use when dealing with OWASP, security, XSS, SQL injection, CSRF, secure coding, or vulnerabilities.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/owasp-security/SKILL.md</location>\n </skill>\n <skill>\n <name>pideck-doctor</name>\n <description>排查 PiDeck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断 PiDeck」「会话起不来」「pi 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/pideck-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail</name>\n <description>Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", and whenever they complain about over-engineering, bloat, boilerplate, or unnecessary dependencies.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-audit</name>\n <description>Whole-repo audit for over-engineering. Like ponytail-review, but scans the entire codebase instead of a diff: a ranked list of what to delete, simplify, or replace with stdlib/native equivalents. Use when the user says "audit this codebase", "audit for over-engineering", "what can I delete from this repo", "find bloat", "ponytail-audit", or "/ponytail-audit". One-shot report, does not apply fixes.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-audit/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-debt</name>\n <description>Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into "later means never". Use when the user says "ponytail debt", "/ponytail-debt", "what did ponytail defer", "list the shortcuts", "ponytail ledger", or "what did we mark to do later". One-shot report, changes nothing.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-debt/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-help</name>\n <description>Quick-reference card for all ponytail modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /ponytail-help, "ponytail help", "what ponytail commands", "how do I use ponytail".\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-help/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-review</name>\n <description>Code review focused exclusively on over-engineering. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the user says "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review", or invokes /ponytail-review. Complements correctness-focused review, this one only hunts complexity.\n</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/ponytail-review/SKILL.md</location>\n </skill>\n <skill>\n <name>session-learning</name>\n <description>Summarize conversation experiences and 沉淀 skills. Use when summarizing lessons learned, refining skills, reflecting on experience, or doing post-task reviews.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/session-learning/SKILL.md</location>\n </skill>\n <skill>\n <name>skill-creator</name>\n <description>Create, modify, and improve agent skills with performance measurement. Use when creating skills, editing skills, or optimizing skill performance.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/skill-creator/SKILL.md</location>\n </skill>\n <skill>\n <name>subagent-driven-development</name>\n <description>Execute plans by dispatching subagents for independent tasks. Use when executing implementation plans, dispatching subagents, or handling multiple tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/subagent-driven-development/SKILL.md</location>\n </skill>\n <skill>\n <name>usage-probe</name>\n <description>为 aicode 的「用量查询」功能排查/扩展供应商支持。当用户想显示某个供应商的用量、余额或额度点数时,先判断是否已内置支持(内置无需配置);不在内置时引导用户使用「用量查询」弹窗里的通用模板 / New API 模板;两种模板都覆盖不了的接口,帮用户写出 usage-probes.json 的旧版探针数组。</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/usage-probe/SKILL.md</location>\n </skill>\n <skill>\n <name>using-superpowers</name>\n <description>Establish how to find and use skills in any conversation. Use when asking about capabilities, discovering skills, or learning what you can do.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/using-superpowers/SKILL.md</location>\n </skill>\n <skill>\n <name>verification-before-completion</name>\n <description>Verify work is complete before claiming success. Requires running verification commands. Use when claiming work is complete, before committing, before creating PRs, or verifying tests pass.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/verification-before-completion/SKILL.md</location>\n </skill>\n <skill>\n <name>writing-plans</name>\n <description>Write implementation plans from specs or requirements for multi-step tasks. Use when writing plans, making implementation plans, or planning development.</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/writing-plans/SKILL.md</location>\n </skill>\n <skill>\n <name>zread</name>\n <description>Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or "what does this repo do"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word "zread".</description>\n <location>/Users/jianjiang/.aicode-regression-1887-6360000/agent/skills/zread/SKILL.md</location>\n </skill>\n</available_skills>\n</skills>","cwd":"<cwd>\n/Users/jianjiang\n</cwd>"},"timestamp":1791596698760,"toolsAdded":[{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp, bmp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"bash","description":"Execute a bash command in the current working directory. Returns stdout and stderr. Output is truncated to last 2000 lines or 50KB (whichever is hit first). If truncated, full output is saved to a temp file. Optionally provide a timeout in seconds.","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"timeout":{"type":"number","description":"Timeout in seconds (optional, no default timeout)"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"type":"object","required":["oldText","newText"],"properties":{"oldText":{"type":"string","description":"Exact text for one targeted replacement. It must be unique in the original file and must not overlap with any other edits[].oldText in the same call."},"newText":{"type":"string","description":"Replacement text for this targeted edit."}}},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}}]},{"role":"user","content":[{"type":"text","text":"just say hi"}],"timestamp":1791596698759},{"role":"assistant","content":[{"type":"thinking","thinking":"The user just wants a simple greeting. No need for skills or tools.","thinkingSignature":"505d93e731a3492c849657480797eca82d12514ceea46ebcee23096f5e6d8a2b"},{"type":"text","text":"Hi! 👋 How can I help you today?"}],"api":"anthropic-messages","provider":"minimax-cn","model":"MiniMax-M3","usage":{"input":10085,"output":29,"cacheRead":196,"cacheWrite":0,"totalTokens":10310,"cost":{"input":0.0030255,"output":0.0000348,"cacheRead":0.00001176,"cacheWrite":0,"total":0.00307206},"cacheWrite1h":0},"stopReason":"stop","timestamp":1791596698817,"responseId":"0718cb9bb6c533968117cbc7bf418c66","rawStopReason":"end_turn","durationMs":2288,"thinkingLevel":"high"}],"willRetry":false}
|
|
25
|
+
{"type":"message_end","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user just wants me to say hi. Simple request.","thinkingSignature":"dde7f16b722fc81801c187989d585917ea8e90fea242fc7c36c2f9c8fbee9986"},{"type":"text","text":"Hi! 👋 How can I help you today?"}],"api":"anthropic-messages","provider":"minimax-cn","model":"MiniMax-M3","usage":{"input":12383,"output":26,"cacheRead":128,"cacheWrite":0,"totalTokens":12537,"cost":{"input":0.0037148999999999997,"output":0.0000312,"cacheRead":0.00000768,"cacheWrite":0,"total":0.0037537799999999995},"cacheWrite1h":0,"reasoning":12},"stopReason":"stop","timestamp":1791603327226,"responseId":"0718e57f8b20ed01ed5014425f21dc5d","rawStopReason":"end_turn","durationMs":1550,"thinkingLevel":"high"}}
|
|
26
|
+
{"type":"turn_end","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user just wants me to say hi. Simple request.","thinkingSignature":"dde7f16b722fc81801c187989d585917ea8e90fea242fc7c36c2f9c8fbee9986"},{"type":"text","text":"Hi! 👋 How can I help you today?"}],"api":"anthropic-messages","provider":"minimax-cn","model":"MiniMax-M3","usage":{"input":12383,"output":26,"cacheRead":128,"cacheWrite":0,"totalTokens":12537,"cost":{"input":0.0037148999999999997,"output":0.0000312,"cacheRead":0.00000768,"cacheWrite":0,"total":0.0037537799999999995},"cacheWrite1h":0,"reasoning":12},"stopReason":"stop","timestamp":1791603327226,"responseId":"0718e57f8b20ed01ed5014425f21dc5d","rawStopReason":"end_turn","durationMs":1550,"thinkingLevel":"high"},"toolResults":[]}
|
|
27
|
+
{"type":"agent_end","messages":[{"role":"system","content":"","sections":{"preamble":"You are an expert coding assistant operating inside pi, a coding agent harness. You help users by reading files, executing commands, editing code, and writing new files.","tools":"<tools>\n- read: Read file contents\n- bash: Execute bash commands (ls, grep, find, etc.)\n- edit: Make precise file edits with exact text replacement, including multiple disjoint edits in one call\n- write: Create or overwrite files\n\nIn addition to the tools above, you may have access to other custom tools depending on the project.\n</tools>","rules":"<rules>\n- Use bash for file operations like ls, rg, find\n- Use read to examine files instead of cat or sed.\n- You can inspect PI_* environment variables for current model and session details.\n- Use edit for precise changes (edits[].oldText must match exactly)\n- When changing multiple separate locations in one file, use one edit call with multiple entries in edits[] instead of multiple edit calls\n- Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not emit overlapping or nested edits. Merge nearby changes into one edit.\n- Keep edits[].oldText as small as possible while still being unique in the file. Do not pad with large unchanged regions.\n- Use write only for new files or complete rewrites.\n- Be concise in your responses\n- Show file paths clearly when working with files\n</rules>","docs":"<docs>\nPi documentation (read only when the user asks about pi itself, its SDK, extensions, themes, skills, or TUI):\n- Main documentation: /private/tmp/aicode-nofallback/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/README.md\n- Additional docs: /private/tmp/aicode-nofallback/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/docs\n- Examples: /private/tmp/aicode-nofallback/lib/node_modules/@ia-ccun/code-agent-cli/node_modules/@earendil-works/pi-coding-agent/examples (extensions, custom tools, SDK)\n- When reading pi docs or examples, resolve docs/... under Additional docs and examples/... under Examples, not the current working directory\n- When asked about: extensions (docs/extensions.md, examples/extensions/), themes (docs/themes.md), skills (docs/skills.md), prompt templates (docs/prompt-templates.md), TUI components (docs/tui.md), keybindings (docs/keybindings.md), SDK integrations (docs/sdk.md), custom providers (docs/custom-provider.md), adding models (docs/models.md), pi packages (docs/packages.md), environment variables (docs/environment-variables.md), MCP servers (docs/mcp.md), codemode scripts and non-LLM models such as classifiers and image models (docs/codemode.md)\n- When working on pi topics, read the docs and examples, and follow .md cross-references before implementing\n- Always read pi .md files completely and follow links to related docs (e.g., tui.md for TUI API details)\n</docs>","project_context":"<project_context>\nProject-specific instructions and guidelines:\n\n<project_instructions path=\"/Users/jianjiang/CLAUDE.md\">\n# 家目录规划说明\n\n> 本文档由 AI 助手生成,用于说明 `/Users/jianjiang/` 目录的组织规则。\n> 最后更新:2026-09-12\n\n---\n\n## 目录结构\n\n```\n/Users/jianjiang/\n├── icode/ # 代码项目(所有 git 仓库、工程)\n├── software/ # 开发工具(JDK、Maven、Gradle 等)\n├── docs/ # 技术文档、手册、学习资料\n├── projects/ # 非代码类项目(设计稿、需求文档等)\n├── tools/ # 自用脚本、小工具、dotfiles\n├── archive/ # 归档:完结项目、旧版本、备份\n├── tmp/ # 临时文件,随时可删\n├── Desktop/ # 桌面,保持干净\n├── Documents/ # 办公文档、PDF\n└── Downloads/ # 下载默认位置\n```\n\n---\n\n## 使用规则\n\n| 目录 | 用途 | 规则 |\n| ------ | ------ | ------ |\n| `icode/` | 代码工程 | 所有代码项目放这里,按项目名建子目录 |\n| `software/` | 开发工具 | 绿色软件、解压即用的工具 |\n| `docs/` | 技术资料 | 笔记、手册、教程,按主题分类 |\n| `projects/` | 非代码项目 | 设计稿、产品文档、协作文件夹 |\n| `tools/` | 个人脚本 | 自用脚本、命令行工具、配置备份 |\n| `archive/` | 归档 | 半年清理一次,不再活跃的内容移入 |\n| `tmp/` | 临时文件 | 不存重要内容,定期清空 |\n| `Desktop/` | 桌面 | 只放当前正在处理的文件 |\n| `Documents/` | 办公文档 | 合同、PDF、非技术资料 |\n| `Downloads/` | 下载 | 浏览器默认下载位置,定期整理 |\n\n---\n\n## 维护建议\n\n- **每月**:检查 `tmp/`,删除过期文件\n- **每季度**:整理 `archive/`,决定彻底删除或继续保留\n- **随时**:新文件按规则放入对应目录,不堆积在桌面\n\n</project_instructions>\n\n<project_instructions path=\"/Users/jianjiang/icode/code-agent-cli/AGENTS.md\">\n# PROJECT KNOWLEDGE BASE\n\n**Generated:** 2026-03-21\n\n## OVERVIEW\n\nProject: **@ia-ccun/code-agent-cli**\nStack: TypeScript, Node.js (>=20.0.0), npm, ESLint, TypeScript Compiler (tsc)\n\n## STRUCTURE\n\n```\n@ia-ccun/code-agent-cli/\n├── src/ # TypeScript 源码\n│ ├── index.ts # 入口文件 (导出 pi-coding-agent 核心功能)\n│ ├── config.ts # 配置定义 (AppConfig 接口)\n│ ├── config-loader.ts # 配置加载器\n│ └── banner.ts # 启动 Banner 生成\n├── bin/\n│ └── cli.js # CLI 入口 (npm bin 入口点)\n├── config/agent/ # 预置配置 (打包到 npm)\n│ ├── SYSTEM.md # 系统提示词\n│ ├── APPEND_SYSTEM.md # 追加系统提示词\n│ ├── models.json # LLM 模型配置\n│ ├── settings.json # 设置配置\n│ ├── extensions/ # 扩展 (拦截器、自定义命令)\n│ ├── prompts/ # 预置 Prompts (/git-commit, /workflow 等)\n│ ├── skills/ # 预置 Skills (/skill:code-review 等)\n│ ├── themes/ # 主题配置\n│ └── bin/ # 辅助脚本\n├── docs/ # 项目文档\n├── scripts/ # 构建脚本 (postinstall.js)\n├── pi-mono/ # pi-coding-agent 源码 (依赖)\n├── pi-ext/ # 扩展相关\n└── webui/ # Web UI 相关\n```\n\n* `src/`: TypeScript 源码目录,编译后输出到 `dist/`\n* `bin/cli.js`: CLI 主入口,负责解析参数、加载配置、显示 Banner、启动 pi-coding-agent\n* `config/agent/`: 预置的 Agent 配置,包含 Skills、Prompts、Extensions、Themes\n* `pi-mono/`: @mariozechner/pi-coding-agent 源码依赖\n* `docs/`: 项目文档目录\n\n## COMMANDS\n\n| Action | Command |\n| -------- | --------- |\n| Install Dependencies | `npm install` |\n| Build (compile TS) | `npm run build` |\n| Dev (watch mode) | `npm run dev` |\n| Clean dist | `npm run clean` |\n| Lint | `npm run lint` |\n| Release (patch bump) | `npm run release` |\n| Test | `npm test` (tests skipped) |\n\n## TOOL OPTIMIZATION\n\n* **Required Tools**: 必须使用以下优化工具,禁止使用原生命令:\n* `~/.aicode-cli/agent/bin/fd` — 替代 `find`(更快、更直观)\n* `~/.aicode-cli/agent/bin/rg` — 替代 `grep`(更快、功能更丰富)\n* **Usage**:\n\n ```bash\n # fd 用法示例\n fd \"pattern\" # 递归搜索\n fd -e ts -e js \"pattern\" # 指定扩展名\n fd -H \"pattern\" # 包含隐藏文件\n\n # rg 用法示例\n rg \"pattern\" # 递归搜索\n rg -t ts \"pattern\" # 指定文件类型\n rg -g \"*.md\" \"pattern\" # 指定 glob 模式\n ```\n\n## CODING STANDARDS\n\n* **Language**: TypeScript (ES2022 target, ESNext modules)\n* **Module System**: ES Modules (`\"type\": \"module\"` in package.json)\n* **Style**: ESLint with TypeScript ESLint parser\n* **TypeScript Config**: Strict mode enabled (`strict: true`)\n* **Linting Rules**:\n* No unused locals (`noUnusedLocals: true`)\n* No unused parameters (`noUnusedParameters: true`)\n* No implicit returns (`noImplicitReturns: true`)\n* No fallthrough cases in switch (`noFallthroughCasesInSwitch: true`)\n* **Code Style**:\n* Use JSDoc comments for public APIs\n* Use ES module imports with `.js` extensions for local imports\n* Prefer `export interface` for type definitions\n* Use functional patterns and proper TypeScript typing\n\n## WHERE TO LOOK\n\n* **Source**: `src/`\n* **CLI Entry**: `bin/cli.js`\n* **Configuration**: `config/agent/`\n* **Tests**: No dedicated test directory (tests currently skipped)\n* **Docs**: `docs/`\n* **Reference**: `CLAUDE.md` - 项目详细文档\n\n## NOTES\n\n* **Important**: This CLI is a wrapper around `@mariozechner/pi-coding-agent`. The actual agent logic is in the `pi-mono/` dependency.\n* **Skills vs Prompts**:\n\n* Skills: located in `config/agent/skills/`, triggered with `/skill:`\n* Prompts: located in `config/agent/prompts/`, triggered with `/`\n\n* **Configuration Sync**: After modifying themes, plugins, or extensions, must sync to `~/.pi/agent/`:\n\n ```bash\n cp config/agent/extensions/*.ts ~/.aicode-cli/agent/extensions/\n cp config/agent/themes/*.json ~/.aicode-cli/agent/themes/\n cp -r config/agent/skills/<skill-name> ~/.pi/agent/skills/\n ```\n\n* **Git Commit Format**: Use English commit messages with format `<type>: <description>` (e.g., `chore: add feature`, `fix: resolve issue`)\n* **Version Management**: CLI version is read from `package.json` and used for User-Agent in API calls\n* **Config Directory**: Runtime reads from `~/.aicode-cli/` or `~/.pi/agent/` (not from project's `config/agent/`)\n\n## UPGRADE PROTOCOL(依赖升级迭代流程)\n\n升级 pi 底层依赖(如 `^0.80.0` → `^0.85.0`)必须严格走以下流程,**未经回归测试不推远程 / 不 publish**。\n\n```bash\n# 1. 改 package.json pi 版本\n# 手动改 4 个 @earendil-works/pi-* 包的主版本号(或 sed 批量)\n\n# 2. 重新安装 + 编译 + 打 tarball\nnpm install && npm run build && npm pack\n\n# 3. 装到隔离 prefix(不污染全局 aicode CLI)\nmkdir -p /tmp/aicode-upgrade\nnpm install -g --prefix=/tmp/aicode-upgrade ./ia-ccun-code-agent-cli-*.tgz\n\n# 4. 跑全量回归测试\nAICODE_BIN=/tmp/aicode-upgrade/bin/aicode ./scripts/regression/run-all.sh\n\n# 5. 全部 7 个 case 通过 → 推 gitee / publish beta\n```\n\n### 跨供应商回归(可选)\n\n默认用用户全局 `~/.aicode-cli/agent/settings.json` 的 defaultProvider(如 minimax-cn)。需要跨供应商验证时设置环境变量:\n\n```bash\n# SiliconFlow + Anthropic 兼容\nAICODE_REGRESSION_BASE_URL=\"https://api.siliconflow.cn\" \\\nAICODE_REGRESSION_API_KEY=\"sk-...\" \\\nAICODE_REGRESSION_API_KIND=\"anthropic-messages\" \\\nAICODE_REGRESSION_PROVIDER_ID=\"siliconflow\" \\\nAICODE_REGRESSION_MODEL_ID=\"claude-sonnet-4-5\" \\\nAICODE_BIN=/tmp/aicode-upgrade/bin/aicode \\\n./scripts/regression/run-all.sh\n```\n\n### 回归套件(7 个 case)\n\n| Case | 主题 | 验证重点 |\n| --- | --- | --- |\n| 01 | version-and-deps | aicode -v + 4 个 pi 包主版本 |\n| 02 | extension-loading | 20 个 aicode 自定义扩展加载无冲突 |\n| **03** ⭐ | **rpc-protocol** | **17 个 RPC 命令 + 7 个事件类型 + schema 兼容性**(与 aicode-plugin-swing AicodeRpcClient.kt 对齐) |\n| 04 | prompt-stream | agent_start → turn_start → message_update → turn_end → agent_end 完整流 |\n| 05 | slash-commands-and-skills | 5 个 prompt + 核心 skill 注册 |\n| 06 | tool-execution | tool_execution_start 必带 toolCallId + toolName |\n| 07 | pi-new-features | clear_queue / GPT-6 / thinking 持久化 / cacheWrite1h |\n\n详见 `scripts/regression/README.md`。\n\n### 验收门槛\n\n* ✅ 全部 7 个 case `exit 0`\n* ✅ 02 扩展加载 fail_count = 0\n* ✅ **03 RPC 协议 全部 pass**(不能有 unknown command、字段 schema 漂移)\n* ✅ 04 prompt-stream 全部 pass(完整事件流)\n* ✅ 05 注册率 ≥ 60%\n\n不达标 → 修复后重新跑,不绕过回归。\n\n---\n\n## PUBLISH COMMANDS\n\n| Action | Command |\n| -------- | --------- |\n| Beta release | `npm publish --tag beta` |\n| Test release | `npm publish --tag test` |\n| Alpha release | `npm publish --tag alpha` |\n| RC release | `npm publish --tag rc` |\n| Next release | `npm publish --tag next` |\n| Stable release | `npm publish` (default: latest) |\n\n## PUBLISH TAG REFERENCE\n\n发布 npm 包时,请根据版本阶段选择合适的标签:\n\n| 标签 | 什么时候用 | 给谁用 |\n| :--- | :--- | :--- |\n| `latest` | **稳定正式版**(默认) | 所有生产环境用户 |\n| `beta` | **功能基本完成**,需要外部测试 | 尝鲜用户、QA团队 |\n| `alpha` | **功能未完成**,内部开发中 | 核心开发者 |\n| `rc` (release candidate) | **功能冻结**,正式发布前的最后验证 | 谨慎的预览用户 |\n| `next` | **下一代大版本**预览 | 早期升级验证者 |\n| `legacy` | 维护**旧版本**(如安全补丁) | 无法升级的老用户 |\n| `test` | **个人自测验证**,不公开使用 | 仅发布者本人验证 |\n\n> ⚠️ 发布前必须确认版本号是否正确,避免覆盖已发布版本。\n\n</project_instructions>\n</project_context>","skills":"<skills>\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n<available_skills>\n <skill>\n <name>aicode-doctor</name>\n <description>排查AICode Deck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断AICode Deck 」「会话起不来」「aicode 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/aicode-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>brainstorming</name>\n <description>Explore user intent, requirements and design before any creative work or implementation. Use when brainstorming ideas, designing features, analyzing requirements, or figuring out how to implement something.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/brainstorming/SKILL.md</location>\n </skill>\n <skill>\n <name>chroma-local</name>\n <description>Use when the user needs self-hosted or local Chroma for semantic search, including `ChromaClient`, `HttpClient`, or Python `EphemeralClient`, local persistence, Docker or `chroma run`, or OSS Chroma without Chroma Cloud features.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/chroma/chroma-local/SKILL.md</location>\n </skill>\n <skill>\n <name>code-mode-orchestrator</name>\n <description>Code Mode (Exec) usage patterns and applicable scenarios. Covers parallel fan-out, pipeline with JS transforms, conditional branching, loop-until-condition, and multi-source aggregation. Trigger when the task benefits from orchestrating multiple tool calls in a single JavaScript script rather than sequential direct calls.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/code-mode-orchestrator/SKILL.md</location>\n </skill>\n <skill>\n <name>code-review</name>\n <description>执行全面的代码审查,检查代码质量、安全性、性能和最佳实践。Use when reviewing code, conducting code reviews, or checking code quality.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/code-review/SKILL.md</location>\n </skill>\n <skill>\n <name>codebase-analyzer</name>\n <description>分析代码库结构,提取架构知识、模块依赖、潜在风险。Use when exploring unfamiliar codebase, understanding module relationships, or assessing impact of changes.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/codebase-analyzer/SKILL.md</location>\n </skill>\n <skill>\n <name>commit</name>\n <description>分析代码变更并生成规范的 Git commit 消息。Use when committing code, generating commit messages, or submitting to git.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/commit/SKILL.md</location>\n </skill>\n <skill>\n <name>dispatching-parallel-agents</name>\n <description>Dispatch multiple independent tasks in parallel without shared state. Use when facing parallel tasks, handling multiple independent jobs, or executing concurrent operations.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/dispatching-parallel-agents/SKILL.md</location>\n </skill>\n <skill>\n <name>dynamic-ui</name>\n <description>Show visual content inline alongside your text response — diagrams, charts, interactive demos, comparisons. Use only when a compact visual makes the answer clearer. Not for websites, apps, reports, dashboards, or slides.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/dynamic-ui/SKILL.md</location>\n </skill>\n <skill>\n <name>email-sender</name>\n <description>Send emails via SMTP with support for plain text, images, and HTML content. Use when user asks to send emails, send text/images/rich content to an email address, or mentions sending anything to an email address. Triggers on phrases like "send email to", "send this to my email", "email this to", "把这段话发到邮箱", "发送图片到邮箱", "发送邮件", "发邮件到xxx".</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/email-sender/SKILL.md</location>\n </skill>\n <skill>\n <name>frontend-design</name>\n <description>Create distinctive, production-grade frontend interfaces with high design quality. Use when building frontend, creating web components, designing pages, or implementing UI.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/frontend-design/SKILL.md</location>\n </skill>\n <skill>\n <name>image-gen</name>\n <description>生成图片。当用户想让 AI 生成图片、插画、海报、头像等图像内容时使用。读取生图供应商配置,调用 OpenAI 兼容的图片生成 API(支持 OpenAI、火山方舟、SiliconFlow 三种方言与参考图),把生成的图片保存到项目目录。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/image-gen/SKILL.md</location>\n </skill>\n <skill>\n <name>adapt</name>\n <description>(impeccable) 使设计适配不同的屏幕尺寸、设备、场景或平台,确保跨环境体验一致。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/adapt/SKILL.md</location>\n </skill>\n <skill>\n <name>audit</name>\n <description>(impeccable) 对界面质量进行全面审计,涵盖无障碍性、性能、主题化和响应式设计,生成包含严重等级和改进建议的详细报告。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/audit/SKILL.md</location>\n </skill>\n <skill>\n <name>extract</name>\n <description>(impeccable) 提取并整合可复用的组件、设计令牌和模式到设计系统中,识别系统性复用的机会并丰富组件库。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/extract/SKILL.md</location>\n </skill>\n <skill>\n <name>harden</name>\n <description>(impeccable) 通过改进错误处理、i18n 支持、文字溢出处理和边界情况管理,提升界面的健壮性,使界面达到可上线标准。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/harden/SKILL.md</location>\n </skill>\n <skill>\n <name>polish</name>\n <description>(impeccable) 上线前的最终质量检查,修正对齐、间距、一致性和细节问题,让"好"与"优秀"拉开差距。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/impeccable/polish/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-approval</name>\n <description>飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-approval/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-apps</name>\n <description>妙搭(Spark/Miaoda)应用开发与托管:应用创建、本地全栈开发、云端生成迭代、创意设计(UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索)、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协作者与协作权限设置、应用角色与成员管理、自动化触发器(定时/记录变更/Webhook/飞书审批)。当用户要开发/新建一个系统·工具·平台·应用,或要本地开发 / 云端开发 / 修改 / 部署 / 发布 / 上线 / 拿可分享链接,或用 HTML 做页面·网站·部署到妙搭,或要设计 / design / mockup / prototype / wireframe / 做 PPT / deck / 视觉探索,或提到妙搭/Spark/Miaoda(应用运行时域名形如 *.aiforce.cloud)、应用数据库、应用文件存储、开放 API Key、可见范围、应用协作者/开发权限、应用角色/角色成员、线上日志、接口请求量、错误量、延迟、访问量、环境变量、给妙搭应用配自动化任务/定时触发/审批通过后自动触发时使用。不负责普通云盘文件上传(lark-drive)、飞书文档编辑(lark-doc)、原生幻灯片创建(lark-slides)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-apps/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-attendance</name>\n <description>飞书考勤打卡:查询自己的考勤打卡记录</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-attendance/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-base</name>\n <description>飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-base/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-calendar</name>\n <description>飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting)、待办任务(走 lark-task)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-calendar/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-contact</name>\n <description>飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-contact/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-doc</name>\n <description>飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-doc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-drive</name>\n <description>飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-drive/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-event</name>\n <description>Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-event/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-im</name>\n <description>飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-im/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-mail</name>\n <description>飞书邮箱:Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等;use for mail/email intent only. Do not use for docs/sheets/calendar/auth setup/pure contact lookup/IM chat tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-mail/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-markdown</name>\n <description>飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-markdown/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-meeting</name>\n <description>飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-node-id 或妙记 URL 查询相关信息。预约会议、忙闲和会议室管理走 lark-calendar。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-meeting/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-minutes</name>\n <description>仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-minutes/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-note</name>\n <description>仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-note/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-okr</name>\n <description>飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-okr/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-openapi-explorer</name>\n <description>飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-openapi-explorer/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-shared</name>\n <description>Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-shared/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-sheets</name>\n <description>飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可视化、表格美化、公式计算(含 Excel 公式迁移)、金融/财务建模(DCF、三张表、预算、Sensitivity 等)等任务时使用。若用户是想按名称或关键词搜索云空间(云盘/云存储)里的表格文件,请改用 lark-drive 的 drive +search 先定位资源。当用户给出 doubao.com 的 /sheets/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-sheets/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-skill-maker</name>\n <description>创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-skill-maker/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-slides</name>\n <description>飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard)、上传或下载普通文件(走 lark-drive)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-slides/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-task</name>\n <description>飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-task/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc</name>\n <description>仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-vc/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-vc-agent</name>\n <description>仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-vc-agent/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-whiteboard</name>\n <description>飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-whiteboard/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-wiki</name>\n <description>飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:上传文件到知识库节点下(走 lark-drive)、编辑文档/表格/Base 内容(走 lark-doc / lark-sheets / lark-base)。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-wiki/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-meeting-summary</name>\n <description>会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-workflow-meeting-summary/SKILL.md</location>\n </skill>\n <skill>\n <name>lark-workflow-standup-report</name>\n <description>日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/lark-workflow-standup-report/SKILL.md</location>\n </skill>\n <skill>\n <name>milvus-skill</name>\n <description>Operate Milvus vector database with pymilvus Python SDK. Use when the user wants to connect to Milvus, create collections, insert vectors, perform similarity search, hybrid search, full-text search, manage indexes, partitions, databases, or RBAC via Python code.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/milvus-skill/SKILL.md</location>\n </skill>\n <skill>\n <name>owasp-security</name>\n <description>Implement secure coding practices following OWASP Top 10. Use when dealing with OWASP, security, XSS, SQL injection, CSRF, secure coding, or vulnerabilities.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/owasp-security/SKILL.md</location>\n </skill>\n <skill>\n <name>pideck-doctor</name>\n <description>排查 PiDeck 桌面应用的问题。当用户说「PiDeck 出问题了」「帮我诊断 PiDeck」「会话起不来」「pi 连不上」「应用报错」等时使用。引导用户在「问题反馈」页生成环境诊断报告并导出,读取诊断报告定位根因,结合故障模式库给出可执行的修复步骤。报告含脱敏后的环境信息、体检项、最近报错日志,不接触任何原始配置文件内容。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/pideck-doctor/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail</name>\n <description>Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", and whenever they complain about over-engineering, bloat, boilerplate, or unnecessary dependencies.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-audit</name>\n <description>Whole-repo audit for over-engineering. Like ponytail-review, but scans the entire codebase instead of a diff: a ranked list of what to delete, simplify, or replace with stdlib/native equivalents. Use when the user says "audit this codebase", "audit for over-engineering", "what can I delete from this repo", "find bloat", "ponytail-audit", or "/ponytail-audit". One-shot report, does not apply fixes.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-audit/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-debt</name>\n <description>Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into "later means never". Use when the user says "ponytail debt", "/ponytail-debt", "what did ponytail defer", "list the shortcuts", "ponytail ledger", or "what did we mark to do later". One-shot report, changes nothing.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-debt/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-help</name>\n <description>Quick-reference card for all ponytail modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /ponytail-help, "ponytail help", "what ponytail commands", "how do I use ponytail".\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-help/SKILL.md</location>\n </skill>\n <skill>\n <name>ponytail-review</name>\n <description>Code review focused exclusively on over-engineering. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the user says "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review", or invokes /ponytail-review. Complements correctness-focused review, this one only hunts complexity.\n</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/ponytail-review/SKILL.md</location>\n </skill>\n <skill>\n <name>session-learning</name>\n <description>Summarize conversation experiences and 沉淀 skills. Use when summarizing lessons learned, refining skills, reflecting on experience, or doing post-task reviews.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/session-learning/SKILL.md</location>\n </skill>\n <skill>\n <name>skill-creator</name>\n <description>Create, modify, and improve agent skills with performance measurement. Use when creating skills, editing skills, or optimizing skill performance.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/skill-creator/SKILL.md</location>\n </skill>\n <skill>\n <name>subagent-driven-development</name>\n <description>Execute plans by dispatching subagents for independent tasks. Use when executing implementation plans, dispatching subagents, or handling multiple tasks.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/subagent-driven-development/SKILL.md</location>\n </skill>\n <skill>\n <name>usage-probe</name>\n <description>为 aicode 的「用量查询」功能排查/扩展供应商支持。当用户想显示某个供应商的用量、余额或额度点数时,先判断是否已内置支持(内置无需配置);不在内置时引导用户使用「用量查询」弹窗里的通用模板 / New API 模板;两种模板都覆盖不了的接口,帮用户写出 usage-probes.json 的旧版探针数组。</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/usage-probe/SKILL.md</location>\n </skill>\n <skill>\n <name>using-superpowers</name>\n <description>Establish how to find and use skills in any conversation. Use when asking about capabilities, discovering skills, or learning what you can do.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/using-superpowers/SKILL.md</location>\n </skill>\n <skill>\n <name>verification-before-completion</name>\n <description>Verify work is complete before claiming success. Requires running verification commands. Use when claiming work is complete, before committing, before creating PRs, or verifying tests pass.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/verification-before-completion/SKILL.md</location>\n </skill>\n <skill>\n <name>writing-plans</name>\n <description>Write implementation plans from specs or requirements for multi-step tasks. Use when writing plans, making implementation plans, or planning development.</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/writing-plans/SKILL.md</location>\n </skill>\n <skill>\n <name>zread</name>\n <description>Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or "what does this repo do"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word "zread".</description>\n <location>/Users/jianjiang/.aicode-regression-39890-9676000/agent/skills/zread/SKILL.md</location>\n </skill>\n</available_skills>\n</skills>","cwd":"<cwd>\n/Users/jianjiang/icode/code-agent-cli\n</cwd>"},"timestamp":1791603327158,"toolsAdded":[{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp, bmp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"bash","description":"Execute a bash command in the current working directory. Returns stdout and stderr. Output is truncated to last 2000 lines or 50KB (whichever is hit first). If truncated, full output is saved to a temp file. Optionally provide a timeout in seconds.","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"timeout":{"type":"number","description":"Timeout in seconds (optional, no default timeout)"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"type":"object","required":["oldText","newText"],"properties":{"oldText":{"type":"string","description":"Exact text for one targeted replacement. It must be unique in the original file and must not overlap with any other edits[].oldText in the same call."},"newText":{"type":"string","description":"Replacement text for this targeted edit."}}},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}},"constrainedSampling":{"type":"json_schema","strict":"prefer"}}]},{"role":"user","content":[{"type":"text","text":"just say hi"}],"timestamp":1791603327157},{"role":"assistant","content":[{"type":"thinking","thinking":"The user just wants me to say hi. Simple request.","thinkingSignature":"dde7f16b722fc81801c187989d585917ea8e90fea242fc7c36c2f9c8fbee9986"},{"type":"text","text":"Hi! 👋 How can I help you today?"}],"api":"anthropic-messages","provider":"minimax-cn","model":"MiniMax-M3","usage":{"input":12383,"output":26,"cacheRead":128,"cacheWrite":0,"totalTokens":12537,"cost":{"input":0.0037148999999999997,"output":0.0000312,"cacheRead":0.00000768,"cacheWrite":0,"total":0.0037537799999999995},"cacheWrite1h":0,"reasoning":12},"stopReason":"stop","timestamp":1791603327226,"responseId":"0718e57f8b20ed01ed5014425f21dc5d","rawStopReason":"end_turn","durationMs":1550,"thinkingLevel":"high"}],"willRetry":false}
|
|
24
28
|
{"type":"agent_settled","aborted":false}
|