Naming Decision: Tool vs Agent

Decision date: 2026-02-15 Status: Agreed and active

Decision

  • Tool: concrete execution product (Claude Code, Codex, opencode, etc.)
  • Agent: logical collaborator identity/role in the workflow

Why

  • Avoids overloaded wording where one term means both product and role
  • Makes event payloads and docs easier to interpret
  • Improves cross-tool comparisons in workflow audits

Usage Rule

  • Use "tool" for install/config/invocation concerns
  • Use "agent" for assignment/handoff/role concerns

Derived Terms

  • Tool surface: installable, verifiable, or packageable artifact/configuration exposed to a concrete tool (for example a slash command file, skill directory, hook config, MCP config, custom agent profile file, or plugin manifest)
  • Agent profile: logical collaborator identity/role guidance projected into a tool-native custom-agent/subagent format when supported

Compatibility Note

Some existing CLI commands and config keys still use historical names such as spec-kitty agent config and .kittify/config.yaml agents.available. New architecture, docs, and schemas should treat those as compatibility aliases for configured tools, not as permission to use "agent" for install/config concepts.