Skip to content

Add per-agent skills binding (step 1: data model, all agents default to all skills) - #140

Merged
yikkuro merged 1 commit into
mainfrom
sunt-microsoft-feat-agent-skills-binding-step1
Jul 30, 2026
Merged

Add per-agent skills binding (step 1: data model, all agents default to all skills)#140
yikkuro merged 1 commit into
mainfrom
sunt-microsoft-feat-agent-skills-binding-step1

Conversation

@yikkuro

@yikkuro yikkuro commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

This is step 1 of a multi-step feature to hide the Skills concept behind agents (agent ↔ skills binding).

What this adds (data model only)

  • ALL_SKILL_IDS in desktop/src/agent-catalog.ts — the complete, alphabetically-sorted union of the 23 skill IDs (17 certified/bundled + 6 managed), kept in sync with deployer/skill_catalog.py.
  • A required skills: readonly string[] field on AgentCatalogEntry. Every one of the 8 agents defaults to the full explicit skill list ([...ALL_SKILL_IDS] — its own array instance, no sentinel).
  • A getAgentSkills(agentId) helper returning the agent's skills, or [] for an unknown id.
  • New desktop/src/agent-catalog.test.ts covering the ID set (sorted, no dupes, count), per-agent binding, array-instance isolation, and the resolver helper.

What this does NOT do

No runtime behavior changes: gateway, config.skills application, agent-personas.ts, main.ts, and the renderer are all untouched. Later steps will wire the binding into runtime skill enable/disable.

Validation

  • npm test (desktop): 671 passed, including 5 new tests.
  • npx tsc --noEmit: clean.
  • ESLint: the changed files are clean (0 errors/warnings). The one repo-wide ESLint error is pre-existing in desktop/src/main.ts and unrelated to this change.

Introduce the data model for binding skills to agents. Every agent in the
catalog now carries an explicit `skills` list defaulting to the full set of
23 skill IDs (union of certified + managed skills from
deployer/skill_catalog.py). Adds ALL_SKILL_IDS, a getAgentSkills helper, and
tests. No runtime behavior changes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1fe75171-fea2-45ef-9401-bf8a4ea0f2ba
@yikkuro
yikkuro merged commit 73e6e19 into main Jul 30, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant