Docs · 07

Expert skills

Optional coordinators and bounded specialists. They supply implementation or review guidance to an assignment. They are not running agents and they add no lifecycle stages.

Contract Graph supplies four small domain skills: api-expert, mobile-expert, web-expert and ui-design-expert. Produce and prototype coordinators select expertise; the host supplies worker creation, model configuration and disposal. A coordinator can also use the skills directly without delegation.

Shipped experts

DefaultFocus
api-expertInterfaces, validation, failure behavior and compatibility
mobile-expertPlatform interaction, lifecycle and device constraints
web-expertComponents, browser behavior, state and responsive layout
ui-design-expertHierarchy, interaction states and design alternatives

All experts route to owning contracts and apply the graph’s stay / add-child / elsewhere decision before proposing paths. A technical specialty does not justify a horizontal module. They follow the active lifecycle’s authority and verification rules. Prototype work still defers application automation; production preserves required checks and truthful contracts. A UX proposal cannot supply owner acceptance. These skills create no new global architecture bindings.

Installed structure

Shipped experts live under src/skills/experts/ in the package and install flat under .agents/skills/ for host discovery. Project selection is repository-owned .agents/cg/experts.md. Attribution is one shared THIRD_PARTY_NOTICES.txt.

.agents/
  cg/
    experts.md                    # repository-owned selection and constraints
  skills/
    THIRD_PARTY_NOTICES.txt        # shared expert attribution and MIT license
    api-expert/
    mobile-expert/
    web-expert/
    ui-design-expert/
    payments-api-expert/           # example custom skill; repository-owned

The four defaults install through cg init. The coordinator reads .agents/cg/experts.md, matches the assignment to a skill description and contract boundary, checks the referenced skill and loads only relevant expertise. It does not launch one agent per catalog row. The index is interpreted guidance, not an executable registry.

Add another expert

  1. Create .agents/skills/<name>-expert/. Use lowercase hyphenated names and reserve cg- for lifecycle skills. The four default names are framework-owned.
  2. Add SKILL.md with a matching name, a specific description, and concise instructions. Keep the expert boundary: follow the current assignment, project policy and active lifecycle rules; no independent acceptance, broader scope or release authority.
  3. Add host discovery metadata as required by the skill validator.
  4. Add a row to .agents/cg/experts.md with the skill path, selection criteria and project constraints. Do not add an expert to the lifecycle phase map.
  5. Run cg sync then cg verify. These check metadata and generated discovery, not expert judgment. Exercise the skill on a representative bounded assignment before relying on it.

Ownership and upgrades

Init preserves the project expert index and custom skill files the release does not ship. It refreshes supplied skills, so keep local constraints in the index or a distinctly named custom skill rather than editing a default. The index may omit a default to stop coordinator selection; that does not uninstall it or hide it from host discovery.

If a supplied expert path already exists without framework ownership in the installation manifest, init stops before modifying repository files. Retain that expert under a distinct project name and update the index before retrying; it is never silently replaced by the new default.

Attribution

The four experts adapt guidance from msitarzewski/agency-agents, credited by its license to AgentLand Contributors. Sources are pinned so later upstream changes do not silently change shipped instructions. Source URLs, attribution and the full upstream MIT text live only in the shared .agents/skills/THIRD_PARTY_NOTICES.txt. Contract Graph’s own root license remains Apache-2.0; the upstream material retains its MIT notice. These are concise adaptations, not unchanged upstream agents or measured expertise.

Coordinators and workers

Produce and prototype can use one coordinator with bounded specialists when delegation is available and permitted; direct execution remains valid. This adds no lifecycle stage, scheduler, automatic worker disposal or enforced write confinement.

The coordinator owns the user conversation, scope, review choice, dependencies, shared roadmap and queue updates, integration and recovery. Each specialist receives contract routes, outcome and exclusions, the exact checkout, allowed writes, required checks and return conditions. Worker completion never supplies owner acceptance.

Keep technical queues sequential: independent contributions can share the current Step, but later Steps wait for its integrated gate. Batch items without a queue may run concurrently only after actual dependencies and shared file ownership are checked. Separate contracts or worktrees do not prove independence.

Prototype delegation preserves early preview and deferred application tests. Both loops retain the same accepted delivery handoff and sign-off. See workflow and lifecycle for the stages these specialists sit inside.