You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Use when writing or reviewing model-facing language model tool descriptions.
3
+
applyTo: "src/vs/**/*Tool.ts,src/vs/**/*Tools.ts"
4
+
---
5
+
6
+
# Language model tool descriptions
7
+
8
+
Apply these rules only when adding or changing a model-facing tool description, such as `modelDescription`. They do not govern display names, user-facing messages, confirmation text, or routine schema property descriptions.
9
+
10
+
- Begin with a direct imperative statement of the tool's capability.
11
+
- When tool selection could be ambiguous, state the positive invocation criteria explicitly.
12
+
- Place exclusions for likely near-neighbor requests immediately after the positive criteria.
13
+
- Describe persistent, external, costly, or otherwise consequential side effects.
14
+
- State meaningful defaults, cross-field requirements, and prerequisite tool calls that are not obvious from the input schema.
15
+
- Put approval, cancellation, retry, repeat-call, and polling guidance last.
16
+
- Do not repeat the complete input schema in prose.
17
+
- Keep descriptions concise and scale their detail with the ambiguity and cost of incorrect selection.
18
+
- Preserve terminology and formatting conventions used by related tools.
19
+
- Reserve `MUST`, `ONLY`, `CRITICAL`, and direct "Do not" language for likely, consequential misuse.
20
+
21
+
When correctness depends on specific model-facing guidance, add a focused test for the required semantic clauses. Prefer checking a small set of meaningful phrases or conditions over snapshotting the entire description. Do not test routine descriptive prose.
0 commit comments