Kilo-Kit
Provides GitHub-grounded research and benchmarking, using popular repository patterns and standards to audit and validate solution trajectories.
Allows agents to store, retrieve, and reflect on persistent memory facts, decisions, reflections, and task trajectories in a local SQLite database for continuous self-improvement.
Kilo-Kit: Autonomous Cognitive Flow & Quality Engine for AI Coding Agents
Version: 1.9.1
Author: Kilo-Kit Team
License: Apache 2.0
Kilo-Kit is an agentic MCP runtime and curated 180-skill catalog designed to enforce grounded diagnosis, Tree-of-Thoughts architectural planning, adversarial red-teaming, 4D quality verification, and continuous SQLite self-improvement for AI coding assistants.
๐ง Core Architectural Pillars:
Division of Labor (Cortex vs Limbs): Kilo-Kit acts as the high-level cognitive brain (Tree of Thoughts, 5-Whys root cause analysis, adversarial stress-testing, context compaction) while host clients handle surgical I/O.
Kilo-Sentinel Supervisor & Circuit Breaker: Real-time middleware enforcing Pre-flight Grounding Locks (no editing unread files), loop tripwires (identical call and edit-thrashing detection), and SQLite trajectory logging (
katl_trajectories).Triangulated Cognitive Synthesis & Low-Confidence Escalation: Combines internal SQLite memory recall, GitHub 10k+ stars patterns, and ToT DAG benchmarking (
kilo_triangulate_research), with automatic subagent delegation when confidence < 0.70.Fuzzy Skill & Alias Resolver: Instant, resilient skill loading with support for aliases (
brainstorming,diagnose,playwright,clean-code,tdd,grounded-research-benchmark).4D Quality Assurance & Playwright E2E Gate: Validates Given-When-Then acceptance criteria, clean code interfaces, UI/UX aesthetics, and automated Playwright browser/DOM verification before work is marked complete.
๐๏ธ System Architecture & Division of Labor
Kilo-Kit enforces a strict architectural boundary between High-Level Cognitive Reasoning (Cortex) and Surgical I/O Execution (Limbs):
flowchart TD
Clients["๐ฅ๏ธ Host AI Clients<br/>(Claude Code / Antigravity / Cursor / Gemini CLI)"]
Sentinel["๐ก๏ธ Kilo-Sentinel Supervisor & Circuit Breaker<br/>(Pre-flight Grounding Lock โข Loop Tripwire โข Step Budget)"]
subgraph Cortex["๐ง Kilo-Kit Cognitive Cortex (MCP Runtime)"]
direction TB
C4["๐๏ธ C4 5-Gate Lifecycle Controller"]
Engines["โ๏ธ 6 Cognitive Engines<br/>(ToT DAG โข Adversarial Grill โข 5-Whys โข Grounded Synthesis)"]
Skills["๐ 180 Curated Skills Catalog"]
Limbs["๐ ๏ธ Safe Execution Limbs<br/>(Atomic Write โข AST Edit โข Security Filtered Exec)"]
C4 --> Engines
C4 --> Skills
C4 --> Limbs
end
DB[("๐พ SQLite Atomic Memory<br/>(cognitive_triangulations โข katl_trajectories โข facts)")]
Clients <-->|MCP Protocol / stdio| Sentinel
Sentinel <--> Cortex
Cortex <--> DBRelated MCP server: CornMCP
๐ C4 Cognitive Lifecycle & Low-Confidence Escalator
All agent tasks flow through a deterministic 5-Gate state machine. Unauthorized file mutations prior to Gate 3 approval are blocked at the server level:
flowchart LR
G1["<b>Gate 1: Grounded Probe</b><br/>โข Memory Recall<br/>โข Codebase Probe"]
G2["<b>Gate 2: Cognitive Reasoning</b><br/>โข 3-Option ToT DAG<br/>โข Adversarial Grill<br/>โข Low-Confidence Escalator"]
G3["<b>Gate 3: Approval</b><br/>โข Plan Locked<br/>โข Skills Injected"]
G4["<b>Gate 4: Execution</b><br/>โข Defense-in-Depth<br/>โข Sentinel Guarded"]
G5["<b>Gate 5: 4D QA</b><br/>โข Playwright E2E<br/>โข SQLite Reflection"]
G1 --> G2
G2 -->|Confidence >= 0.70| G3
G2 -.->|Confidence < 0.70<br/>Escalation| Subagent["๐ฌ Research Subagent<br/>(GitHub & Docs Sandbox)"]
Subagent -.-> G2
G3 --> G4
G4 --> G5
G4 -.->|3x Loop Detected| Breaker["๐ Circuit Breaker<br/>(Supervised Reset)"]
Breaker -.-> G1๐ก๏ธ Protocol-Level Hard-Gate Enforcement
Traditional prompt rules (.cursorrules, CLAUDE.md) suffer from prompt drift. Kilo-Kit enforces safety via JSON-RPC Interceptor Middleware:
flowchart TD
Req["๐ค User Prompt"] --> Agent["๐ค Host AI Agent"]
Agent -->|1. Unauthorized Edit Attempt| GateCheck{"๐ก๏ธ Kilo-Sentinel<br/>Pre-Flight Lock"}
GateCheck -->|โ Uninitialized / Unread File| Blocked["๐ 403 Hard-Gate Blocked<br/>(Forces Planning First)"]
Blocked --> Plan["๐ง Gate 1 & 2: C4 Planning<br/>(kilo_orchestrate_task + kilo_triangulate_research)"]
Plan --> SaveDB[("๐พ Commit CoT to SQLite")]
SaveDB --> Approval["๐ค User Approves Plan"]
Approval -->|2. Authorized Execution| GateCheck
GateCheck -->|โ
State = READY| Exec["๐ Gate 4: Safe Execution<br/>(kilo_write_file / kilo_edit_file)"]
Exec --> Verify["โ
Gate 5: 4D Verification & SQLite Reflection"]๐งฐ The 24 All-in-One MCP Tools Suite
Kilo-Kit provides a complete, self-contained execution and cognitive runtime:
Category | Tool | Description |
Gating & Orchestration |
| C4 closed-loop gate. Enforces brainstorming and cognitive steps before code mutation. |
| Routes intent to best workflow chains, task modes, and rules. | |
| Loads curated | |
| High-precision semantic and keyword search across 180 skills. | |
| Inspects persistent SQLite decisions, facts, and sessions. | |
| Pins immutable operational rules and architectural decisions into SQLite | |
| Self-Improvement: Persists reflections, correct/wrong paths, and lessons to SQLite. | |
| Reports route telemetry, top skills, workflows, scores, and conflict penalties. | |
| Validates entire skill catalog against the quality gate. | |
Cognitive Reasoning |
| Grounded Synthesis & Low-Confidence Escalator: Combines SQLite memory + GitHub grounding + 3-option ToT DAG, atomically commits reasoning to SQLite, and triggers research escalation when confidence < 0.70. |
| Tree of Thoughts DAG: Step-by-step reasoning, 3-option trade-off matrix & hypothesis branching. | |
| Adversarial Red-Teaming: Inversion, simplification, mobile touch & concurrency stress testing. | |
| 5-Whys Diagnostic Engine: Recursive causal back-propagation with regression test scaffolding. | |
| Cognitive Compactor: 40-70% token savings while locking invariants. | |
| Self-Evolution: Distills solved patterns into reusable skills. | |
Sentinel & Supervision |
| Supervisor Telemetry: Inspects circuit breaker state, step budget, and grounded files list. |
| Supervised Reset: Resets tripped circuit breaker with root-cause justification. | |
| Industry Benchmark: Audits trajectory against GitHub standards and triggers re-planning. | |
Safe Execution Suite |
| Line slicing, size capping, and repository boundary enforcement. |
| Glob pattern search across directory trees. | |
| Line-by-line regex and substring search. | |
| Atomic write with Protocol Hard-Gate, clean-code smell audit, and secret detection. | |
| Targeted search-and-replace with JSON syntax & bracket balancing audit. | |
| Defense-in-depth terminal execution with security guardrails & command injection filtering. |
๐ 180 Curated Skills Catalog Taxonomy
Skills are organized into 6 functional modules with instant alias mapping:
skills/
โโโ ๐๏ธ engineering/ (39 skills)
โ โโโ backend-development, codebase-design, api-patterns, database-design
โ โโโ nextjs-best-practices, react-patterns, tailwind-patterns, aspnet-core, better-auth
โโโ ๐งฉ problem-solving/ (24 skills)
โ โโโ sequential-thinking, root-cause-tracing, systematic-debugging
โ โโโ collision-zone-thinking, scale-game, simplification-cascades, inversion-exercise
โโโ ๐ productivity/ (33 skills)
โ โโโ brainstorming, spec-driven-development, tdd-workflow, code-review
โ โโโ grounded-research-benchmark, verification-before-completion, grill-me, subagent-driven-development
โโโ ๐ค agent-frameworks/ (26 skills)
โ โโโ workflow-state-machines, agent-memory, agentic-rag, multi-agent-orchestration
โ โโโ mcp-agent-patterns, code-agent-patterns, context-optimization
โโโ ๐ก๏ธ security/ (22 skills)
โ โโโ ai-guardrails, red-team-tactics, security-best-practices, vulnerability-scanner
โโโ โ๏ธ devops-cloud/ (36 skills)
โโโ devops, server-management, chrome-devtools, performance-profiling, render-deployFuzzy Alias Resolution: Calling kilo_get_skill("brainstorming") automatically loads productivity/brainstorming/SKILL.md.
โก Quick Start
1. Fast Setup (Recommended)
Install globally and automatically configure all detected AI clients (Cursor, Claude, Windsurf, Antigravity, Gemini):
npm install -g @vodailocz/kilo-kit-mcp
kilo-kit-init globalVerify system health:
kilo-kit-doctor2. Zero-Install NPX (IDE Direct Integration)
Add Kilo-Kit directly to your client's MCP configuration without installing globally:
{
"mcpServers": {
"kilo-kit": {
"command": "npx",
"args": ["-y", "@vodailocz/kilo-kit-mcp"]
}
}
}Supported in Cursor (.cursor/mcp.json), Claude Desktop (claude_desktop_config.json), Windsurf, and Antigravity / Gemini CLI.
3. Team Repository Rollout
Bootstrap the Kilo-Kit C4 Cognitive Protocol into your project repository (CLAUDE.md, AGENTS.md, GEMINI.md):
kilo-kit-init init --client all
git add CLAUDE.md AGENTS.md GEMINI.md
git commit -m "chore: configure Kilo-Kit C4 protocol"Or use the global git alias: git kilo-init
๐ Empirical Verification & Quality Benchmarks
Metric | Without Kilo-Kit (Vanilla Agent) | With Kilo-Kit v1.9.1 | Verification Mechanism |
Silent Chained Tool Calls | 65% on fast models (empty text outputs) | 0% (100% Enforced) | Triple-Lock Schema + Sentinel Interceptor |
Ungrounded Code Mutations | 42% of sessions (modifying unread files) | 0% (100% Blocked) | Server-side Pre-flight Grounding Lock |
Context Window Longevity | Degrades at >30k tokens | Sustained >150k tokens |
|
Silent Regression Rate | 28% of PRs | < 2% | 4D QA (Playwright + Given-When-Then criteria) |
Tool Thrashing / Infinite Loops | Common on complex bugs | Terminated โค 3 loops | Kilo-Sentinel Loop & Thrashing Tripwire |
Self-Healing & Reasoning Recall | Zero across sessions | 100% SQLite Persistence |
|
๐ Documentation Directory Index
For detailed specifications, protocol definitions, and developer guides, explore the docs/ directory:
๐๏ธ Architecture Overview - System topology, Cortex vs Limbs, and Memory schema.
๐ C4 Protocol Specification - 5-Gate lifecycle state transitions and invariant rules.
๐งฐ MCP Tooling Reference - JSON schemas, error codes, and tool calling examples.
๐ Skills Taxonomy & Authoring - Skill catalog guidelines and authoring standard.
๐ Benchmarks & Methodology - Token reduction experiments and SWE-bench alignment.
๐ก๏ธ Security & Guardrails - Circuit breaker, input sanitization, and blast-radius control.
๐งช Development, Testing & Verification
# Clone repository
git clone https://github.com/VoDaiLocz/KILO-KIT.git
cd KILO-KIT
npm install
# Run unit test suites (15/15 test files, 68/68 tests passing)
npm test
# Run full health diagnostics
npm run doctor
# Validate 100% of 180 skills against structural quality gates
node src/tools/validate-skill.js --all skills๐ License
Distributed under the Apache 2.0 License. See LICENSE for more details.
Available Tools
24 toolskilo_benchmark_solutionBenchmark Solution Against Industry & GitHubBRead-only
Audit the current session trajectory against open-source GitHub standards and industry best practices. Returns alignment score or triggers re-planning.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| sessionId | Yes | Active Kilo-Kit session ID | |
| proposedApproach | Yes | The approach, architecture, or code produced in this session | |
| decision_narration | No | MANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability. | |
| industryBestPractice | Yes | Standard pattern, library, or algorithm used by top GitHub repos | |
| next_action_narration | No | MANDATORY: State what this tool will execute and what immediate action follows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=false. The description adds one behavioral detail beyond that: the tool may 'trigger re-planning,' which is a side effect worth knowing. It does not explain what triggers re-planning or how the alignment score is computed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and scope. No filler, though it is terse to the point of omitting usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description's mention of an 'alignment score' is the only clue about return values, and the re-planning trigger is left unexplained. For an audit tool with six parameters, this is minimally adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents sessionId, proposedApproach, industryBestPractice, and the two narration params. The description adds no parameter-level meaning (e.g., expected format of industryBestPractice), so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Audit the current session trajectory against open-source GitHub standards and industry best practices.' An agent can tell it apart from siblings like kilo_grill_plan or kilo_validate_skills, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use, prerequisites, or alternatives are given. 'Returns alignment score or triggers re-planning' hints at the outcome but does not tell the agent when this tool is preferred over kilo_grill_plan or kilo_trace_root_cause.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_compact_contextCognitive Context CompactorARead-onlyIdempotent
Compacts verbose logs, test dumps, and noisy output by 40-70% while preserving architectural invariants.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| content | Yes | Verbose content to compact | |
| sessionId | No | Active session ID to register context compaction | |
| targetReduction | No | Compaction aggressiveness | |
| preserveInvariants | No | Key invariant rules or phrases to lock |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds meaningful behavioral traits beyond annotations: the 40-70% reduction magnitude and invariant preservation. It omits session registration side effects and the mechanics of preserveInvariants/targetReduction, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and zero wasted words. Efficient and immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema, the description carries the burden of describing the return value and the role of sessionId, format, and targetReduction levels. None of this is addressed, so an agent cannot know what the tool returns or how session registration behaves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the baseline is 3. The description alludes to invariants and reduction (loosely mapping to preserveInvariants and targetReduction) but adds no syntax or semantics for format, sessionId, or how the preservation list is applied. It does not meaningfully compensate beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Compacts') and resource (verbose logs, test dumps, noisy output) and even quantifies the effect (40-70%). It is clearly the only compaction tool among siblings like kilo_remember_fact and kilo_grep_code, though it does not explicitly name a sibling it differs from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by naming the input types (verbose logs, test dumps, noisy output), so an agent can infer when it applies. However, there is no explicit when-to-use vs alternatives guidance and no exclusions or prerequisites (e.g., session requirements).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_edit_fileEdit File (Kilo-Kit Hard-Gated)ADestructive
Perform exact targeted search-and-replace edit on an existing file with AST check. PROTOCOL HARD-GATE: Requires valid sessionId in 'ready' state.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Alias for filePath | |
| path | No | Alias for filePath | |
| format | No | markdown | |
| filePath | No | Relative or absolute path to file | |
| sessionId | Yes | Active Kilo-Kit session ID (must be in ready state) | |
| allowMultiple | No | Allow multiple replacements | |
| targetContent | Yes | Exact content substring to replace | |
| decision_narration | No | MANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability. | |
| replacementContent | Yes | Replacement content | |
| next_action_narration | No | MANDATORY: State what this tool will execute and what immediate action follows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false, so the description's job is lighter. It adds valuable context by disclosing the AST-check behavior and a hard-gate protocol requirement that isn't captured by annotations, which helps an agent understand preconditions and verification.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly focused sentences with no filler, and the critical gate condition is front-loaded in capitals. It is appropriately sized for a simple edit tool, though the all-caps gate phrasing is slightly stylized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description need not explain return values. It covers the core operation, the AST check, and the session gate, which is sufficient for a 10-parameter but structurally simple tool. Minor gaps around replacement failure behavior remain but are not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 90%, so the schema already documents most parameters (targetContent, replacementContent, sessionId, aliases, narration fields). The description does not add parameter-level detail beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource ('exact targeted search-and-replace edit on an existing file') plus the AST verification mechanism. This clearly distinguishes it from siblings like kilo_write_file (whole-file writes) and kilo_read_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The hard-gate condition (valid sessionId in 'ready' state) implies when the tool can be used, but there is no explicit guidance on when to prefer this edit tool over kilo_write_file or other editing alternatives. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_get_skillLoad Kilo-Kit SkillBRead-onlyIdempotent
Load a Kilo-Kit skill by name or category/skill. Supports fuzzy aliases (e.g. 'brainstorming', 'diagnose', 'playwright', 'tdd', 'productivity/brainstorming').
| Name | Required | Description | Default |
|---|---|---|---|
| skill | Yes | Skill name or identifier (e.g. 'brainstorming', 'diagnose', 'playwright', 'productivity/brainstorming'). | |
| format | No | markdown | |
| category | No | Optional skill category, for example engineering or productivity. | |
| maxChars | No | Maximum SKILL.md characters to return. | |
| sessionId | No | Active session ID to register skill delivery |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the burden is lighter. The description adds one useful behavioral trait, fuzzy alias matching, but omits the sessionId side effect of registering skill delivery and does not say what happens when a skill name does not resolve. Adequate with annotations, but thin on the delivery mechanics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and the alias capability immediately after; nothing is padded. The parenthetical alias list is somewhat redundant with the schema examples for the skill parameter, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema, the description should say more about what comes back. It never mentions the markdown/json format choice, whether output is truncated by maxChars, or the failure mode for an unknown skill, so an agent cannot predict the response shape from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already documents skill, category, maxChars, and sessionId. The description's alias examples duplicate the examples already present in the skill parameter's schema description, and it says nothing about the format enum or maxChars truncation behavior. Baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Load a Kilo-Kit skill') with the retrieval keys ('by name or category/skill'), so the agent knows exactly what the tool returns a skill, not metadata about one. It stops short of explicitly distinguishing itself from the sibling kilo_search_skills, leaving the retrieval-vs-discovery boundary to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives alias examples but no when-to-use guidance: it never says when to load a skill directly versus searching first with kilo_search_skills, nor whether a search is a prerequisite when the exact name is unknown. There are no exclusions or preconditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_grep_codeGrep Code (Kilo-Kit)BRead-onlyIdempotent
Search code snippets and matching lines across workspace files.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search string or regex pattern | |
| format | No | markdown | |
| search | No | Alias for query | |
| isRegex | No | Whether query is regex | |
| pattern | No | Alias for query | |
| rootDir | No | Subdirectory or workspace path to limit search | |
| sessionId | No | Active session ID from kilo_orchestrate_task. | |
| maxResults | No | Max matches to return | |
| caseSensitive | No | Case-sensitive match |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered by structured data. The description adds only a modest amount of context, conveying that results are line-level matches across the workspace, but says nothing about result caps, truncation, or the interaction with session state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no redundancy or filler. It is arguably too terse for a 9-parameter tool, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters, zero required fields, three interchangeable aliases, a format switch, an undocumented sessionId dependency, and no output schema, the description is far too thin. An agent is left unsure which alias to use, whether a query is effectively mandatory, or how sessionId affects the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 89%, so the schema already documents nearly every parameter, including the three aliases query/search/pattern. The description adds no extra parameter meaning (no regex syntax, no scope semantics for rootDir), so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (search) and resource (code snippets / matching lines across workspace files), so the agent knows this is a content search rather than a filename search. However, it does not explicitly contrast itself with the sibling kilo_search_files, leaving the distinction between the two to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no mention of alternatives such as kilo_search_files or kilo_read_file. The agent must guess whether to grep content directly or first locate files by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_grill_planRed-Team Plan GrillingCRead-onlyIdempotent
Automated adversarial stress-testing against Inversion, Simplification Cascades, Blast Radius, and Edge-cases.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | The proposed architecture, implementation plan, or bugfix strategy | |
| depth | No | Grilling depth | |
| label | No | REQUIRED for observability: Describe WHAT plan you are grilling, e.g. 'Phแบฃn biแปn phฦฐฦกng รกn IndexedDB + Dexie cho Bookmark feature'. Displayed in terminal so users monitor agent reasoning. | |
| format | No | markdown | |
| context | No | Relevant file paths, tech stack, or system constraints | |
| sessionId | No | Active session ID to register cognitive gate satisfaction | |
| decision_narration | No | MANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability. | |
| next_action_narration | No | MANDATORY: State what this tool will execute and what immediate action follows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds that the analysis is automated and framed around four specific adversarial lenses, which is genuine behavioral context, but it omits whether this registers a cognitive gate, how the sessionId interacts, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the key concept front-loaded and no padding. It is compact, though the density of unexplained proper-noun lenses makes the concision partly cosmetic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with only one required field and no output schema, the description is thin: it does not explain the return shape, the effect of depth levels, or how sessionId/decision_narration integrate with the broader workflow. Annotations and the rich schema cover safety and inputs, so the gaps are moderate rather than severe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the schema already documents plan, depth, label, context, sessionId and the narration fields. The description adds nothing about any parameter โ notably the depth enum and the mandatory narration/label requirements are left entirely to the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb phrase 'adversarial stress-testing' plus the named lenses (Inversion, Simplification Cascades, Blast Radius, Edge-cases) gestures at red-teaming a plan, but the description never explicitly states that the input is a plan or what the output is. No sibling is named or contrasted, and the four lenses are unexplained jargon an agent cannot act on directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus e.g. kilo_trace_root_cause, kilo_benchmark_solution, or kilo_think_step, nor any exclusion or prerequisite. The 'depth' param (quick/deep/hardcore) implies graduated use but the description never routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_memory_reportKilo-Kit C4 Memory ReportBRead-onlyIdempotent
Read global C4 memory facts, decisions, and recent suggestions.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description usefully says what is read (facts, decisions, suggestions) and that scope is global, but says nothing about size limits, pagination, or recency windows for 'recent suggestions'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no waste. It is appropriately sized but arguably too sparse for the tool's scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple idempotent read tool with one optional parameter and no output schema, the description covers the high-level content reasonably. However it omits the format parameter entirely and gives no sense of the return shape (facts vs decisions vs suggestions structure).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is one optional parameter (format, enum markdown/json, default markdown). The description never mentions the output format option, so it does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (Read) and a specific resource (global C4 memory facts, decisions, recent suggestions). It distinguishes itself reasonably from the sibling kilo_remember_fact (which writes), though it doesn't explicitly name that split.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus siblings like kilo_search_skills, kilo_record_reflection, or kilo_compact_context. The agent must infer usage purely from the resource named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_orchestrate_taskKilo-Kit C4 Orchestrate TaskARead-only
MANDATORY: Call this tool FIRST before diagnosing, debugging, analyzing, creating, or modifying any code, UI, backend, or project files. Determines task mode, selects required workflow skills, enforces brainstorming gating, and orchestrates the execution flow.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | Alias for message. | |
| format | No | markdown | |
| prompt | No | Alias for message. | |
| answers | No | ||
| context | No | ||
| message | No | Current user request or task summary. | |
| sessionId | No | ||
| decision_narration | No | MANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability. | |
| memoryConfirmations | No | ||
| brainstormingApproved | No | ||
| next_action_narration | No | MANDATORY: State what this tool will execute and what immediate action follows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so safety is already covered. The description adds genuinely useful behavior (mode determination, skill selection, brainstorming gating) but never clarifies what the tool returns, that it persists session state (idempotentHint=false with a sessionId param implies this), or what happens when gating blocks execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the MANDATORY directive, and the capability list is packed into a single clause with no filler. Slightly dense but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter orchestrator with a nested context object, optional-but-load-bearing flags, no output schema, and 45% schema coverage, the description leaves too much unexplained. An agent cannot tell from this text how to populate brainstormingApproved/answers or what the orchestration step returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Coverage is only 45% across 11 parameters with a nested context object, and the description contributes zero parameter meaning. Key inputs like brainstormingApproved, memoryConfirmations, sessionId and the mode/files/previousErrors context sub-fields get no explanation in either place, so the agent must guess at gating semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('orchestrate task') plus the concrete outputs it produces: determines task mode, selects workflow skills, enforces brainstorming gating. The mandatory-first framing makes it trivially distinguishable from siblings like kilo_route_intent or kilo_think_step, which do narrower routing/thinking work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit about when to use it: 'Call this tool FIRST before diagnosing, debugging, analyzing, creating, or modifying any code, UI, backend, or project files.' That is a clear gating condition with enumerated trigger situations. It stops short of naming when NOT to call it or which sibling takes over for already-routed follow-up work.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_read_fileRead File (Kilo-Kit Safe Workspace I/O)BRead-onlyIdempotent
Read file content safely across workspace boundaries (supports line ranges and byte capping up to 512KB).
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Alias for filePath | |
| path | No | Alias for filePath | |
| format | No | markdown | |
| endLine | No | Ending line number (1-indexed) | |
| filePath | No | Path to file (supports relative path, absolute path, and '~') | |
| maxBytes | No | Max bytes to return (default: 512KB) | |
| sessionId | No | Active session ID from kilo_orchestrate_task. | |
| startLine | No | Starting line number (1-indexed) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful detail beyond annotations (line-range support, 512KB byte cap, workspace-boundary safety), but does not clarify what 'safely across workspace boundaries' enforces or how it behaves on missing/oversized files.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the core action and appends the key constraints. Nothing is wasted, though the parenthetical could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety and 88% schema coverage plus no output schema, the description is mostly adequate. However, with 8 parameters including three overlapping path aliases and a sessionId, the description leaves the alias/selection ambiguity and error behavior unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (88%), so the schema already documents parameters well. The description echoes line ranges (startLine/endLine) and byte capping (maxBytes) but adds no format or default details beyond the schema, and importantly does not clarify the file/path/filePath alias ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (file content) with scope qualifier ('across workspace boundaries'). It is clear what the tool does, though it does not explicitly distinguish itself from siblings like kilo_search_files or kilo_grep_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no articulation of when to prefer this over kilo_search_files, kilo_grep_code, or the write/edit siblings, and no mention of prerequisites such as sessionId requirements. Usage is only vaguely implied by the word 'Read'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_record_reflectionRecord Learning Reflection & Self-ImprovementB
Record correct approaches, wrong paths/pitfalls encountered, skill ratings, and lessons learned into SQLite to drive Kilo-Kit's continuous self-improvement across sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| taskMode | Yes | Task mode (e.g. 'bug', 'architecture', 'ui', 'feature-build'). | |
| sessionId | No | Optional session ID. | |
| taskSummary | Yes | Summary of the problem solved. | |
| lessonsLearned | Yes | Key invariant or takeaway for future tasks. | |
| correctApproach | Yes | The successful strategy, fix, or architectural pattern used. | |
| skillsEvaluated | No | Ratings and feedback for specific skills used. | |
| wrongPathsEncountered | Yes | Mistakes, wrong assumptions, or pitfalls encountered. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the write profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the description only needs to add context. It adds that records go into SQLite and persist across sessions, but does not address what happens on duplicate reflection submissions, whether entries are ever expired/overwritten, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and no filler. It is dense with the recordable content types, though it could be split to surface usage guidance more prominently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, 5-required write tool with no output schema, the description identifies the main payload categories and the persistence target, which roughly matches the schema. It falls short on the two things the schema cannot convey: when this tool should be chosen over kilo_remember_fact and what a successful record produces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 88% schema description coverage, the schema already documents nearly every field (taskMode, taskSummary, correctApproach, lessonsLearned, skillsEvaluated). The description merely enumerates the same content categories and adds no format, syntax, or boundary guidance, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Record' with a clear resource set (correct approaches, wrong paths/pitfalls, skill ratings, lessons learned) and a stated destination and motivation ('into SQLite to drive Kilo-Kit's continuous self-improvement across sessions'). An agent can tell what it does, but the description never distinguishes it from siblings like kilo_remember_fact or kilo_synthesize_skill, which also persist learning artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the framing: 'across sessions' and 'continuous self-improvement' suggest calling it after completing a task. There is no explicit when-to-use trigger, no when-not, and critically no routing away from kilo_remember_fact, which appears to overlap in storing durable knowledge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_remember_factRemember Architecture & Policy FactAIdempotent
Explicitly persist a project operating rule, workflow default, or verification standard into SQLite memory_facts for cross-session enforcement.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Unique fact identifier, e.g. 'preference:testing:vitest' or 'rule:architecture:dexie'. | |
| kind | Yes | Fact classification kind. | |
| value | Yes | Fact payload data, e.g. { commands: ['npm test'] } or { library: 'dexie' }. | |
| format | No | markdown | |
| source | No | Source of fact (e.g. 'user-instruction', 'architecture-decision'). | |
| confidence | No | Confidence score between 0.0 and 1.0 (default 1.0). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds context that facts persist 'into SQLite memory_facts' and are used for 'cross-session enforcement,' which is useful. However, it doesn't disclose overwrite behavior for existing keys, upsert mechanics, or any rate/permission concernsโgaps that matter for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It efficiently communicates purpose, storage location, and persistence scope without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 6 parameters (3 required), nested objects, and no output schema, the description is adequate but thin. It doesn't explain the fact lifecycle (e.g., does re-persisting the same key replace or merge?), nor the relationship to sibling memory tools, leaving some ambiguity for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the schema already documents most parameters well, including examples for key, kind, value, and confidence. The description doesn't add parameter-level detail beyond what the schema provides. Baseline 3 is appropriate when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('persist a project operating rule, workflow default, or verification standard') and names the storage target ('SQLite memory_facts') along with the effect ('cross-session enforcement'). This is clearly distinguishable from siblings like kilo_record_reflection or kilo_memory_report, though it doesn't explicitly name how it differs from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through 'Explicitly persist' and 'cross-session enforcement,' suggesting this is for durable facts. However, it offers no explicit when-to-use vs when-not guidance, no mention of alternatives (e.g., why not kilo_record_reflection), and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_reset_circuit_breakerReset Circuit Breaker (Supervised)ADestructive
Reset an open Circuit Breaker with justification and root-cause evidence. Transitions breaker to HALF_OPEN.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| sessionId | Yes | Active Kilo-Kit session ID | |
| justification | Yes | Detailed justification and root cause explanation for reset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false, so the agent knows this mutates state. The description adds the meaningful target state (HALF_OPEN), which is not derivable from annotations or schema. However, it does not describe consequences of a bad reset, permission/supervision requirements, or what happens after HALF_OPEN.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no filler, with the action and its outcome front-loaded. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description supplies the resulting state so the agent knows what the call produces. For a 3-param mutation tool the coverage is nearly sufficient, with only post-reset behavior and supervision requirements left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the two required parameters are documented in the schema. The description echoes the 'justification' and 'root-cause evidence' requirement but adds no format, syntax, or length guidance beyond the schema's minLength=10 and never mentions sessionId or format. Baseline 3 for partially covered params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (reset) plus resource (open Circuit Breaker) and an explicit resulting state (HALF_OPEN). It distinguishes itself from siblings like kilo_sentinel_status or kilo_trace_root_cause without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the trigger condition ('an open Circuit Breaker') and that evidence is required, but never states when not to use it, what prerequisites must hold, or which sibling to consult first. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_route_intentRoute Current Intent to SkillsBRead-onlyIdempotent
Recommend the best Kilo-Kit skills for any user request, bug fix, feature, UI task, or coding issue. Call before selecting or executing a workflow skill.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| format | No | markdown | |
| context | No | ||
| message | Yes | Current user request or task summary. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile needs no restating. The description adds the sequencing behavior (call before workflow selection), which is genuinely useful, but says nothing about the shape of the recommendation, whether it is cached/deterministic, or what the caller receives back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, front-loaded with the core action and followed by the calling condition. Efficient, though the second sentence could be folded in without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries some burden for explaining returns, and it only implies a ranked skill recommendation without detail. Combined with three undocumented parameters and a nested object, the definition is adequate but leaves real gaps for an agent invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% and there are 4 parameters including a nested context object. The description implies the request text goes into the message parameter but never explains limit, format, or any of the context sub-fields (mode, files, previousErrors), so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Recommend) and resource (Kilo-Kit skills), plus enumerates the triggering inputs (bug fix, feature, UI task, coding issue). It is clear what the tool produces, though it never names or contrasts itself with the close sibling kilo_search_skills, so the distinction for an agent is inferential.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit timing guidance: 'Call before selecting or executing a workflow skill,' which is strong sequencing context. It does not, however, mention when NOT to call it or name an alternative (e.g., kilo_search_skills for direct lookup), so the routing decision against siblings is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_route_reportKilo-Kit Route ReportBRead-onlyIdempotent
Summarize route telemetry: top skills, task modes, workflow chains, score averages, and conflict penalties.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds only the list of aggregated metrics and says nothing about whether telemetry must exist first, how stale the data is, or whether the summary is scoped to a session or the whole history.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that names the action first and then the payload contents. No filler, no restatement of the tool name, nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only aggregation report with no output schema, the description's enumeration of what gets summarized is sufficient for an agent to decide whether to call it. Missing only marginal context such as the scope/period of the telemetry being summarized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the sole parameter is a self-documenting format enum (markdown|json) with a default. The description never mentions the format option, so it adds nothing beyond the schema; a baseline 3 is appropriate given how trivial the parameter is.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Summarize) and resource (route telemetry), and enumerates the report contents: top skills, task modes, workflow chains, score averages, conflict penalties. It is distinguishable from kilo_memory_report by the 'route' domain, though the description never names that sibling explicitly to reinforce the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this report versus kilo_memory_report, kilo_sentinel_status, or the other reporting/telemetry siblings. The agent must infer that this is the post-routing analytics view from the word 'route' alone; there are no triggers, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_run_commandRun Command (Kilo-Kit Hard-Gated)ADestructive
MANDATORY: Execute a terminal command with security guardrails and timeout. Use this INSTEAD OF native Bash/terminal tools. PROTOCOL HARD-GATE: Requires valid sessionId in 'ready' state.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory relative to repoRoot | |
| format | No | markdown | |
| command | Yes | Terminal command to run | |
| sessionId | Yes | Active Kilo-Kit session ID (must be in ready state) | |
| timeoutMs | No | Timeout in milliseconds | |
| decision_narration | No | MANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability. | |
| next_action_narration | No | MANDATORY: State what this tool will execute and what immediate action follows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is known. The description adds meaningful context beyond that: a session hard-gate, security guardrails, and a timeout. It does not explain what the guardrails block or the failure/return format, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly-packed sentences with the mandatory execution action front-loaded and the gating requirement last. Efficient, though the heavy capitalization adds noise rather than substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter destructive command tool with no output schema, the description covers the key gating and safety framing. Return format and guardrail behavior are left implicit, but the annotations and schema fill most remaining gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so parameters like cwd, timeoutMs, and the narration fields are already documented in the schema. The description adds no parameter-level detail, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Execute a terminal command') and immediately routes the agent away from alternatives ('Use this INSTEAD OF native Bash/terminal tools'). An agent can identify this as the sanctioned command-execution path without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use directive (prefer over native Bash/terminal) and a hard precondition ('Requires valid sessionId in ready state'). Lacks explicit when-not conditions or failure guidance, but the routing context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_search_filesSearch Files (Kilo-Kit)BRead-onlyIdempotent
Search for files matching a pattern, substring, or glob across the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| glob | No | Alias for pattern | |
| query | No | Alias for pattern | |
| format | No | markdown | |
| pattern | No | Glob pattern or file search substring (e.g. '*.ts', '**/*.json', 'story') | |
| rootDir | No | Subdirectory or workspace path to limit search | |
| sessionId | No | Active session ID from kilo_orchestrate_task. | |
| maxResults | No | Maximum file matches |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds only that the search spans the workspace, which is modest additional scope context, but it does not disclose rate limits, return behavior, or other operational traits beyond what annotations already cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no redundant wording. The core action is front-loaded and easily scanned, earning its place fully.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, non-destructive search tool with 86% schema coverage and no output schema, the description is minimally adequate. However, it omits usage routing against siblings, does not mention the format parameterโs output implications, and gives no guidance on sessionId or search scope beyond 'workspace'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema itself documents nearly all parameters well. The description adds the idea of pattern/substring/glob matching, which is already captured in the schema, but does not explain aliases like glob/query or sessionId, so it neither helps nor harms much beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: search for files by pattern, substring, or glob. It is clear what the tool does but does not distinguish itself from sibling search tools such as kilo_grep_code, leaving the agent to infer that this searches file paths/names rather than file contents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, no when-not-to-use guidance, and no alternatives. It does not mention when to prefer kilo_search_files over kilo_grep_code or kilo_search_skills, so the agent gets only an implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_search_skillsSearch Kilo-Kit SkillsARead-onlyIdempotent
Search the Kilo-Kit skill library by natural-language query. Use this for broad discovery before loading a specific skill.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of skills to return. | |
| query | Yes | Natural-language task or keyword query. | |
| format | No | markdown | |
| category | No | Optional category such as engineering or design. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only a workflow positioning ('before loading a specific skill') and says nothing about result shape, ranking, or pagination behavior beyond the schema's limit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, and the core action is front-loaded ahead of the usage hint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description could usefully hint at what a search returns (ranked matches, snippets, IDs needed for kilo_get_skill) but does not. For a low-complexity search tool it is adequate but leaves that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and the description adds no parameter detail beyond restating the query modality. The only undocumented-in-schema param (format) has an enum and default, so the schema carries the load; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (Kilo-Kit skill library) with the query modality (natural-language). The phrase 'before loading a specific skill' implicitly separates it from kilo_get_skill, though it never names the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use it for 'broad discovery before loading a specific skill,' which gives a clear when-to-use and implies the alternative (kilo_get_skill). No explicit when-not condition, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_sentinel_statusKilo-Sentinel Supervisor StatusBRead-onlyIdempotent
Inspect real-time Sentinel supervisor telemetry: Circuit breaker state, step budget, failure streaks, and grounded files list.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| sessionId | Yes | Active Kilo-Kit session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is fully covered. The description adds the notion of real-time telemetry and names the observable fields, which is useful context, but says nothing about freshness, staleness, permission requirements, or what happens for an inactive session.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the resource front-loaded and the four observable fields listed in order. No filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the enumeration of returned telemetry partially stands in for a return-value contract, which is valuable. However, it omits the format parameter's effect on output shape and the relationship to the circuit-breaker reset sibling, leaving gaps for a diagnostic tool in a 24-tool cluster.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: sessionId is documented as 'Active Kilo-Kit session ID', but the format parameter (enum markdown/json, default markdown) has no description anywhere. The description never mentions either parameter or the output format choice, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Inspect') and resource ('Sentinel supervisor telemetry') and enumerates the concrete payload: circuit breaker state, step budget, failure streaks, grounded files list. That is far more specific than the title. It does not, however, differentiate itself from the closely related sibling kilo_reset_circuit_breaker, which touches the same circuit-breaker concept.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what can be inspected but never says when to call this tool, what triggers it, or which sibling to use instead (e.g., kilo_reset_circuit_breaker when the breaker is tripped). 'Real-time' hints at diagnostic use but nothing is explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_synthesize_skillSynthesize Self-Evolving SkillADestructive
Distill a newly solved architectural pattern or bugfix methodology into a reusable, validated SKILL.md.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| category | No | Target skill category (defaults to 'learned') | |
| keywords | No | Keywords for discovery | |
| skillName | Yes | Name of the skill to synthesize | |
| solutionPattern | Yes | Proven solution pattern and code guidelines | |
| problemDescription | Yes | Description of the problem solved | |
| verificationGuidance | Yes | Verification and testing steps |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the agent knows this is a mutating, non-idempotent operation. The description adds that the output is 'reusable, validated,' but never explains what gets created/overwritten, whether it persists to disk, or what 'validated' implies. It neither contradicts the annotations nor richly extends them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no waste. The purpose and intended input are conveyed immediately without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent tool with no output schema, the description doesn't cover critical context such as what the synthesized SKILL.md contains, where it is stored, or whether synthesis requires a prior solve. The schema is well-documented, but behavioral completeness falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents the 7 parameters well, including enums and formats. The description contributes no additional parameter-level detail (e.g., how format affects output, keyword conventions), so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (distill/synthesize) and resource (SKILL.md, self-evolving skill), and names the trigger condition (a newly solved architectural pattern or bugfix methodology). It is clearly distinguishable from siblings like kilo_get_skill and kilo_search_skills, which read rather than create skills.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'newly solved' implies the timing (after solving a problem), which gives some usage context, but no explicit when-not-to-use or alternative tool is named. It does not tell the agent to prefer this over kilo_record_reflection or kilo_remember_fact for capturing learnings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_think_stepSequential Thinking & BranchingBRead-only
Iterative step-by-step reasoning engine with hypothesis tracking, revision, and solution branching.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | REQUIRED for observability: Describe WHAT you are analyzing, e.g. 'So sรกnh 3 phฦฐฦกng รกn: LocalStorage vs IndexedDB vs Supabase'. This appears in terminal tool call display so users can monitor agent thinking. | |
| format | No | markdown | |
| thought | Yes | Current reasoning thought | |
| branchId | No | Identifier for this reasoning branch | |
| sessionId | No | Optional session ID | |
| hypothesis | No | Explicit hypothesis being tested | |
| isRevision | No | Whether this thought revises an earlier thought | |
| thoughtNumber | Yes | Current thought step index | |
| totalThoughts | Yes | Estimated total thought steps | |
| revisesThought | No | Which thought index is being revised | |
| branchFromThought | No | Thought index to branch from | |
| nextThoughtNeeded | Yes | Whether more reasoning steps are needed | |
| decision_narration | No | MANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability. | |
| next_action_narration | No | MANDATORY: State what this tool will execute and what immediate action follows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false, so the safety profile is covered. The description adds that thoughts can be revised and branched, which is a real behavioral trait, but it does not disclose the stateful workflow (that thoughtNumber/totalThoughts drive continuity) or what the tool returns. Moderate added value over annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the core capability set leads. It is efficient, though for a 14-parameter, branch/revision-capable tool one more sentence of workflow framing would have earned its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex iterative tool with 14 parameters, branching and revision semantics, and no output schema, one sentence is thin. It does not explain how to drive the loop (advancing thoughtNumber, ending with nextThoughtNeeded=false) or how branches interleave with sequential steps, so an agent must reconstruct the protocol from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 93%, so the schema already documents all 14 parameters, including the mandatory label and narration fields. The description's mention of hypothesis/revision/branching is effectively a restatement of schema fields (hypothesis, isRevision, branchId) rather than adding syntax or sequencing meaning. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (a reasoning engine) and its distinguishing capabilities: iteration, hypothesis tracking, revision, and branching. It is clear what the tool is for, but it offers no differentiation from nearby reasoning-oriented siblings such as kilo_grill_plan or kilo_trace_root_cause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing says to call this before planning, to drive multi-step analysis, or when to prefer it over kilo_grill_plan or kilo_trace_root_cause. The agent is left to infer the trigger condition from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_trace_root_cause5-Whys Root Cause TracerBRead-onlyIdempotent
Recursive causal backward-propagation analysis from crash log to the underlying systemic root cause.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | REQUIRED for observability: Name the bug you are tracing, e.g. 'Truy vแบฟt lแปi TypeError: Cannot read property sessionId'. Displayed in terminal so users see what error is being diagnosed. | |
| format | No | markdown | |
| errorLog | Yes | Raw error message, stack trace, or failing test output | |
| sessionId | No | Active session ID to register cognitive gate satisfaction | |
| failingFile | No | File where failure occurred | |
| actualBehavior | No | Actual behavior | |
| expectedBehavior | No | Expected behavior | |
| decision_narration | No | MANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability. | |
| next_action_narration | No | MANDATORY: State what this tool will execute and what immediate action follows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds only that the analysis is recursive and causal; it says nothing about depth limits, output shape, latency, or what the trace produces, so added value beyond annotations is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the essential concept (crash log -> systemic root cause) is stated first. Slightly dense terminology costs it the top mark.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, no output schema, and no explanation of the 5-Whys output or the mandatory narration gates, the description leaves an agent with only a one-line concept. It is not misleading, but for a tool with this parameter surface it under-delivers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 89%, so the schema already documents nearly every parameter (label, errorLog, sessionId, narrations, etc.). The description contributes no parameter-level guidance at all; it neither clarifies the optional fields nor the enum format. Baseline 3 applies when the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific analysis verb ('backward-propagation analysis') and target ('crash log to underlying systemic root cause'), which cleanly separates it from sibling reasoning tools like kilo_grill_plan and kilo_triangulate_research. It is jargon-heavy ('recursive causal backward-propagation') but the resource and outcome are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The crash-log-to-root-cause framing implies when it applies (debugging a specific failure), but there is no explicit when-to-use, when-not-to-use, or routing statement relative to the many siblings that also reason about problems. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_triangulate_researchGrounded Cognitive Triangulation & Low-Confidence EscalatorB
Execute Triangulated Cognitive Synthesis: Combines Internal SQLite Memory, External GitHub Grounding, 3-Option ToT DAG Trade-Offs, and Low-Confidence Research Escalation. Persists reasoning atomically into SQLite before code modification.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| sessionId | Yes | Active Kilo-Kit session ID | |
| dagOptions | Yes | At least 2 (ideally 3) competing architectural options to compare | |
| chosenOption | Yes | The selected option name with rationale | |
| confidenceScore | Yes | Confidence score between 0.0 and 1.0 (if < 0.70, triggers research escalation) | |
| taskDescription | Yes | The architectural decision, feature spec, or bug to analyze | |
| researchFindings | No | Synthesized findings from research subagent if research escalation was triggered | |
| decision_narration | No | MANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability. | |
| adversarialRiskScore | No | Adversarial risk score from red-team grilling | |
| internalMemoryLearned | No | Key facts, reflections, or past pitfalls retrieved from SQLite | |
| next_action_narration | No | MANDATORY: State what this tool will execute and what immediate action follows. | |
| externalGroundingPatterns | No | Standard patterns, official docs, or 10k+ stars GitHub implementations | |
| requiresResearchEscalation | No | Explicitly request deep subagent research fallback |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false. The description adds useful context beyond that: reasoning is persisted atomically into SQLite and this occurs before code modification, which signals a stateful write with sequencing constraints. It stops short of saying what gets written, whether repeat calls duplicate state, or what the escalation does in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action verb, so it is compact. However, the second sentence is packed with opaque capitalized jargon ('Grounded Cognitive Triangulation', 'Triangulated Cognitive Synthesis') that consumes space without adding precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter, non-idempotent write tool with no output schema, the description covers the high-level purpose and the persistence behavior but omits usage routing and expected outcomes. The rich schema compensates for parameter detail, but the agent still lacks guidance on when this tool should be invoked versus its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 92%, so the schema already documents nearly every parameter including the confidenceScore escalation threshold and the narration params. The description adds no parameter-level detail beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb ('Execute Triangulated Cognitive Synthesis') and enumerates the distinct operations it combines (SQLite memory, GitHub grounding, ToT DAG trade-offs, research escalation) plus its persistence step. An agent can grasp what the tool does, though the jargon-heavy phrasing and lack of differentiation from siblings like kilo_think_step or kilo_grill_plan keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never states when to choose this tool over alternatives such as kilo_think_step, kilo_grill_plan, or kilo_benchmark_solution. The routing logic (confidenceScore < 0.70 triggers escalation) lives only in the schema, not in the description, and no prerequisites or exclusion conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_validate_skillsValidate Kilo-Kit SkillsCRead-onlyIdempotent
Run the Kilo-Kit skill validator and return a concise quality-gate summary. This is read-only and does not modify files.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so 'read-only and does not modify files' largely restates structured data. The only added value is the vague hint that it returns a 'quality-gate summary', with no detail on what that contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the safety note. No wasted text, though the tiny size also reflects thin content rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no output schema, the description establishes purpose and safety but omits what 'skills' are being validated (all of them? a target?), what the quality-gate summary includes, and the meaning of the format parameter. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'format' (enum markdown/json) has 0% schema description coverage, so the description carries the full burden of explaining it โ yet it never mentions output format at all. An agent cannot learn from the description what the format option controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run the Kilo-Kit skill validator') plus the nature of the output ('concise quality-gate summary'). This clearly distinguishes it from siblings like kilo_synthesize_skill or kilo_search_skills, though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool is but never states when to invoke it or how it relates to alternatives such as kilo_synthesize_skill or kilo_get_skill. Usage must be inferred entirely by the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kilo_write_fileWrite File (Kilo-Kit Hard-Gated)ADestructive
Create a new file or overwrite an existing file. PROTOCOL HARD-GATE: Requires valid sessionId in 'ready' state.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Alias for filePath | |
| path | No | Alias for filePath | |
| format | No | markdown | |
| content | Yes | Complete file content to write | |
| filePath | No | Relative or absolute path to file | |
| overwrite | No | Allow overwriting existing files | |
| sessionId | Yes | Active Kilo-Kit session ID (must be in ready state) | |
| decision_narration | No | MANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability. | |
| next_action_narration | No | MANDATORY: State what this tool will execute and what immediate action follows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false. Beyond that, the description adds a real behavioral constraint not in structured form: the session must be valid and in 'ready' state before the call will succeed. It omits overwrite semantics for existing files, keeping it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and followed by the gating condition; every word earns its place. It is not quite maximally structured since the gate could be phrased with the exact consequence if unmet.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter destructive write tool with no output schema, the safety-relevant gate is disclosed and annotations cover the rest of the risk profile. The aliased path parameters and the two mandatory narration fields are left entirely to the schema, which is acceptable at this coverage but leaves a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (89%), so the schema already carries the parameter burden and the baseline of 3 applies. The description reinforces the sessionId gate but adds no detail on the filePath/file/path aliases or the mandatory narration parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource pair ('Create a new file or overwrite an existing file'), so the agent knows exactly what it does. It does not distinguish itself from the sibling kilo_edit_file, which is the main ambiguity for file-writing tools, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'PROTOCOL HARD-GATE' line implies a usage prerequisite (sessionId in 'ready' state), which is useful context. However, it never says when to pick this over kilo_edit_file or kilo_read_file, and gives no when-not guidance, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
24 tool updates
v0.1.0- First observed
kilo_benchmark_solution - First observed
kilo_compact_context - First observed
kilo_edit_file - First observed
kilo_get_skill - First observed
kilo_grep_code - First observed
kilo_grill_plan - First observed
kilo_memory_report - First observed
kilo_orchestrate_task - First observed
kilo_read_file - First observed
kilo_record_reflection - First observed
kilo_remember_fact - First observed
kilo_reset_circuit_breaker - First observed
kilo_route_intent - First observed
kilo_route_report - First observed
kilo_run_command - First observed
kilo_search_files - First observed
kilo_search_skills - First observed
kilo_sentinel_status - First observed
kilo_synthesize_skill - First observed
kilo_think_step - First observed
kilo_trace_root_cause - First observed
kilo_triangulate_research - First observed
kilo_validate_skills - First observed
kilo_write_file
TDQS
Scored across 24 tools
Several tools have overlapping meta-level purposes, especially kilo_orchestrate_task, kilo_route_intent, kilo_search_skills, and kilo_get_skill, which could cause misselection. The descriptions provide useful distinctions, but boundaries between workflow routing, skill discovery, and skill loading remain blurry.
All tools follow a consistent snake_case pattern with the same kilo_ prefix. The naming convention is predictable and easy to scan.
At 24 tools, the set is heavy for the server's apparent scope, sitting in the borderline range where each tool does not clearly earn its place. The domain is broad, but consolidation could reduce redundancy.
The surface covers skill discovery, loading, validation, synthesis, memory, routing, file operations, command execution, and several reasoning workflows. Minor gaps exist, such as no explicit skill deletion/update or memory fact deletion, but core workflows are well represented.
Maintenance
Related MCP Connectors
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Shared long-term memory vault for AI agents with 20 MCP tools.
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
Package intelligence MCP for AI agents โ 22 tools, 19 ecosystems, AGPL SDK, free.
Related MCP Servers
- AlicenseDqualityDmaintenanceAI-native orchestration layer with 80+ tools for task management, code editing, browser automation, terminal control, and persistent memory across CLI, local MCP, and cloud deployments.694 npm31ISC
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to perform surgical code analysis, semantic memory, and quality enforcement via 18 specialized MCP tools, with a real-time analytics dashboard.67MIT
- AlicenseCqualityDmaintenanceA production-grade MCP server providing an autonomous AI agent swarm, persistent semantic memory, browser automation, multi-model reasoning, and 78+ tools for AI-first testing and development.63MIT
- AlicenseNot gradedqualityBmaintenanceProvides MCP tools for AI-powered code review, research, and book writing via a fleet of coding agents.Apache 2.0