windmill-labs/windmill

ai-chat

Guidance for improving the Windmill AI chat (copilot), especially global mode — tools, prompts, and context-window discipline.

First seen Jun 30, 2026

Installation

$ npx skills add windmill-labs/windmill --skill ai-chat

Summary

  • 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.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from windmill-labs/windmill · top by installs.

npx skills add windmill-labs/windmill

Browse all from windmill-labs/windmill

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 17.8K
License LICENSE
Default branch main
Open issues 566
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,118 B
  • docs SUMMARY.md 316 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

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.

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.