Agent skill
sayt-lifecycle
Unified development lifecycle tool. Use when the user asks about building, testing, setting up, deploying, or configuring a development environment. Teaches how to write and fix the configuration files behind each verb and how to configure sayt itself.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/sayt
SKILL.md
sayt-lifecycle — Unified Development Lifecycle
sayt is a small CLI that provides consistent verbs for the entire software development lifecycle. It reuses configuration you already have (.vscode/tasks.json, .mise.toml, compose.yaml, skaffold.yaml) so there is zero drift between your IDE, CI, and terminal.
The 5 Verb Pairs
| Verb pair | What it does | Underlying tool | Config file |
|---|---|---|---|
sayt setup / sayt doctor |
Install and verify toolchains | mise | .mise.toml |
sayt build / sayt test |
Compile and run unit tests | vscode-task-runner | .vscode/tasks.json |
sayt generate / sayt lint |
Generate code, lint config | CUE + gomplate | .say.cue / .say.yaml |
sayt launch / sayt integrate |
Containerize and integration-test | docker compose | Dockerfile + compose.yaml |
sayt release / sayt verify |
Deploy and validate in production | skaffold | skaffold.yaml |
Seven-Environment Model
sayt organizes the development lifecycle into seven environments, each adding a layer of confidence:
- pkg — Package manager (mise). Tools are installed and available.
- cli — CLI tools (cue, gomplate). Code generation and validation work.
- ide — IDE integration (vscode-task-runner). Build and test tasks run from your editor.
- cnt — Container (docker). Code runs identically across machines.
- k8s — Kubernetes (kind, skaffold). Full-stack preview deployments work.
- cld — Cloud (gcloud). Staging deployment is live.
- xpl — Crossplane. Production infrastructure is managed as code.
Run sayt doctor to check which environments are ready.
How sayt Reuses Existing Config
sayt does not invent new configuration formats. It delegates to tools you already configure:
.mise.toml— You probably already specify tool versions.sayt setuprunsmise install..vscode/tasks.json— Your IDE already knows how to build/test.sayt buildandsayt testrun those same tasks via vscode-task-runner.compose.yaml— Your containers already define services.sayt launchrunsdocker compose run --build develop.sayt integraterunsdocker compose up integrate.skaffold.yaml— Your deploy pipeline already has profiles.sayt releaserunsskaffold run.
The TDD Loop
The core inner loop when developing with sayt:
edit code → sayt build → sayt test → fix → repeat
Once green, widen the loop:
sayt integrate → fix → (back to inner loop if needed)
When ready to ship:
sayt release → sayt verify
When to Use Which Verb
| I want to... | Run |
|---|---|
| Install project dependencies | sayt setup |
| Check if my environment is ready | sayt doctor |
| Generate code from templates/schemas | sayt generate |
| Validate generated code | sayt lint |
| Compile the project | sayt build |
| Run unit tests | sayt test |
| Start the app in a container | sayt launch |
| Run integration tests in containers | sayt integrate |
| Deploy to staging/production | sayt release |
| Run E2E tests against a deployment | sayt verify |
Per-Verb Skill Reference
For detailed guidance on writing the configuration file for each verb, see reference.md or ask about a specific verb pair.
Current sayt help
!sayt help 2>&1 || echo "sayt not installed — see https://github.com/bonisoft3/sayt"
Didn't find tool you were looking for?