Skip to content

Feature request: add coordinator.domains: frontmatter to engineering/* SKILL.md files (for spec-coordinator tag-routing) #211

@agentupskill

Description

@agentupskill

Context

A separate skills framework — Agent Upskill's spec-coordinator — uses an SME registry to route cross-domain spec requests to relevant skills. The registry has two routing layers:

  1. Tag-match (deterministic) — picks skills whose coordinator.domains: [...] frontmatter overlaps query tokens (confidence 1.0).
  2. Sonnet classifier (fallback) — scores skills against the query (threshold 0.6 for picks).

The 10 engineering/* skills in this plugin are frequent SMEs on cross-domain specs (any query mentioning system design, testing strategy, ADRs, code review, deployment, etc.). Today they ship without a coordinator: overlay so spec-coordinator picks them classifier-only.

This works (the classifier consistently picks engineering:system-design on architecture queries, engineering:testing-strategy on test-strategy queries, etc. — see agentupskill/skills-core#56 for the registry-discovery clarification ensuring classifier coverage on plugin-shape skills). But adding tag-match would:

  • Reduce ~10 Sonnet classifier calls per spec query when token-overlap is sufficient.
  • Eliminate classifier-confidence variance (±0.1 per _threshold-calibration.md F4.5) on queries with unambiguous match.
  • Make routing more auditable (method: tag with a domain-list vs method: classifier with a confidence float).

engineering:testing-strategy is also Agent Upskill's seed default_broadcast_skills member (per _routing-priors.md §Default-broadcast SMEs) — it's auto-included on every spec-shape query regardless of classifier score. The default_broadcast_skills mechanism is registry-side (a list in spec-coordinator's routing-priors), so this issue doesn't affect that path; it's purely about reducing classifier overhead on the other 9 skills + sharpening tag-match for testing-strategy when its triggers ARE in the query.

Specific request

For each of the 10 engineering/* skills, add a coordinator.domains: [...] block to the SKILL.md frontmatter. Suggested domains per skill (calibrated against Agent Upskill's _routing-priors.md Z4/Z7/Z8/Z9/Z10/Z17 ambiguity zones):

Skill Suggested coordinator.domains
engineering/architecture adr, architecture-decision, decision-record, trade-offs, consequences
engineering/code-review code-review, pull-request-review, security-review, pr-review, n+1-query, injection-risk
engineering/debug debug, bug, reproduce, isolate, diagnose, stack-trace, error-message
engineering/deploy-checklist deploy, deploy-checklist, pre-deploy, release, rollback, migration-gate, feature-flag
engineering/documentation documentation, readme, runbook, onboarding-guide, api-docs, architecture-docs
engineering/incident-response incident, incident-response, outage, postmortem, triage, severity, oncall
engineering/standup standup, daily-standup, yesterday-today-blockers, weekly-update
engineering/system-design system-design, architect, service-boundary, data-modeling, api-contract, concurrent-writer, multi-tenant
engineering/tech-debt tech-debt, technical-debt, code-health, refactor, maintenance-backlog
engineering/testing-strategy test-strategy, test-plan, testing, eval-methodology, tier-1, tier-2, coverage

The coordinator: block is namespaced under a custom-coordinator key so it doesn't conflict with existing Anthropic-defined frontmatter. Schema documented in _routing-algorithm.md §Inputs.

Why upstream rather than a downstream patch

Plugin frontmatter ships with the plugin distribution and is not editable downstream. Without the overlay shipped here, every spec-coordinator installation falls back to classifier-only routing for all 10 engineering:* skills.

Empirical context

PR-#320 (Boogles-Playhouse/claude-skills#320) drafted an 8-PR substrate-epic spec that needed engineering:system-design + engineering:testing-strategy in the 6-SME panel. The classifier sweep correctly picked them post-fix (see agentupskill/skills-core#56), but tag-match would have been faster + more deterministic. F-CAL-6 in _threshold-calibration.md records the calibration trace.

Acceptance

  • Each engineering/*/SKILL.md gets a coordinator.domains: [...] block.
  • A short note added to the plugin's README explaining the field's consumer (Agent Upskill spec-coordinator) so future skill authors know to populate it.
  • No breaking changes — the field is additive.

Happy to send a PR if Anthropic prefers that route.

Cross-references

  • Routing algorithm: _routing-algorithm.md
  • Ambiguity zones (engineering-touching): Z4 (HITL × system-design), Z7 (system-design × architecture), Z8 (incident-response × debug), Z9 (code-review × workers-best-practices), Z10 (testing-strategy × HITL), Z17 (substrate-epic with system-design + testing-strategy + claude-api + cloudflare:*) — all in _routing-priors.md
  • Companion issues (other plugin sources): cloudflare/skills#49, anthropics/skills#1091

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions