Skip to main content
Glama

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:

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

  2. 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).

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

  4. Fuzzy Skill & Alias Resolver: Instant, resilient skill loading with support for aliases (brainstorming, diagnose, playwright, clean-code, tdd, grounded-research-benchmark).

  5. 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 <--> DB

Related 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

kilo_orchestrate_task

C4 closed-loop gate. Enforces brainstorming and cognitive steps before code mutation.

kilo_route_intent

Routes intent to best workflow chains, task modes, and rules.

kilo_get_skill

Loads curated SKILL.md workflows with token-safe truncation and session tracking.

kilo_search_skills

High-precision semantic and keyword search across 180 skills.

kilo_memory_report

Inspects persistent SQLite decisions, facts, and sessions.

kilo_remember_fact

Pins immutable operational rules and architectural decisions into SQLite memory_facts.

kilo_record_reflection

Self-Improvement: Persists reflections, correct/wrong paths, and lessons to SQLite.

kilo_route_report

Reports route telemetry, top skills, workflows, scores, and conflict penalties.

kilo_validate_skills

Validates entire skill catalog against the quality gate.

Cognitive Reasoning

kilo_triangulate_research

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.

kilo_think_step

Tree of Thoughts DAG: Step-by-step reasoning, 3-option trade-off matrix & hypothesis branching.

kilo_grill_plan

Adversarial Red-Teaming: Inversion, simplification, mobile touch & concurrency stress testing.

kilo_trace_root_cause

5-Whys Diagnostic Engine: Recursive causal back-propagation with regression test scaffolding.

kilo_compact_context

Cognitive Compactor: 40-70% token savings while locking invariants.

kilo_synthesize_skill

Self-Evolution: Distills solved patterns into reusable skills.

Sentinel & Supervision

kilo_sentinel_status

Supervisor Telemetry: Inspects circuit breaker state, step budget, and grounded files list.

kilo_reset_circuit_breaker

Supervised Reset: Resets tripped circuit breaker with root-cause justification.

kilo_benchmark_solution

Industry Benchmark: Audits trajectory against GitHub standards and triggers re-planning.

Safe Execution Suite

kilo_read_file

Line slicing, size capping, and repository boundary enforcement.

kilo_search_files

Glob pattern search across directory trees.

kilo_grep_code

Line-by-line regex and substring search.

kilo_write_file

Atomic write with Protocol Hard-Gate, clean-code smell audit, and secret detection.

kilo_edit_file

Targeted search-and-replace with JSON syntax & bracket balancing audit.

kilo_run_command

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-deploy

Fuzzy Alias Resolution: Calling kilo_get_skill("brainstorming") automatically loads productivity/brainstorming/SKILL.md.


โšก Quick Start

Install globally and automatically configure all detected AI clients (Cursor, Claude, Windsurf, Antigravity, Gemini):

npm install -g @vodailocz/kilo-kit-mcp
kilo-kit-init global

Verify system health:

kilo-kit-doctor

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

kilo_compact_context (40โ€“70% token pruning)

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

cognitive_triangulations & katl_trajectories


๐Ÿ“– Documentation Directory Index

For detailed specifications, protocol definitions, and developer guides, explore the docs/ directory:


๐Ÿงช 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 tools
kilo_benchmark_solutionBenchmark Solution Against Industry & GitHubB
Read-only

Audit the current session trajectory against open-source GitHub standards and industry best practices. Returns alignment score or triggers re-planning.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
sessionIdYesActive Kilo-Kit session ID
proposedApproachYesThe approach, architecture, or code produced in this session
decision_narrationNoMANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability.
industryBestPracticeYesStandard pattern, library, or algorithm used by top GitHub repos
next_action_narrationNoMANDATORY: State what this tool will execute and what immediate action follows.

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 CompactorA
Read-onlyIdempotent

Compacts verbose logs, test dumps, and noisy output by 40-70% while preserving architectural invariants.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
contentYesVerbose content to compact
sessionIdNoActive session ID to register context compaction
targetReductionNoCompaction aggressiveness
preserveInvariantsNoKey invariant rules or phrases to lock

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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)A
Destructive

Perform exact targeted search-and-replace edit on an existing file with AST check. PROTOCOL HARD-GATE: Requires valid sessionId in 'ready' state.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoAlias for filePath
pathNoAlias for filePath
formatNomarkdown
filePathNoRelative or absolute path to file
sessionIdYesActive Kilo-Kit session ID (must be in ready state)
allowMultipleNoAllow multiple replacements
targetContentYesExact content substring to replace
decision_narrationNoMANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability.
replacementContentYesReplacement content
next_action_narrationNoMANDATORY: State what this tool will execute and what immediate action follows.

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 SkillB
Read-onlyIdempotent

Load a Kilo-Kit skill by name or category/skill. Supports fuzzy aliases (e.g. 'brainstorming', 'diagnose', 'playwright', 'tdd', 'productivity/brainstorming').

