assemble-panel
Use when another skill or agent needs a review panel assembled, retained, or converged — invoked by /review, /plan-review, and code-reviewer, not directly by users.
What this skill does
# Assemble Panel
Centralizes reviewer selection and loop governance. Returns a panel + policy to the caller; the caller dispatches. This skill produces data — it never dispatches agents or modifies files.
## Integration Contract
Callers provide:
- `scope`: a plan file path OR a git diff (the artifact under review)
- `overrides` (optional): `{ include: [], exclude: [] }`
Returns (structured text the caller parses):
- `panel`: ordered list of reviewer agent names
- `policy`: gate, cap, and the algebra below
Fallback when unavailable: `[technical-editor, code-reviewer]`, gate=P2, cap=3.
**Cross-tool note:** Codex/Cursor cannot invoke skills via the Skill tool. Read this file directly and apply the policy algebra inline.
## Policy Algebra (frozen — do not modify, version: 1)
```
DEFAULTS:
gate = P2 # fix P0-P2, record P3+
cap = 3 # max rounds before escalate
always = [technical-editor] # expandable, never reducible
ASSEMBLE(scope: plan_file | diff):
panel = always
+ select_by_scope(file_types(scope))
+ select_by_keywords(body(scope))
+ overrides.include
- overrides.exclude # cannot remove `always` members
RETAIN(reviewer, round_findings):
keep(reviewer) while round_findings.any_above(gate)
EXPAND(panel, prior_scope, current_scope):
new_coverage = file_types(current_scope) - file_types(prior_scope)
panel += select_by_scope(new_coverage) when new_coverage
CONVERGE(round, panel, cap):
APPROVE when all(reviewer.done for reviewer in panel)
ESCALATE when round >= cap
EXIT when any(reviewer.verdict == DROP)
continue otherwise
ESCALATE_RECURRING(finding, rounds_present):
finding.severity += 1 when rounds_present >= 2
```
## Scope-to-Reviewer Map
Used by `select_by_scope(file_types)`:
| File pattern | Reviewer |
|---|---|
| `.ts`, `.js`, `src/`, `tests/` | code-reviewer |
| `.yml`, `.github/workflows/` | code-reviewer, security-auditor |
| `.sh`, `scripts/`, `hooks/` | code-reviewer, security-auditor |
| `.md` (plans, ADRs, docs) | architect-reviewer |
| `*.css`, `*.tsx`, UI components | design-reviewer, accessibility-tester |
| `sync.sh`, `AGENTS.md`, `config.toml`, skills | codex-specialist |
| `*.pem`, `*.key`, secrets patterns | security-auditor |
When multiple patterns match, union all reviewers. Duplicates collapsed.
## Keyword-to-Reviewer Map
Used by `select_by_keywords(body)`:
| Keyword / phrase | Reviewer |
|---|---|
| "architecture", "ADR", "system design", "plan" | architect-reviewer |
| "security", "auth", "token", "PAT", "OIDC" | security-auditor |
| "WCAG", "accessibility", "a11y", "aria" | accessibility-tester |
| "UI", "component", "layout", "design system" | design-reviewer |
| "docs", "research", "ecosystem", "reference", "educational" | fact-checker |
| "Codex", "cross-tool", "sync.sh" | codex-specialist |
Keywords are case-insensitive substring matches against the scope body.
## Override Rules
- `overrides.include` appends reviewers unconditionally.
- `overrides.exclude` removes reviewers EXCEPT those in `always`. Attempting to exclude an `always` member is silently ignored.
- Invalid reviewer names are rejected with an error listing valid names.
## Failure Modes
- **Scope empty or unreadable**: return `always` panel only, warn caller.
- **No file types detected**: fall back to keyword matching only. If neither matches, return `always` panel.
- **Caller requests cap > 5**: clamp to 5. Non-negotiable ceiling.
- **Panel exceeds 5 members**: warn caller — likely a sign the change is too broad.
- **Reviewer unavailable at dispatch time**: caller skips that reviewer and notes the gap.
## Orchestrator Authority
The panel recommends; the orchestrator (the agent dispatching the panel) decides. The gate and cap above are inputs to that decision, not overrides of it.
**MAY:**
- **Descope** a P1/P2 finding if addressing it balloons scope past a single concern — file a follow-up issue.
- **Split** into phased PRs when panel findings grow scope past a reasonable single landing. Core ships first; hardening and docs follow. **Pre-dispatch:** before handing off to an implementer, check the plan's scope — if Files-to-Modify > 5 OR total planned test count > 8, split into sequential phases upfront. The reactive trigger above fires after panel feedback; this fires before implementation starts, preventing single-agent context overflow (e.g., PR #241: 3 new scripts + aggregator changes + ADR + 11 tests → 78 tool uses → overflow).
- **Push back** on false positives with explicit rationale. If the same finding recurs across reviewers or rounds, examine why — either the reviewers are right, or there's a structural reason the code looks like the pattern they're flagging. When pushing back, name the finding (reviewer + severity + quoted text), give the rationale, and cite evidence (code paths, existing patterns, prior ADRs).
- **Accept with documented deviation** — address some P1s, defer others with justification in the plan's Risks section.
**MUST NOT:**
- Silently drop P0 findings. P0 must be addressed, escalated, or the plan rejected.
- Override `security-auditor` findings without escalating to a human.
**Escalate to human when:**
- A P0 is disputed and the rationale for pushback isn't clear.
- Multiple reviewers converge on a concern the orchestrator disagrees with.
- A security finding's mitigation trade-off affects the trust model.
**Example pushback:**
> Security-auditor P1: "Include severity inside HMAC payload."
> Orchestrator: Pushing back. Severity is computed by a separate classifier (classify-findings.sh), not emitted by the CLI wrapper, so it's not available at sign-time. Binding it into HMAC would require restructuring the entire review pipeline. Alternative: include `tier` in fingerprint — this closes the cross-tier collision vector without HMAC restructure. Will address P0-2 with tier-in-fingerprint; defer severity-in-HMAC as a separate ADR if needed.
## Output Format
```
PANEL: technical-editor, code-reviewer, security-auditor
GATE: P2
CAP: 3
ALWAYS: technical-editor
NOTE: codex-specialist included — scope touches sync.sh
```
One `NOTE` line per non-obvious selection decision. Callers surface these in review summaries.
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.