From aida-core
Configure AIDA expert-agent activation and panel composition for project and global scopes (list, configure, panel operations), routed through /aida. Use to set which experts/panels are active for workflows like code review and plan grading. Do NOT use to run a review or grading — this only manages the registry.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aida-core:expert-registry [list|list configure|panel list|panel create|panel remove][list|list configure|panel list|panel create|panel remove]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- SPDX-FileCopyrightText: 2026 The AIDA Core Authors -->
⚠ Deprecated in aida-core (1.x): moving to a dedicated
aida-expert-plugin. This skill is an orchestration layer (panel composition + activation policy) on top of agents, which doesn't fit aida-core's scope of extension primitives. See ADR-012 for the rationale and migration plan. The skill keeps working in 1.x — only the future home is changing. At 2.0.0 it will be removed from aida-core; installaida-expert-pluginfrom the marketplace to keep/aida expert ...working.No action needed today. Watch the release notes for the migration steps when the new plugin is published.
Manages expert agent activation and named panel composition.
Experts are regular agents whose frontmatter declares
role: expert (plus an optional expert-role sub-role).
The registry tracks which experts are active and groups them
into reusable named panels for structured workflows.
This skill activates when:
/aida expert list/aida expert list configure/aida expert panel list/aida expert panel create <name>/aida expert panel remove <name>Show all known expert agents and their activation status.
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "list"}'
Returns each expert with:
name -- agent name from frontmatteractive -- whether the expert is currently activatedexpert-role -- sub-role (core, domain, or qa)source -- config origin (merged, project, global,
or null)Interactively select which experts are active and choose a save target (project or global scope).
Uses the two-phase API.
python {base_directory}/scripts/manage.py \
--get-questions \
--context='{"operation": "list-configure"}'
Returns:
{
"inferred": {
"current_active": ["reviewer-agent"],
"source": "project"
},
"questions": [
{
"id": "active",
"type": "multi-select",
"prompt": "Which experts should be active?",
"choices": ["<dynamic list of available experts>"],
"current": ["reviewer-agent"]
},
{
"id": "config_path",
"type": "choice",
"prompt": "Save to project or global config?",
"choices": ["project", "global"],
"default": "project"
}
]
}
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "list-configure"}' \
--responses='{"active": ["reviewer-agent"], "config_path": "project"}'
Writes the experts.active list to the chosen config file.
Existing keys in the file are preserved.
Show all named panel compositions from the active config.
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "panels"}'
Returns each panel with:
name -- panel identifiermembers -- list of expert names in the panelstale -- members listed but not currently activeCreate a new named panel or replace an existing one.
Uses the two-phase API.
python {base_directory}/scripts/manage.py \
--get-questions \
--context='{"operation": "panel-create", "panel_name": "review"}'
Returns the current active experts as choices plus the current panel membership if the panel already exists.
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "panel-create", "panel_name": "review"}' \
--responses='{"members": ["reviewer-agent", "qa-agent"]}'
Adds or replaces the named panel in the project config. Panels are project-scope only (never written to global config).
Remove a named panel from the project config.
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "panel-remove", "panel_name": "review"}'
Removes the key from experts.panels and writes the file
atomically. No-ops gracefully if the panel does not exist.
Base Directory: Provided when skill loads via
<command-message> tags.
Script Execution:
{base_directory}/scripts/manage.py
Reference Files:
{base_directory}/references/schemas.md
Template Files:
{base_directory}/templates/questionnaires/configure.yml
| Scope | Path | Panels |
|---|---|---|
project | .claude/aida-project-context.yml | Yes |
global | ~/.claude/aida.yml | No |
Global and project configs are merged (union). Project
active: [] is an intentional opt-out that suppresses the
global list. When only one layer has experts.active, that
layer is used alone.
User: /aida expert list configure
1. Parse: operation=list-configure
2. Phase 1 (Python):
python manage.py --get-questions \
--context='{"operation": "list-configure"}'
Returns:
- inferred: current_active=["reviewer-agent"], source="project"
- questions: [active, config_path]
3. Present choices to user and collect answers
4. Phase 2 (Python):
python manage.py --execute \
--context='{"operation": "list-configure"}' \
--responses='{"active": ["reviewer-agent", "qa-agent"],
"config_path": "project"}'
- Writes experts.active to .claude/aida-project-context.yml
- Preserves other keys in the file
5. Report to user:
"Activated 2 experts in project config."
npx claudepluginhub aida-core/aida-core-plugin --plugin aida-coreCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.