ParametersJSON Schema
NameRequiredDescriptionDefault
skillYesSkill name or identifier (e.g. 'brainstorming', 'diagnose', 'playwright', 'productivity/brainstorming').
formatNomarkdown
categoryNoOptional skill category, for example engineering or productivity.
maxCharsNoMaximum SKILL.md characters to return.
sessionIdNoActive session ID to register skill delivery

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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)B
Read-onlyIdempotent

Search code snippets and matching lines across workspace files.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch string or regex pattern
formatNomarkdown
searchNoAlias for query
isRegexNoWhether query is regex
patternNoAlias for query
rootDirNoSubdirectory or workspace path to limit search
sessionIdNoActive session ID from kilo_orchestrate_task.
maxResultsNoMax matches to return
caseSensitiveNoCase-sensitive match

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 GrillingC
Read-onlyIdempotent

Automated adversarial stress-testing against Inversion, Simplification Cascades, Blast Radius, and Edge-cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
planYesThe proposed architecture, implementation plan, or bugfix strategy
depthNoGrilling depth
labelNoREQUIRED 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.
formatNomarkdown
contextNoRelevant file paths, tech stack, or system constraints
sessionIdNoActive session ID to register cognitive gate satisfaction
decision_narrationNoMANDATORY 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_narrationNoMANDATORY: State what this tool will execute and what immediate action follows.

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 ReportB
Read-onlyIdempotent

Read global C4 memory facts, decisions, and recent suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown

TDQS

B3/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 TaskA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNoAlias for message.
formatNomarkdown
promptNoAlias for message.
answersNo
contextNo
messageNoCurrent user request or task summary.
sessionIdNo
decision_narrationNoMANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability.
memoryConfirmationsNo
brainstormingApprovedNo
next_action_narrationNoMANDATORY: State what this tool will execute and what immediate action follows.

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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)B
Read-onlyIdempotent

Read file content safely across workspace boundaries (supports line ranges and byte capping up to 512KB).

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoAlias for filePath
pathNoAlias for filePath
formatNomarkdown
endLineNoEnding line number (1-indexed)
filePathNoPath to file (supports relative path, absolute path, and '~')
maxBytesNoMax bytes to return (default: 512KB)
sessionIdNoActive session ID from kilo_orchestrate_task.
startLineNoStarting line number (1-indexed)

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
taskModeYesTask mode (e.g. 'bug', 'architecture', 'ui', 'feature-build').
sessionIdNoOptional session ID.
taskSummaryYesSummary of the problem solved.
lessonsLearnedYesKey invariant or takeaway for future tasks.
correctApproachYesThe successful strategy, fix, or architectural pattern used.
skillsEvaluatedNoRatings and feedback for specific skills used.
wrongPathsEncounteredYesMistakes, wrong assumptions, or pitfalls encountered.

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 FactA
Idempotent

Explicitly persist a project operating rule, workflow default, or verification standard into SQLite memory_facts for cross-session enforcement.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesUnique fact identifier, e.g. 'preference:testing:vitest' or 'rule:architecture:dexie'.
kindYesFact classification kind.
valueYesFact payload data, e.g. { commands: ['npm test'] } or { library: 'dexie' }.
formatNomarkdown
sourceNoSource of fact (e.g. 'user-instruction', 'architecture-decision').
confidenceNoConfidence score between 0.0 and 1.0 (default 1.0).

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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)A
Destructive

Reset an open Circuit Breaker with justification and root-cause evidence. Transitions breaker to HALF_OPEN.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
sessionIdYesActive Kilo-Kit session ID
justificationYesDetailed justification and root cause explanation for reset

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 SkillsB
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
formatNomarkdown
contextNo
messageYesCurrent user request or task summary.

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 ReportB
Read-onlyIdempotent

Summarize route telemetry: top skills, task modes, workflow chains, score averages, and conflict penalties.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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)A
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoWorking directory relative to repoRoot
formatNomarkdown
commandYesTerminal command to run
sessionIdYesActive Kilo-Kit session ID (must be in ready state)
timeoutMsNoTimeout in milliseconds
decision_narrationNoMANDATORY 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_narrationNoMANDATORY: State what this tool will execute and what immediate action follows.

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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)B
Read-onlyIdempotent

Search for files matching a pattern, substring, or glob across the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
globNoAlias for pattern
queryNoAlias for pattern
formatNomarkdown
patternNoGlob pattern or file search substring (e.g. '*.ts', '**/*.json', 'story')
rootDirNoSubdirectory or workspace path to limit search
sessionIdNoActive session ID from kilo_orchestrate_task.
maxResultsNoMaximum file matches

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 SkillsA
Read-onlyIdempotent

Search the Kilo-Kit skill library by natural-language query. Use this for broad discovery before loading a specific skill.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of skills to return.
queryYesNatural-language task or keyword query.
formatNomarkdown
categoryNoOptional category such as engineering or design.

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 StatusB
Read-onlyIdempotent

