{% extends "base.html" %} {% block title %}Submission examples — {{ config.INSTANCE_NAME }}{% endblock %} {% block content %}
Each component (plugin, agent, skill, command) needs a description that names the trigger condition AND the action. Skills are the strictest case because Claude reads the description verbatim when deciding whether to invoke the skill. Examples below show the minimum bar plus what a strong submission looks like.
| Field | Minimum | Recommended | What it does |
|---|---|---|---|
| Skill / agent / plugin description | {{ guardrail.min_description_chars|default(60) }} chars · {{ guardrail.min_distinct_words|default(5) }} distinct words | 120–220 chars (one full sentence) | Tells the assistant when to use the component and what it does. Showed on the marketplace tile so others can pick it. |
| Command description | {{ guardrail.min_command_description_chars|default(25) }} chars · {{ guardrail.min_distinct_words|default(5) }} distinct words | 40–100 chars | Commands are one-verb actions ("run tests", "format code"). A short clear sentence is enough. |
| Skill / agent content body | {{ guardrail.min_body_chars|default(200) }} chars | 500–2000 chars | The body explains what the component does once used: inputs it expects, outputs it produces, edge cases. The minimum is a "one paragraph" floor that catches stubs. |
TODO or
description. Submissions that pass the length check
then go to a substantive reviewer that judges whether the
description is genuinely useful or just padded filler that hit
the character count by accident.
skills/<name>/SKILL.md with YAML frontmatter and a
body. The frontmatter description IS the trigger
string Claude reads; the body explains how the skill works once
invoked.
--- name: code-review description: A reviewer skill --- Reviews code.
--- name: code-review description: Use when reviewing pull requests to flag missing tests, weak assertions, brittle implementation-coupled tests, and edge cases the implementation forgot. --- # Code review skill Run this skill against the diff of an open pull request. It walks the changed files and surfaces three categories of issues: 1. **Missing tests** — new functions / endpoints / migrations without corresponding test coverage. 2. **Weak assertions** — tests that exist but only assert truthy values, status codes, or shape without verifying the actual behavior contract. 3. **Brittle coupling** — tests that depend on private state, internal call counts, or implementation details that will break on refactor without catching real regressions. ## Inputs The skill expects to be invoked from a git repo with a PR branch checked out. It reads `git diff..HEAD` to scope the review. ## Output Markdown comment grouped by file, with line refs and one fix suggestion per finding.
.md file with YAML frontmatter. The
description drives dispatch — when a parent agent
decides which subagent to spawn, this is the string it reads.
--- name: debugger description: A debugger --- Helps with debugging.
--- name: debugger description: Diagnoses test failures, runtime errors, and unexpected behavior. Use when a build is failing, a stack trace lands in the conversation, or the user describes a symptom without a known root cause. --- # Debugger subagent Triage flow: 1. Reproduce the failure deterministically (capture the exact command + working directory + relevant env). 2. Reduce — strip the case down to the smallest input that still fails. Confirm the reduction reproduces. 3. Bisect or trace, depending on whether the regression is recent or the behavior was never correct. 4. Propose ONE root-cause hypothesis and a minimal fix. Don't shotgun-fix multiple symptoms. Report the hypothesis + fix path back to the dispatcher; do not apply the fix yourself unless explicitly asked.
.claude-plugin/plugin.json at the bundle root. The
description is the marketplace tile copy — first
thing a user sees when browsing.
{
"name": "review-tools",
"description": "Tools for code review",
"version": "0.1.0"
}
{
"name": "review-tools",
"description": "Code review automation: PR diff analysis, test
coverage gaps, and a configurable rule pack for Rails / Python /
TypeScript projects.",
"version": "0.1.0"
}
commands/<name>.md. Shown in /help
and slash-command lists. Lower 20-char floor since commands tend
to be one-verb actions.
--- name: run-tests description: Runs tests ---
--- name: run-tests description: Run the project test suite and print failures grouped by file with the first 5 lines of the traceback inline. ---