Agent Skills: Expert Registry

>-

UncategorizedID: oakensoul/aida-core-plugin/expert-registry

Install this agent skill to your local

pnpm dlx add-skill https://github.com/aida-core/aida-core-plugin/tree/HEAD/skills/expert-registry

Skill Files

Browse the full folder contents for expert-registry.

Download Skill

Loading file tree…

skills/expert-registry/SKILL.md

Skill Metadata

Name
expert-registry
Description
>-
<!-- SPDX-FileCopyrightText: 2026 The AIDA Core Authors --> <!-- SPDX-License-Identifier: MPL-2.0 -->

Expert Registry

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; install aida-expert-plugin from 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.

Activation

This skill activates when:

  • User invokes /aida expert list
  • User invokes /aida expert list configure
  • User invokes /aida expert panel list
  • User invokes /aida expert panel create <name>
  • User invokes /aida expert panel remove <name>
  • Expert activation or panel management is needed

Operations

List Experts

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 frontmatter
  • active -- whether the expert is currently activated
  • expert-role -- sub-role (core, domain, or qa)
  • source -- config origin (merged, project, global, or null)

Configure Expert List

Interactively select which experts are active and choose a save target (project or global scope).

Uses the two-phase API.

Phase 1: Gather Context

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"
    }
  ]
}

Phase 2: Execute

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.

List Panels

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 identifier
  • members -- list of expert names in the panel
  • stale -- members listed but not currently active

Panel Create

Create a new named panel or replace an existing one.

Uses the two-phase API.

Phase 1: Gather Context

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.

Phase 2: Execute

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).

Panel Remove

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.

Path Resolution

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

Config File Locations

| 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.

Example Workflow

Activating Experts (Full Flow)

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."

Resources

scripts/

  • manage.py -- Entry point for two-phase API
  • expert_ops/
    • registry.py -- Config I/O, active-expert resolution
    • panels.py -- Panel resolution and role filtering

references/

  • schemas.md -- Config file and frontmatter schemas

templates/questionnaires/

  • configure.yml -- Question template for configure flow