ai-chat

GitHub

Windmill AI Chat(Copilot)的开发指南,规范系统提示词、工具描述及上下文窗口管理。要求修改前后进行A/B评估,优化token消耗,精简工具参数与返回值,确保提示词变更可度量。

.agents/skills/ai-chat/SKILL.md windmill-labs/windmill

Trigger Scenarios

编辑AI聊天工具或系统提示词 调整上下文窗口管理逻辑

Install

npx skills add windmill-labs/windmill --skill ai-chat -g -y
More Options

Non-standard path

npx skills add https://github.com/windmill-labs/windmill/tree/main/.agents/skills/ai-chat -g -y

Use without installing

npx skills use windmill-labs/windmill@ai-chat

指定 Agent (Claude Code)

npx skills add windmill-labs/windmill --skill ai-chat -a claude-code -g -y

安装 repo 全部 skill

npx skills add windmill-labs/windmill --all -g -y

预览 repo 内 skill

npx skills add windmill-labs/windmill --list

SKILL.md

Frontmatter
{
    "name": "ai-chat",
    "description": "Guidance for improving the Windmill AI chat (copilot), especially global mode — tools, prompts, and context-window discipline. Use when editing chat tools, system prompts, or tool-result shapes under frontend\/src\/lib\/components\/copilot\/chat, or when changing how the chat manages its context window."
}

Always benchmark before and after

No context or behavior change ships without an ai_evals A/B on the affected mode. Add or adjust cases for exactly what you changed — see the ai-evals skill for authoring and the full run reference.

Run the affected mode before your change and after, same model(s), same cases.

Where guidance goes

What the model should know about Windmill itself (flow shapes, groups, data tables, app access, secrets…) belongs in system_prompts/base/ or system_prompts/languages/, which also feed the CLI's skills — not in a */core.ts prompt builder, where only this chat would see it. The builders add tool plumbing and runtime values only. Scope a sentence to one consumer with <!-- chat-only --> / <!-- cli-only -->, keep chat tool names out of the shared files, and rerun python system_prompts/generate.py. system_prompts/README.md has the mechanics.

Measure the window first, and cumulative second

Optimize finalContextTokens (window occupancy — what drives overflow and compaction), then cumulative prompt tokens.

Context discipline

The dominant fixed cost is per-iteration overhead: the system prompt plus every tool schema is re-sent on every loop iteration. So:

  • Every tool and every parameter is a permanent tax. Justify each one and measure it; an extra "locate" round-trip can cost more than the reads it saves. Strip dead params rather than leaving them in the schema.
  • Tool results return the minimum. Never echo content the model already has. The canonical mistake: a write tool that returns the whole edited artifact right after the model authored it — return { success, message } instead. When you touch a shared write helper (e.g. finishAppDraftWrite in global/core.ts), re-check this invariant for all the write tools routing through it — the echo has regressed before via a shared refactor.

Prompts and tool descriptions are part of the surface

The system prompt and tool descriptions steer behavior as much as the tools themselves, and are benchmarkable the same way. A description that advertises truncation makes the model self-limit; the path-conventions block changes where drafts land. Treat prompt/description edits as real changes and A/B them — a pure-prompt change is a legitimate, measurable improvement.

Version History

  • a3a4fa5 Current 2026-10-20 04:55

    新增章节:明确系统提示词应存放于共享目录而非构建器中,支持CLI与Chat分离;强调Prompt和Tool描述作为表面层需纳入A/B测试范围。

  • 574775d 2026-08-20 17:31

Same Skill Collection

.agents/skills/adding-a-trigger/SKILL.md
.agents/skills/ai-evals/SKILL.md
.agents/skills/codebase-design/SKILL.md
.agents/skills/commit/SKILL.md
.agents/skills/domain-modeling/SKILL.md
.agents/skills/grilling/SKILL.md
.agents/skills/improve-codebase-architecture/SKILL.md
.agents/skills/local-review-codex/SKILL.md
.agents/skills/local-review/SKILL.md
.agents/skills/native-trigger/SKILL.md
.agents/skills/pr/SKILL.md
.agents/skills/refine/SKILL.md
.agents/skills/rust-backend/SKILL.md
.agents/skills/svelte-frontend/SKILL.md
.agents/skills/update-sqlx/SKILL.md
.claude/skills/adding-a-trigger/SKILL.md
.claude/skills/ai-chat/SKILL.md
.claude/skills/ai-evals/SKILL.md
.claude/skills/codebase-design/SKILL.md
.claude/skills/commit/SKILL.md
.claude/skills/domain-modeling/SKILL.md
.claude/skills/grilling/SKILL.md
.claude/skills/improve-codebase-architecture/SKILL.md
.claude/skills/local-review-codex/SKILL.md
.claude/skills/local-review/SKILL.md
.claude/skills/native-trigger/SKILL.md
.claude/skills/pr/SKILL.md
.claude/skills/refine/SKILL.md
.claude/skills/rust-backend/SKILL.md
.claude/skills/svelte-frontend/SKILL.md
.claude/skills/update-sqlx/SKILL.md
system_prompts/auto-generated/skills/cli-commands/SKILL.md
system_prompts/auto-generated/skills/datatables/SKILL.md
system_prompts/auto-generated/skills/preview/SKILL.md
system_prompts/auto-generated/skills/workspace-settings/SKILL.md
system_prompts/auto-generated/skills/write-pipeline/SKILL.md
system_prompts/auto-generated/skills/write-script-bun/SKILL.md
system_prompts/auto-generated/skills/write-script-bunnative/SKILL.md
system_prompts/auto-generated/skills/write-script-deno/SKILL.md
system_prompts/auto-generated/skills/write-workflow-as-code/SKILL.md
system_prompts/auto-generated/skills/raw-app/SKILL.md
system_prompts/auto-generated/skills/resources/SKILL.md
system_prompts/auto-generated/skills/schedules/SKILL.md
system_prompts/auto-generated/skills/triggers/SKILL.md
system_prompts/auto-generated/skills/write-flow/SKILL.md
system_prompts/auto-generated/skills/write-script-ansible/SKILL.md
system_prompts/auto-generated/skills/write-script-bash/SKILL.md
system_prompts/auto-generated/skills/write-script-bigquery/SKILL.md
system_prompts/auto-generated/skills/write-script-csharp/SKILL.md

Metadata

Files
0
Version
a3a4fa5
Hash
20f90e1a
Indexed
2026-08-20 17:31

홈 - 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-20 16:29
浙ICP备14020137号-1