Skip to content
Back to skills

Docs

ASecurity

> The CLI is the stable executable surface. The skill is the assistant-facing layer > that knows *when* and *how* to invoke that CLI. `ai-jury` ships two things that travel together: - the **`jury` CLI** — the stable, testable executable surface; and - the **ai-jury skill** — a small `SKILL.md` that teaches a coding agent when to convene the jury and how to read back the result. This page covers the skill as a reusable artifact: its layout, how to install it into Codex/Claude-compatible skill...

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 28, 2026
ai-agentsrustbashgitapi

Works with

  • claude code
  • cursor
  • cli
  • api

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add berkayturanci/ai-jury --skill docs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Docs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Docs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/berkayturanci-docs/badge)](https://www.skillsdirectory.com/skills/berkayturanci-docs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Publishing & installing the ai-jury skill

> The CLI is the stable executable surface. The skill is the assistant-facing layer
> that knows *when* and *how* to invoke that CLI.

`ai-jury` ships two things that travel together:

- the **`jury` CLI** — the stable, testable executable surface; and
- the **ai-jury skill** — a small `SKILL.md` that teaches a coding agent when to
  convene the jury and how to read back the result.

This page covers the skill as a reusable artifact: its layout, how to install it into
Codex/Claude-compatible skill folders, the external tools it expects, how its version
relates to the CLI, worked examples, and a smoke-test checklist. For *where* the jury
runs across platforms (and the support status of each), see the
[platform support matrix](platforms.md); for the Claude Code plugin manifests, see
[`.claude-plugin/`](../.claude-plugin/).

## Skill directory layout

The skill is a self-contained directory under [`skills/`](../skills):

```text
skills/
└── ai-jury/
    └── SKILL.md      # YAML front matter (name, description) + instructions
```

`SKILL.md` is the entire artifact. Its front matter declares the skill `name`
(`ai-jury`) and a `description` that tells the host agent when to trigger it
("review jury", "convene the jury", "cross-model review", a PR/diff/branch review).
The body documents prerequisites, the command table, what to report back, and how the
skill composes with an existing review workflow.

Nothing else is required for the skill to work — it carries no code of its own; it drives
the `jury` CLI. The repository's [`.claude-plugin/plugin.json`](../.claude-plugin/plugin.json)
points its `skills` field at this same `skills/` directory, so the plugin install path and
the manual copy path serve the identical artifact (no duplication).

The directory is at the repository root and named `skills/` for a second reason:
Antigravity discovers plugin components **only** by root-directory convention and reads no
path from the manifest, so a differently-named directory imports as nothing at all —
silently, with the install still reporting success (#775).

## Install into a skill folder

The skill is platform-portable because every host ultimately runs the same `jury`
command. Two install routes exist; pick by host.

### Claude Code (plugin — recommended)

This repo doubles as a single-plugin marketplace, and in a session the short form
is `/plugin marketplace add berkayturanci/ai-jury` then
`/plugin install ai-jury@ai-jury`.

**The CLI commands, and the update path, are in [install.md](install.md#claude-code)**
— along with the same for Codex, Antigravity and Cursor. They are deliberately not
repeated here: `plugin install` is a no-op on an installed plugin, so an
install-only recipe leaves a reader on a version they cannot move off, and a second
copy of the recipes is how this page came to describe one agent while the matrix
described four.

The manifests that make this work are in [`.claude-plugin/`](../.claude-plugin/)
(`marketplace.json` + `plugin.json`); they are documented in the
[platform matrix](platforms.md#claude-code-plugin) and not repeated here.

### Claude Code (manual skill copy)

Copy the directory into the host project's skill folder:

```bash
cp -R skills/ai-jury <your-project>/.claude/skills/ai-jury
```

### Codex / other Claude-compatible skill folders

Codex has a plugin marketplace, and `.codex-plugin/plugin.json` is this repository's
manifest for it: `codex plugin marketplace add` then `codex plugin add ai-jury@ai-jury`,
with the update path in [install.md](install.md#codex). That is the route to prefer.

The copy-the-folder route below still works on any Claude-compatible skill directory, and
so does referencing the `jury` command from an `AGENTS.md` — see the
[snippet in the platform matrix](platforms.md#codex-cli). Neither needs a plugin at all,
which is what makes them useful in a container or a CI job. The underlying capability
(running `jury`) is identical across hosts; only the packaging differs.

## Required external tools

The skill itself adds no dependencies beyond what the CLI needs. At review time the host
must have:

- **`jury`** — required. The CLI entry point on `PATH`
  (`pipx install ai-jury`). The skill is inert without it.
- **`gh`** — required only for GitHub-sourced or GitHub-posted runs (`--pr`,
  `--issue`, `--post-summary` / `--post-inline`). Must be authenticated.
- **A reviewer** — at least one: a native agent CLI of the built-in panel (`claude`,
  `codex`), a local model (`vendor = "local"`), or a hosted-API seat with its key. Missing
  CLIs are skipped automatically (unless `--strict`), and the jury runs with whoever is
  available — but with no `jury.toml` the built-in panel names two vendors, so a host
  with only one of `claude`/`codex` installed exits `3` (the cross-vendor guard) unless
  you pass `--no-min-vendors` or seat a second vendor. `agy` is opt-in: it cannot be
  confined for untrusted diffs, so it runs only when a `jury.toml` seats it by name
  (`jury init --agents agy`), and `agy` alone is no reviewer at all.

The same prerequisite detail lives in the [platform matrix](platforms.md);
`jury --doctor` checks these per host.

## Versioning policy (skill ↔ CLI)

The skill is versioned to track **CLI compatibility**, not to advertise new prose:

- The skill version follows the CLI/plugin version in
  [`.claude-plugin/plugin.json`](../.claude-plugin/plugin.json). A consumer reading the
  skill version knows which `jury` CLI it was written against.
- A **breaking CLI change** — a renamed/removed flag, a changed command surface, or
  changed output contract that the skill instructs the agent to rely on — **bumps the
  skill version**. The skill must never instruct an agent to call a flag the pinned CLI
  no longer accepts.
- Additive, backward-compatible CLI changes (new optional flags the skill does not yet
  use) do not require a skill bump.
- Wording-only edits to `SKILL.md` that do not change which commands the agent runs are
  not breaking and do not force a version bump.

In short: the skill version is a compatibility marker for the CLI it drives. Skill
behavior changes are called out in release notes alongside the CLI change that motivated
them.

## Examples

All examples assume `jury` is on `PATH` and a panel of two vendors can sit — `claude`
and `codex` installed, or a `jury.toml` seating two vendors — since fewer exits `3`.

### PR review

Review a GitHub pull request and report the verdict:

```bash
jury --pr 123
```

Post the verdict back as a comment (requires authenticated `gh`) — works for a
PR (`gh pr comment`) or an issue (`gh issue comment`):

```bash
jury --pr 123 --post
```

### Issue review

Point the same jury at a GitHub **issue** to judge it for completeness and
clarity (reproduction steps, expected vs actual, scope, missing context). The
verdict vocabulary is **READY / NEEDS-INFO / UNCLEAR**:

```bash
jury --issue 42                 # print the completeness verdict
jury --issue 42 --post          # comment it back on the issue
jury --issue 42 --decision vote # decide by panel vote (NEEDS-INFO > UNCLEAR > READY)
```

### Diff-file review

Review the current branch against the default branch, or a saved diff:

```bash
git diff origin/HEAD... | jury --diff-file -
jury --diff-file path/to/changes.diff
```

### Advisory ship/review integration

The jury is an **advisory** cross-vendor pass that composes with — and does not
replace — a host project's own review workflow. A typical pattern: run the jury first
for a cross-vendor read, surface its consensus findings, then let the project's existing
reviewers (or a ship gate) act on them.

```bash
# advisory cross-vendor pass before the project's own gate
git diff origin/HEAD... | jury --diff-file - -o jury-report.md
```

The skill reports the chair verdict (APPROVE / COMMENT / REQUEST CHANGES for a PR
or diff; READY / NEEDS-INFO / UNCLEAR for an `--issue`), the consensus
findings (issues 2+ agents agreed on, with `path:line`), and any disputed findings worth
a human decision — leaving the actual ship/block decision to the host workflow.

## Smoke-test checklist

A minimal pass to confirm the skill is installed and wired correctly:

- [ ] `jury --help` runs (CLI is on `PATH`).
- [ ] The skill directory is present in the host's skill folder
      (`.claude/skills/ai-jury/SKILL.md`), or the plugin shows as installed.
- [ ] Offline dry run produces a report with no live CLIs: `jury --mock`
      (reviews a diff bundled with the package; no checkout needed)
- [ ] The reviewers are resolvable — `claude` and `codex`, or the seats your `jury.toml`
      names (`agy` only if you seated it by name) — or a live run is not expected.
      `jury --doctor` lists which are available.
- [ ] For PR runs: `gh auth status` is authenticated.
- [ ] Invoking the skill by name/trigger ("convene the jury") prompts the host agent to
      run the matching `jury` command and report the verdict + consensus findings.

Files in this skill

  • architecture.md22.4 KB
  • assets/hero-light.svg8.8 KB
  • assets/hero.svg8.8 KB
  • benchmark-results.md4.1 KB
  • case-study-abdication.md3 KB
  • case-study-dogfood-v1.2.0.md6.1 KB
  • comparison.md6.1 KB
  • configuration.md50.8 KB
  • cookbook.md45.6 KB
  • example-live-review.md6.4 KB
  • example-run.md2 KB
  • feasibility.md6.7 KB
  • homebrew-release-chain.md11.9 KB
  • install.md5.9 KB
  • parameters.md46.9 KB
  • platforms.md5.3 KB
  • positioning.md7.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.