Inspect real-time Sentinel supervisor telemetry: Circuit breaker state, step budget, failure streaks, and grounded files list.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
sessionIdYesActive Kilo-Kit session ID

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 SkillA
Destructive

Distill a newly solved architectural pattern or bugfix methodology into a reusable, validated SKILL.md.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
categoryNoTarget skill category (defaults to 'learned')
keywordsNoKeywords for discovery
skillNameYesName of the skill to synthesize
solutionPatternYesProven solution pattern and code guidelines
problemDescriptionYesDescription of the problem solved
verificationGuidanceYesVerification and testing steps

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 & BranchingB
Read-only

Iterative step-by-step reasoning engine with hypothesis tracking, revision, and solution branching.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoREQUIRED 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.
formatNomarkdown
thoughtYesCurrent reasoning thought
branchIdNoIdentifier for this reasoning branch
sessionIdNoOptional session ID
hypothesisNoExplicit hypothesis being tested
isRevisionNoWhether this thought revises an earlier thought
thoughtNumberYesCurrent thought step index
totalThoughtsYesEstimated total thought steps
revisesThoughtNoWhich thought index is being revised
branchFromThoughtNoThought index to branch from
nextThoughtNeededYesWhether more reasoning steps are needed
decision_narrationNoMANDATORY 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_narrationNoMANDATORY: State what this tool will execute and what immediate action follows.

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 TracerB
Read-onlyIdempotent

Recursive causal backward-propagation analysis from crash log to the underlying systemic root cause.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoREQUIRED 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.
formatNomarkdown
errorLogYesRaw error message, stack trace, or failing test output
sessionIdNoActive session ID to register cognitive gate satisfaction
failingFileNoFile where failure occurred
actualBehaviorNoActual behavior
expectedBehaviorNoExpected behavior
decision_narrationNoMANDATORY 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_narrationNoMANDATORY: State what this tool will execute and what immediate action follows.

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
sessionIdYesActive Kilo-Kit session ID
dagOptionsYesAt least 2 (ideally 3) competing architectural options to compare
chosenOptionYesThe selected option name with rationale
confidenceScoreYesConfidence score between 0.0 and 1.0 (if < 0.70, triggers research escalation)
taskDescriptionYesThe architectural decision, feature spec, or bug to analyze
researchFindingsNoSynthesized findings from research subagent if research escalation was triggered
decision_narrationNoMANDATORY INTER-TOOL NARRATION: State what you just concluded, verified, or analyzed before calling this tool. Appears in terminal tool badge for full user observability.
adversarialRiskScoreNoAdversarial risk score from red-team grilling
internalMemoryLearnedNoKey facts, reflections, or past pitfalls retrieved from SQLite
next_action_narrationNoMANDATORY: State what this tool will execute and what immediate action follows.
externalGroundingPatternsNoStandard patterns, official docs, or 10k+ stars GitHub implementations
requiresResearchEscalationNoExplicitly request deep subagent research fallback

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 SkillsC
Read-onlyIdempotent

Run the Kilo-Kit skill validator and return a concise quality-gate summary. This is read-only and does not modify files.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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)A
Destructive

Create a new file or overwrite an existing file. PROTOCOL HARD-GATE: Requires valid sessionId in 'ready' state.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoAlias for filePath
pathNoAlias for filePath
formatNomarkdown
contentYesComplete file content to write
filePathNoRelative or absolute path to file
overwriteNoAllow overwriting existing files
sessionIdYesActive Kilo-Kit session ID (must be in ready state)
decision_narrationNoMANDATORY 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_narrationNoMANDATORY: State what this tool will execute and what immediate action follows.

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

  1. 24 tool updatesv0.1.0
    • First observedkilo_benchmark_solution
    • First observedkilo_compact_context
    • First observedkilo_edit_file
    • First observedkilo_get_skill
    • First observedkilo_grep_code
    • First observedkilo_grill_plan
    • First observedkilo_memory_report
    • First observedkilo_orchestrate_task
    • First observedkilo_read_file
    • First observedkilo_record_reflection
    • First observedkilo_remember_fact
    • First observedkilo_reset_circuit_breaker
    • First observedkilo_route_intent
    • First observedkilo_route_report
    • First observedkilo_run_command
    • First observedkilo_search_files
    • First observedkilo_search_skills
    • First observedkilo_sentinel_status
    • First observedkilo_synthesize_skill
    • First observedkilo_think_step
    • First observedkilo_trace_root_cause
    • First observedkilo_triangulate_research
    • First observedkilo_validate_skills
    • First observedkilo_write_file

TDQS

B3.4/5.0

Scored across 24 tools

Disambiguation3/5

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.

Naming Consistency5/5

All tools follow a consistent snake_case pattern with the same kilo_ prefix. The naming convention is predictable and easy to scan.

Tool Count3/5

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.

Completeness4/5

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

ActivityActive
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers