Agent skill

Kitaru Tests Release

by zenml-io in zenml-io/kitaru

Kitaru test layout, CI workflows, and release-workflow behavior.

Apache-2.0Auto-check passedDevelopment

Install Kitaru Tests Release

skills CLI
$ npx skills add zenml-io/kitaru --skill kitaru-tests-release -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install zenml-io/kitaru kitaru-tests-release --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/zenml-io/kitaru.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/kitaru-tests-release .claude/skills/kitaru-tests-release && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
kitaru-tests-release
GitHub stars
305
Token cost
~2.8k tokens
SKILL.md length
1,418 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Kitaru test layout, CI workflows, and release-workflow behavior.

  • Works in 5 steps: Write or update the test so it captures… → Run it and observe the expected failure… → Make the code change. → …
  • Debugging tests on any surface (CLI
  • SKILL.md covers Unit and Contract Tests, CLI Tests, Server and SDK Tests and Task and Worker Tests, plus 8 more sections
  • Calls just, uv and docker

What it does

Kitaru Tests Release is an agent skill from zenml-io/kitaru. Kitaru test layout, CI workflows, and release-workflow behavior. Use when adding or debugging tests on any surface (CLI, server, task, worker, MCP, plugins), changing CI, or explaining what a release tag triggers.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Debugging. It works with Model Context Protocol and Python. The repository describes itself as: Agent traces you can run, not just read. The licence is Apache-2.0.

When your agent uses it

  • Debugging tests on any surface (CLI
  • Explaining what a release tag triggers

Example prompts

  • “/kitaru-tests-release”

Requirements

  • Python 3
  • Docker

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Write or update the test so it captures the broken behavior.
  2. Run it and observe the expected failure when practical.
  3. Make the code change.
  4. Rerun the targeted test.
  5. Rerun the broader relevant suite.

What it can do on your machine

Read from SKILL.md and the folder at commit e7e55f7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • just
    • uv
    • docker

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv and docker, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Kitaru Tests Release loads about 2.8k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,418 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from zenml-io/kitaru at commit e7e55f7, republished under its Apache-2.0 licence (© zenml-io). 1,418 words, ~2,817 tokens.

Download SKILL.mdSave it as .claude/skills/kitaru-tests-release/SKILL.md (or your agent's skills folder).
name
kitaru-tests-release
description
Kitaru test layout, CI workflows, and release-workflow behavior. Use when adding or debugging tests on any surface (CLI, server, task, worker, MCP, plugins), changing CI, or explaining what a release tag triggers.

Kitaru Tests, CI, and Release Workflow

Use this when adding, moving, or debugging tests beyond the basic commands and safety rules in tests/AGENTS.md, or when changing CI/release behavior.

Unit and Contract Tests

  • Build small typed stubs or SimpleNamespace objects instead of booting unrelated runtime state.
  • Assert one behavior or contract at a time.
  • Include regression coverage for bug fixes.
  • Keep tests independent of working-directory state unless the test creates that state explicitly.
  • Avoid shared mutable module-level state and wall-clock ordering assumptions.

V2 has no primed_zenml fixture or test_phase* example suite. Do not copy those v1 patterns into new tests.

CLI Tests

  • Install the surface with uv sync --extra cli --extra worker.
  • Call src/kitaru/cli/app.py::main with an explicit argument list.
  • Assert the returned integer exit code, such as main(["--help"]) == 0; successful calls do not raise SystemExit(0).
  • Use capsys and assert stable structured or plain-text contracts.
  • Prefer lightweight stubs for remote resources instead of starting the full server.
  • Exercise offline help, version, schema, and scaffold commands without reading local configuration.
  • Run just cli-artifact-smoke after optional-dependency, entrypoint, or packaging changes.

Keep CLI tests focused on argument parsing, command dispatch, output contracts, and the specific resource interaction under test.

Server and SDK Tests

Follow the four server-resource surfaces in tests/AGENTS.md: service tests, ASGI REST tests, shared repository contracts, and PostgreSQL end-to-end tests. Add SDK round-trip coverage under tests/client/ when a public resource changes.

Use the PostgreSQL-backed tests for transaction, locking, migration, or cross-request behavior that an in-memory fake cannot prove. Run docker compose up -d db before those tests and just migration-check after schema changes.

Task and Worker Tests

  • Task subprocess contracts live under tests/task/.
  • Worker lifecycle and handler contracts live under tests/worker/.
  • Keep subprocess tests bounded and assert structured receipts, exit behavior, and redaction.
  • Use the existing worker fakes rather than starting unrelated services.
  • When changing dynamic task dependencies or adding a first-party Python distribution, compare the worker's package-age allowlist with every PyPI unit in release/release-units.toml, including non-default packages. Exercise an exact pin under an older exclude-newer cutoff with a candidate or published wheel, and cover the fallback when the installed uv lacks --exclude-newer-package.

Default Plugin Packages

  • Read plugins/DEVELOPMENT.md for the package map, local candidate-image rehearsal, version preparation, dry-run dispatch, PyPI Trusted Publisher setup, publish workflow, and verification commands.
  • Standalone adapter distributions also live under plugins/packages/, but agent projects install them directly. Keep default-catalog = false in the release inventory and keep them out of the server default catalog.
  • Run just plugin-artifact-smoke after changing plugin package metadata, default definitions, requirement pins, or release installation paths.
  • The smoke builds Kitaru and every selected plugin as wheels, installs them into a clean environment, loads each configured package entrypoint, and verifies idempotent default registration.
  • CI runs plugin distributions as a package matrix. Keep the matrix aligned with plugins/packages/ and the choices in .github/workflows/release-plugins.yml.
  • Plugin workflow dispatches are dry-runs. Package tags publish from reviewed commits reachable from develop or the unit's matching maintenance branch. Dependent plugins wait for core PyPI availability; other core jobs can continue.
  • Kitaru release dry-runs build plugin-owned candidate images from plugins/candidate-wheels; production release Dockerfiles continue to install exact versions from PyPI.
  • Commit plugins/candidate.Dockerfile and plugins/docker-compose.candidate.yml. Do not commit generated files under plugins/candidate-wheels/.
  • Keep production release Dockerfiles unchanged when a plugin change only needs local candidate-wheel testing.
  • Register a self-contained in-progress plugin with the CLI --script source. Use an exact package source when the test must cover wheel installation or package imports.

MCP Tests

  • Synchronize with uv sync --frozen --extra mcp and run just test tests/mcp.
  • Keep handler tests typed and bounded; use resource-shaped fake KitaruAPIClient objects unless a protocol or real-server contract requires deeper integration.
  • Test capability filtering through MCPServer.list_tools(), not by calling decorated functions alone.
  • Treat tests/mcp/snapshots/metrics.json and src/kitaru/mcp/registry.py as the tool-inventory authorities. Do not hardcode copied inventory counts in instructions.
  • Run just mcp-schema-check after any input/output model, registry, annotation, description, or MCP SDK change. Snapshot changes require explicit MCP API review.
  • Build the wheel and run just mcp-wheel-smoke after launcher, packaging, lifecycle, or optional-import changes.
  • Preserve stable request-ID forwarding, mixed-version refusal, bounded preflight reads, and text/structured response parity where the existing contracts require them.

Bug Fix Workflow

Every bug fix should include a regression test that would have caught the original problem:

  1. Write or update the test so it captures the broken behavior.
  2. Run it and observe the expected failure when practical.
  3. Make the code change.
  4. Rerun the targeted test.
  5. Rerun the broader relevant suite.

If code changes after a successful test run, run the affected tests again.

Feature Completion Checklist

When adding a new CLI command, MCP tool, SDK resource, task, or worker capability:

  • Add or update focused tests for the changed surface.
  • Update offline CLI registration metadata for CLI commands.
  • Update examples/example-coverage.yaml and run just example-coverage-audit when examples are added, removed, renamed, or publicly documented.
  • Review analytics coverage and add events only through the current v2 analytics paths.
  • Run the relevant CLI artifact, MCP schema, MCP wheel, migration, OpenAPI, or package-build checks for the changed contract.
Show full SKILL.md (588 more words)Show less

Python CI

.github/workflows/ci.yml runs on pushes to develop and on pull requests. It includes separate base, CLI, and MCP matrices across Python 3.11 through 3.14, plus installed CLI-artifact and MCP-wheel contracts. Push-only jobs cover Docker server smoke and UI wheel packaging because those paths may require trusted UI release credentials.

This repository has no live-LLM test surface; do not cite one as release evidence.

Docs CI

.github/workflows/docs.yml runs on manual dispatch, main pushes, and selected docs/reference pull-request paths. It regenerates the SDK and CLI reference content, builds the FumaDocs export, and tests the redirect worker. Pull requests build without deploying; deployment runs on main pushes or manual dispatch. Hand-written docs publish separately through GitBook Git Sync.

Release Workflows

Use the current host's kitaru-release skill for the release interview, metadata edits, validation, and preparation PR. Keep this skill focused on selecting and running test surfaces.

.github/workflows/release.yml handles the core tag python/kitaru/v<VERSION>. It publishes Kitaru to PyPI, then publishes client, server, worker, and managed images plus Helm, and creates the GitHub Release. Python RC versions such as 0.22.0rc1 become deployable tags such as 0.22.0-rc.1. There is no separate bundle tag.

.github/workflows/release-plugins.yml handles one Python plugin distribution per namespaced tag. In a coordinated release, dependent plugin tags follow successful core PyPI publication. They can publish while core deployables and post-release jobs continue. Independent plugins use an already-published compatible core.

.github/workflows/release-typescript.yml publishes @zenml-io/kitaru, @zenml-io/kitaru-mastra, and @zenml-io/kitaru-vercel-ai together from an immutable typescript/kitaru/v<VERSION> tag. Read release/typescript.md before preparing or recovering a TypeScript release. Manual dispatch is a non-publishing rehearsal; pushing the tag publishes the tested tarballs, waits for npm publish-time scanning, verifies a clean registry install, and creates the GitHub Release. The three packages use one lockstep stable or -rc.N version.

Before creating a core tag:

  1. Fetch develop, main, and tags.
  2. Confirm the intended release commits are on develop and identify the last immutable release tag.
  3. Review the changelog fragments in changelog.d/ and the version classification.
  4. Confirm no other release run is active.
  5. After changing the core version, run uv run python scripts/generate_openapi.py and commit the updated openapi/openapi.json.
  6. Run just check, the relevant base/CLI/MCP tests, just mcp-schema-check, just cli-artifact-smoke, just plugin-artifact-smoke, just migration-check, and just build as applicable. Run just mcp-wheel-smoke only after just build; it consumes the wheel under dist/.
  7. Dispatch release.yml with the proposed core tag when a non-publishing rehearsal is needed. Use release-plugins.yml for a plugin rehearsal.

Stable core releases move the public Docker latest aliases, advance the core maintenance branch, and create a draft development-reset PR. The release owner fast-forwards main to the immutable core tag before merging the reset into develop. Report PyPI publication, public deployables, managed-image warnings, installer smoke, maintenance state, and reset state separately. A reset failure can leave the workflow red after artifact publication succeeds.

Branching and Releases

  • Default branch is develop.
  • Pull requests target develop.
  • main tracks the latest released version only; do not push directly.
  • Python core and plugin releases use namespaced tags handled by release.yml and release-plugins.yml, respectively.
  • TypeScript releases are cut with typescript/kitaru/v<VERSION> tags handled by .github/workflows/release-typescript.yml; rehearse the exact tag through manual dispatch before pushing it.
  • A core tag directly starts .github/workflows/release.yml. Manual dispatch rehearses without publishing; recover publication by inspecting and rerunning the original failed jobs with the same immutable artifacts.
  • Release preparation maintains the version in pyproject.toml; application code should use importlib.metadata.version("kitaru") rather than hardcoding it.
  • Add a changelog.d/<pr-number>.<section>.md fragment for user-facing changes instead of editing CHANGELOG.md. Any slug works in place of the number while the PR does not exist yet.

© zenml-io, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/kitaru-tests-release of zenml-io/kitaru.

Open the folder on GitHubat commit e7e55f7

Compare with similar skills

Kitaru Tests Release next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Kitaru Tests Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kitaru Tests Release this skillzenml-io/kitaru305—~2.8kAutomated safety check: PassApache-2.0
MCP Debuggerdebugmcp/mcp-debugger173—~4.1kAutomated safety check: PassMIT
SlintMoosync/Moosync259—~2.4kAutomated safety check: PassGPL-3.0
LangBot Plugin Developmentlangbot-app/LangBot18k—~3.9kAutomated safety check: PassApache-2.0
Ue Live DebuggingJasonMa0012/MooaToon750—~2.9kAutomated safety check: NotesCustom licence
Zizkadb Dev SetupZIZKA-AI-SL/ZizkaDB130—~535Automated safety check: NotesCustom licence

Similar skills

  • MCP Debugger

    debugmcp/mcp-debugger

    A skill your agent uses when investigating a bug, failing test, or unexpected runtime behavior and the mcp-debugger MCP server is available — drives real step-through debuggers (breakpoints, stack…

    173 GitHub stars~4.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Slint

    Moosync/Moosync

    Expert guidance for building, debugging, and working with Slint GUI applications.

    259 GitHub stars~2.4k tokensUpdated 8 days ago
    DevelopmentAuto-check passed
  • LangBot Plugin Development

    langbot-app/LangBot

    Guides building, debugging and testing LangBot plugins: components, SDK calls, README and locale rules, SDK pitfalls and WebSocket-based testing.

    18k GitHub stars~3.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Ue Live Debugging

    JasonMa0012/MooaToon

    A skill your agent uses when debugging UE C++ crashes, runtime bugs, or unexpected behavior with Rider MCP available.

    750 GitHub stars~2.9k tokensUpdated 22 days ago
    DevelopmentAuto-check: notes
  • Zizkadb Dev Setup

    ZIZKA-AI-SL/ZizkaDB

    Set up and start the local ZizkaDB development stack. An agent skill from ZIZKA-AI-SL/ZizkaDB.

    130 GitHub stars~535 tokensUpdated 4 days ago
    DevelopmentAuto-check: notes
  • Browser Harness Agentloom

    linora-u/AgentLoom

    A skill your agent uses when working on AgentLoom browser-harness integration or debugging applications/browserharnessprobe: creating or updating the probe Application, installing the external…

    168 GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed

More from zenml-io/kitaru

  • Kitaru Docs

    zenml-io/kitaru

    Kitaru documentation surfaces, link rules, and accuracy rules.

    305 GitHub stars~936 tokensUpdated yesterday
    Auto-check passed
  • Kitaru Release

    zenml-io/kitaru

    Discover dependencies and prepare or execute Kitaru core and plugin releases, including version proposals, Kitaru UI selection, release PRs, ordered tag commands, artifact verification, and recovery.

    305 GitHub stars~7k tokensUpdated yesterday
    Auto-check passed
  • Add, reuse, or change a frontend-specific Kitaru REST response under /api/v1/ui and its OpenAPI contract in zenml-frontend-monorepo.

    305 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Kitaru Dev

    zenml-io/kitaru

    Kitaru just recipes, CLI structure and structured-output contract, analytics events, and PR-description conventions.

    305 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Add or change a Kitaru framework adapter that records native agent runs or supports bounded replay.

    305 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Add or change a separately packaged Kitaru trace importer that normalizes provider exports into imported sessions.

    305 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed

Questions about Kitaru Tests Release

What does Kitaru Tests Release do?

Kitaru test layout, CI workflows, and release-workflow behavior. Kitaru Tests Release is an agent skill from zenml-io/kitaru. Kitaru test layout, CI workflows, and release-workflow behavior.

When should I use Kitaru Tests Release?

Kitaru Tests Release fits situations like: debugging tests on any surface (CLI; explaining what a release tag triggers.

How do I install Kitaru Tests Release in Claude Code?

Run `npx skills add zenml-io/kitaru --skill kitaru-tests-release -a claude-code`. Or copy the skill folder (.agents/skills/kitaru-tests-release in zenml-io/kitaru) into .claude/skills/kitaru-tests-release in your project. Claude Code loads it when a task matches its description.

How do I install Kitaru Tests Release in Codex?

Run `npx skills add zenml-io/kitaru --skill kitaru-tests-release -a codex`. Or copy the skill folder (.agents/skills/kitaru-tests-release in zenml-io/kitaru) into .agents/skills/kitaru-tests-release in your project. Codex loads it when a task matches its description.

Can I use Kitaru Tests Release in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zenml-io/kitaru --skill kitaru-tests-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kitaru-tests-release, .gemini/skills/kitaru-tests-release, .github/skills/kitaru-tests-release and .opencode/skills/kitaru-tests-release in your project.

What does Kitaru Tests Release need to run?

Going by SKILL.md and its folder, Kitaru Tests Release needs the command-line tools its instructions call (just, uv and docker). Our summary lists: Python 3; Docker.

Does Kitaru Tests Release access the network?

SKILL.md contains no URLs. Its commands use uv and docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Kitaru Tests Release safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Kitaru Tests Release use?

Kitaru Tests Release is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kitaru Tests Release use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Kitaru Tests Release?

Skills that share tags, products or a category with Kitaru Tests Release: MCP Debugger (debugmcp/mcp-debugger, 173 stars), Slint (Moosync/Moosync, 259 stars), LangBot Plugin Development (langbot-app/LangBot, 18k stars) and Ue Live Debugging (JasonMa0012/MooaToon, 750 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kitaru Tests Release?

zenml-io (a GitHub organization) maintains it in zenml-io/kitaru, which has 305 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 9, 2026.

Source: zenml-io/kitaru on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.