- Rust 100%
Make it a separate module with smaller input files. Also create a text buffer abstraction. Reviewed-on: #58 |
||
|---|---|---|
| .forgejo/workflows | ||
| contrib/models_endpoint | ||
| docs | ||
| scripts | ||
| src | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| DESIGN.md | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
| zensical.toml | ||
Skate Coding Agent Harness
This is a bespoke coding agent harness with a couple of unique features.
The only supported operating system is Linux.
Unique Features
The features below are the driving factors that led me to writing my own harness instead of reusing an already available one.
Modal Editing
The skate TUI is modal and makes heavy use of hotkeys and commands.
The hotkeys are vim-inspired but are not intented to be a one-to-one mapping. Some shortcuts attempt to mirror existing coding agents instead (for instance Ctrl + G to edit a plan).
Zero Tool Confirmations
The skate harness has no concept of a tool confirmation. Instead the agent is given a set of permissions and these are enforced on tool uses, either working or failing transparently.
By default when executing the agent can modify any files in the current directory but has read only access to files in other directories. (This applies to both the builtin read/edit file tools as well as any bash commands that may be executed). Network access can also be toggled on or off.
Standard Features
Model/Provider Selection
The skate harness can work with multiple different model providers via configuration. (Currently only the anthropic API schema is supported).
Plan/Execute Modes
The skate harness has the concept of different modes for a conversation to be in along with different system prompts for each.
Currently there is plan and execute mode. In planning mode the agent is told to create a plan and only given access to write the current plan file along with read access to the rest of the system.
In execute mode, the agent is provided a pointer to the created plan file and write access to the current directory.
Usage
Start by cloning the repository to your machine
git clone https://git.tiramisu.one/drew/skate.git
# OR for JJ
jj git clone https://git.tiramisu.one/drew/skate.git
Running for test:
cargo run
Installing:
cargo install --path .
skate
To view the documentation locally, run:
uv run docs
AI Usage
Almost all of the code in this project was produced by LLMs and reviewed by a human. The top level architecture is fairly scrutinized while individual functions and unit tests are not.
This README file and all documentation is human written.