🎼Composition

Agent orchestrates skills

Top-level agent chains pr-description-writer → repo-lint-report → PR open → nightly-changelog → Slack.

Surfaces
agent · skill · mcp
Complexity
advanced
Trigger
natural
Est. tokens
15,000
Requires MCP
slack

What It Does

Top-level agent whose sole job is orchestration. It calls four independently-tested sub-skills in sequence: pr-description-writer for the body, repo-lint-report as a gate, gh pr create to open the PR, nightly-changelog in one-off mode, then Slack notify. No business logic lives in the orchestrator — pure glue.

When It Triggers

  • "Ship this feature"
  • "Do the full release flow for this branch"
  • "Run the release pipeline"

SKILL.md

markdown
---
name: agent-orchestrates-skills
description: End-to-end agent workflow that chains four skills: pr-description-writer → repo-lint-report → nightly-changelog → Slack notify. Use when user says "ship this feature" or "do the full release flow".
---

# Agent Orchestrates Skills

## Composition
Main skill = orchestrator. It does not contain business logic — it invokes
other skills in sequence, passing artifacts between them.

## Steps
1. Call `pr-description-writer` → captures PR body
2. Call `repo-lint-report` → blocks if verdict is "fix-first"
3. Open PR via `gh pr create` with the captured body
4. Call `nightly-changelog` in "one-off" mode for this PR
5. Notify the #releases channel via Slack MCP

## Why
Each sub-skill is independently testable. The orchestrator is pure glue.

Why This Pattern

Each sub-skill is independently testable and debuggable. When the release pipeline fails, you know exactly which skill returned the bad result. Orchestrators are short and easy to audit because they contain no logic beyond the order of calls.

Gotchas

  • If repo-lint-report's verdict is fix-first, stop and report — don't try to auto-fix.
  • Keep the orchestrator under 50 lines of instructions. If it grows, extract another sub-skill.
  • Log the output of each sub-skill so the user can re-run a single step if one fails.

Before you continue

We use analytics cookies to understand how the documentation is used and improve the experience. Privacy Policy.