The Agentic Layer
Tool Integrations
Tools are capabilities you give to agents. File reading, code execution, API access, context gathering. Not IDEs. Not products. Capabilities.
What are tools in this context
In this framework, a "tool" is a capability boundary. It defines what an agent can do in the environment. Reading a file is a tool. Running a shell command is a tool. The framework organizes these into 4 categories and controls which phases get access to which.
Tools are not products. "File system access" is a tool category. A specific editor, IDE, or CLI is a product that provides that tool category. The framework defines the categories. Your tooling stack provides the implementations.
The four tool categories
Permission matrix: tools by phase
| Tool | Plan | Build | Test | Review | Doc | Deploy | Monitor |
|---|---|---|---|---|---|---|---|
| file.read | Y | Y | Y | Y | Y | Y | Y |
| file.write | N | Y | Y | N | Y | N | N |
| file.search | Y | Y | Y | Y | Y | Y | Y |
| exec.shell | N | Y | Y | N | N | Y | Y |
| exec.test | N | Y | Y | N | N | N | N |
| exec.lint | N | Y | N | N | N | N | N |
| api.git | N | N | N | N | N | Y | N |
| api.issues | Y | N | N | N | N | N | Y |
| ctx.index | Y | Y | Y | Y | N | N | N |
| ctx.docs | Y | Y | N | Y | Y | N | N |
This is the default matrix. Override per-project in your workflow.yaml. The principle is least privilege: each phase gets only what it needs. Planners cannot execute code. Reviewers cannot write files. This is not a limitation; it is a safety pattern.
Adding a new tool integration
Define the config file
Create a YAML file in agentic-layer/tools/ describing capabilities, allowed operations, and security boundaries.
Declare permissions per phase
In workflow.yaml, specify which phases can access the new tool. Default to denied; explicitly grant.
Reference in templates
Update the relevant prompt templates to inform the agent about the new capability. An agent cannot use a tool it does not know exists.
# workflow.yaml -- adding a custom tool
tools:
file_system: tools/file-system.yaml
code_execution: tools/code-execution.yaml
external_apis: tools/external-apis.yaml
context_providers: tools/context-providers.yaml
custom_analytics: tools/analytics.yaml # your new tool
phase_tools:
plan: [file_system.read, file_system.search, context_providers, custom_analytics.read]
build: [file_system, code_execution, context_providers]
# ... etc