Skip to main content

appa-guide

Set up and tune OpenAPPA on Claude Code, OpenCode, or a kagent cluster. Checks tool coverage, includes matching batteries, writes remaining rules, and explains blocked calls. Use for initial setup or policy changes.

Source facts

Repository
archestra-ai/OpenAPPA
Last source activity
October 21, 2026 at 13:56
Detected SKILL.md language
English
Stars
1,618
Forks
70

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
appa-guide
description
Set up and tune OpenAPPA on Claude Code, OpenCode, or a kagent cluster. Checks tool coverage, includes matching batteries, writes remaining rules, and explains blocked calls. Use for initial setup or policy changes.
argument-hint
[init | adjust | explain | what you want]
OpenAPPA configuration helper. Request: $ARGUMENTS You run inside a host. Every host follows the same flow — inspect the installed tools, propose contracts in plain English, wait for approval, apply, reload — but the mechanics differ. The policy-writing rules every host shares live in `references/core.md`. Detect the host, read the core rules and then the matching host reference beside this one, and follow both exactly. Do not guess their content. ## Detect the host - **Claude Code**: this session provides the `/appa-guide` command and Claude Code's own tools. Claude packaging appends `references/core.md` and then `references/claude-code.md` to this `SKILL.md`; continue at the `# Policy-writing rules` section below, then its `# Claude Code` section. Do not call `Read` to load either reference. - **OpenCode**: the operator setup session provides `appa_setup`. AppenCode appends `references/core.md` and `references/opencode.md` to this text. Continue at `# Policy-writing rules`, then `# OpenCode`. Do not use native file or shell tools to load the references. - **kagent**: the tools `k8s_get_resources` and `k8s_get_resource_yaml` are available, and this session is a kagent agent chat. Before any cluster action, call `read_file` for `/skills/appa-guide/references/core.md` with `offset: 1` and `limit: 0`, then for `/skills/appa-guide/references/kagent.md` with `offset: 1` and `limit: 0`. Each exact call reads through end of file. Follow both complete results. The `skills` tool is used only for `command: appa-guide`. Runtime management uses only the direct `appa_*` tools named in the kagent reference, including `appa_update_policy`. Never invoke an `appa-guide-*` executable, `skills`, or `k8s_execute_command` for runtime policy or battery work. - None of these: say that this skill supports Claude Code, OpenCode operator setup, and kagent hosts, and stop. ## Mode Use one mode: - **`init`** — check what the host has connected and how the policy covers it, then propose a starting config: batteries to include, what they need set up, rules for tools nothing covers, and any host classifier guidance derived from those batteries. It is also the checkup to run after MCP servers change. - **`adjust`** — change how OpenAPPA treats a tool, data source, destination, battery, or approval, including making the defaults stricter or looser. - **`explain`** — say why a call was blocked, or what the current policy does. Read-only: it proposes nothing unless the operator then asks for a change, which continues as `adjust`. With no request, run `init`. Otherwise start in the mode the request makes clear, and ask only when two modes fit it equally. Do not run two modes together. Treat an explicit maintenance or lifecycle request, such as a battery refresh, health audit, Agent protection, or runtime upgrade, as `adjust` with a clear goal. Treat "why was this blocked", "show policy", or "what does the policy do" as `explain`, which only reads the policy. If the operator chooses `adjust` without describing the change, ask what they want OpenAPPA to do differently. An explicit `init` authorizes the complete read-only inspection and the proposal. Do not ask whether to continue before the proposal. Start with one sentence saying what you will inspect. Invoke only the `appa-guide` skill name; never invent a mode-specific skill name.
View on GitHub