Skip to content
Agentmart
Submit a tool

kranz-services

Use existing Kranz runtimes via MCP to inspect services, logs, ports, actions, and plans, or to start, stop, restart, and handle confirmation tokens.

Skill by kranz-org

IndexedMIT★ 62
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/kranz-org-kranz-services

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use existing Kranz runtimes via MCP to inspect services, logs, ports, actions, and plans, or to start, stop, restart, and handle confirmation tokens. Also use before starting a dev server, worker, Docker stack, build, test, or migration. If no matching runtime exists, use the project's normal workflow.

Use cases: backend, testing, devops, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/kranz-services

What's inside

Skill name
kranz-services
Description
Use existing Kranz runtimes via MCP to inspect services, logs, ports, actions, and plans, or to start, stop, restart, and handle confirmation tokens. Also use before starting a dev server, worker, Docker stack, build, test, or migration. If no matching runtime exists, use the project's normal workflow.
License
MIT
Instructions
152 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Work with services through Kranz

Kranz is a local service orchestrator. A developer may already have the project
running before the task starts, and that runtime should remain intact after the
task finishes. Starting another `npm run dev`, worker, or Docker stack can create
a duplicate process with unrelated logs and ports.

Prefer Kranz MCP tools over shell commands when they are available. MCP is
already connected to the runtime API and does not require direct access to its
Unix socket.

## Discover the runtime first

Inspect the complete tool registry, including lazy or deferred tools, for tools
named like `mcp__kranz__runtimes`, `mcp__kranz__status`, and
`mcp__kranz__logs`.

If `mcp__kranz__runtimes` is available:

1. Call it.
2. Select the runtime whose `directory` is equal to, or a parent of, the current
   working directory.
3. Pass its `name` as `runtime` to every runtime-scoped MCP call.

If Kranz MCP is unavailable or its transport cannot start, run exactly one
fallback discovery command:

```bash
kranz ps --output json
```

Match the current directory against `.data[].directory`, including parent
directories. If there is no matching runtime, stop applying this skill and use
the project's ordinary workflow. Do not infer Kranz usage from a configuration
file: personal Kranz configuration may live above the repository or outside
version control.

When a runtime is found, tell the user briefly that subsequent service work
will use it.

## Read without disturbing processes

Use the matching MCP tool with `runtime: NAME`:

| Need | MCP tool |
| --- | --- |
| Service state | `status` |
| Bounded logs | `logs` |
| Declared and detected ports | `ports` |
| Owner of a local port | `port_inspect` |
| Available actions | `action_list` |
| Operation plan | `plan` |
| Dependency graph | `graph` |
| Preflight checks | `doctor` |

Use CLI only as a fallback or for a surface MCP does not expose:

```bash
KRANZ_PROJECT=NAME kranz status --output json
KRANZ_PROJECT=NAME kranz logs SERVICE --tail 200
KRANZ_PROJECT=NAME kranz ports --output json
KRANZ_PROJECT=NAME kranz services info SERVICE
KRANZ_PROJECT=NAME kranz actions --output json
kranz ports inspect 3303 --output json
KRANZ_PROJECT=NAME kranz clients --output json
```

`-p NAME` is equivalent to the one-shot `KRANZ_PROJECT=NAME` prefix and is
appropriate when explicit command text is easier to audit.

Treat `ready: null` and `alive: null` as “no probe configured”, never as a
successful health check. Logs remain available after a process exits, so read
them before considering a restart.

## Mutate only when requested

`start`, `stop`, `restart`, `up`, `down`, `reload`, and `action_run` change the
developer's live environment. Use them only when the user explicitly asks for
that outcome.

Before a build, test, migration, or other project command:

1. Read `action_list`.
2. If Kranz declares the operation, use its action so the configured working
   directory, environment, dependencies, output retention, and ownership stay
   correct.
3. If no matching action exists, use the repository's normal command.

Before `action_run`, inspect the action metadata:

- `confirm: true` means the action requires a plan-bound confirmation token.
  Check that the user has authorized the action and its affected scope, then
  follow the MCP confirmation flow below. Do not ask for a second approval when
  the request already authorizes it.
- `interactive: true` requires a real terminal and should be run by the user in
  the TUI or terminal CLI.

Stopping or restarting a service can include its dependents. Read the resolved
plan or mutation result and report every affected service.

MCP `up` creates a background runtime with no services and requires explicit
authorization. It does not happen when the MCP server connects. MCP `down`
only stops a runtime that the same MCP session created with `up`.

## Confirm the exact MCP operation

`start`, `stop`, and `restart` require a non-empty `selectors` list of explicit
services or tags. Use the same `runtime` and `selectors` for a preview with
`plan` and for the mutation. An unscoped `plan` previews every service, but an
unscoped lifecycle mutation is rejected. For `start`, also keep
`include_dependencies` identical between preview and execution.

If an authorized mutation returns `confirmation_required`, read its resolved
plan and one-shot `confirmation_token`, check the affected targets, and repeat
that same MCP call with the token. A token from an explicit `plan` call can also
be used with the matching mutation. This protocol confirmation is not a new
request for user permission when the user has already authorized that scope.

Tokens have no time-based expiry. `confirmation_expired` means the token is

From kranz-org/kranz, MIT.

Signals

Stars
62
Forks
2
Open issues
0
Last commit (this folder)
Sep 29, 2026 (1 month ago)
Last release
Oct 18, 2026 (10 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Same skill elsewhere

Copies of this SKILL.md published by others; search shows only one of them.

Cite this page

kranz-services skill. Agent Mart. https://agentmart.dev/skills/kranz-org-kranz-services (last updated 2026-10-24)