Skip to content
ThakayPublic

About

A task ledger and finish gate for coding agents

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SAKO

Latest release on PyPI Status of the checks on main Supported Python versions

Simple Agentic Kit for Operations

Start simple. Keep your agents coordinated.

  • Get started with coding agents. Begin with one agent, one task, and a simple workflow.
  • Work with multiple agents in parallel. Give each agent a clear piece of work and keep the effort coordinated.
  • Bring clarity to an existing project. Work with your agent to organize what is unfinished and choose a useful next step.

One command to install. Plain files in your project. Works alongside your agents, planner, and tests, with hooks for Claude Code and Codex on supported clients.

Alpha · Get started · See it in use · Documentation · MIT

Commands and file formats can change in any 0.x release.

See it in use

Open two agent sessions in your usual coding tool for a small change. One handles the code; the other writes the usage guide. SAKO keeps their tasks and progress visible, so the next session has a place to continue.

A request to add a greeting and usage guide becomes two separately claimed tasks. Both finish with passing checks and receipts. A fresh session picks up the next task.

Illustrated from a scripted run with real SAKO output. The sessions share one repository. You choose the work and review what they build.

Get started

You need a Git project, Python 3.10+, Git 2.31+, uv, and a coding agent that can run commands. From your project:

uvx sako init

Set verify_command in .sako/config.json, keeping its other settings. For a Python project using unittest:

{
  "verify_command": [
    "python3", "-B",
    "-m", "unittest"
  ]
}

Use your own project's command. On Windows, use python and follow the platform notes. You can also add named checks, such as browser tests, under checks and run one with SAKO's verify NAME. A close records its fresh pass in the receipt, and the gate never requires it.

Open a fresh session in your coding tool and ask for one small change. The agent checks in with SAKO, then follows the installed instructions to record, claim, check, and hand back the work. You decide whether the result meets your needs.

The installer selects hooks for detected clients. Codex hooks need your trust; Codex on Windows uses explicit commands. The client guide explains setup and how to confirm the hooks ran.

Work your way

  • Start from an idea. The small default planner helps you and your agent choose a useful first task.
  • Bring an existing project. Turn your notes, issues, or plan into clear tasks.
  • Add parallel work. Use separate task scopes to coordinate sessions in one repository and its worktrees, and widen one with the edit command before the work outgrows it. Each session sees its live peers' claims, commits and uncommitted files, and a check that passed in one worktree counts in another with identical checked content. For work across machines, follow the tracker migration guide.
  • Choose where records live. Keep them local, give them a separate Git repository, or share them with your code. See the storage choices.

Simple, not small

Simple is about everyday use, not size. SAKO gains a capability when real use asks for it, and only then.

  1. Keep evidence visible. Review the task, its check result, and the changes together. You decide what good work means.
  2. Give each fact one home. Your plan holds intent, the task records hold ownership and evidence, and Git holds the changes.
  3. Keep everyday use simple. Bring your agent, planner, and checks. One command installs SAKO, and its runtime is one standard-library Python file you can read, with no service or telemetry.
  4. Make adoption reversible. The default install changes no tracked files. Update or remove SAKO while keeping your task records.

How it works

SAKO coordinates existing agent sessions. You or your agent platform launch and direct them. The agents share a Markdown task ledger. A finish gate checks their work against three rules, Recorded, Proven, and Committed, and checks the ledger for faults. Closed tasks leave receipts for review and future sessions.

You direct agent sessions. They invoke SAKO through commands or hooks. SAKO reads and writes task records, runs your configured checks, and reads Git state. It returns context and findings to the agents.

The gate flags missing records, stale or missing check evidence, and finished work awaiting a commit. It prompts correction; you still review the result. A repeated stop or a hook error can let a session end. Read the exact rules or walk through a finish.

Explore further

Method · Compatibility · Limits · Validation · Glossary

Help wanted: start with an open good first issue.

Questions and discoveries are welcome in issues. See contributing to help, security to report a vulnerability, and the MIT license.

About

A task ledger and finish gate for coding agents

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages