Team Composition

Orchestrate the release team: coordinates release-manager, qa-lead, devops-engineer, and producer to execute a release from candidate to deployment

Team Composition:

Orchestrating Effective Release Teams

What Is This

Team Composition is a skill available on the Happycapy Skills platform, identified as team-release. This skill orchestrates the release team by coordinating the efforts of four primary subroles: release-manager, qa-lead, devops-engineer, and producer. The objective is to manage the release process from candidate selection to deployment, ensuring each phase is executed in a structured, collaborative, and auditable manner.

The team-release skill leverages automation and human-in-the-loop decision points to guide the team through the standard release pipeline. It ensures that responsibilities are clear, proposals are reviewed, and crucial decisions are made transparently with user confirmation at each critical juncture. The skill is designed to be user-invocable and operates with a set of allowed tools for file reading, editing, querying, and interactive questioning.

Why Use It

Releasing software, especially in a collaborative environment, requires more than just technical know-how. Coordination, accountability, and traceability are essential to minimize risks and deliver high-quality releases. The team-release skill addresses several common pain points in release management:

  • Clear Role Assignment: By defining the responsibilities of the release-manager, qa-lead, devops-engineer, and producer, it prevents role ambiguity.
  • Automated Context Handling: The skill can infer the release version if not explicitly provided, reducing manual lookup and potential errors.
  • Structured Decision Making: It integrates user approval at every phase transition, ensuring that the team is aligned and no critical step is skipped.
  • Auditability and Traceability: All actions, proposals, and decisions are logged and summarized, creating a transparent release history.

By orchestrating the team's actions through a defined workflow, the skill helps deliver reliable releases while fostering accountability and communication.

How to Use It

The team-release skill is user-invocable, meaning a user can trigger it via the Happycapy Skills platform. The invocation requires a version number or the keyword 'next' as an argument. If not provided, the skill attempts to infer the release version from milestone data.

Step-by-Step Usage

  1. Invocation
    Trigger the skill with:

    team-release [version number or 'next']

    If no version is provided, the skill reads from production/session-state/active.md and the newest file in production/milestones/ to infer the version.

  2. Version Resolution

    • If a version is inferred, the skill reports the finding and asks for user confirmation:
      No version argument provided - inferred v1.2.3 from milestone data. Proceeding.
      Releasing v1.2.3. Is this correct?
    • If not, it asks the user to specify the version:
      What version number should be released? (e.g., v1.0.0)

    No hardcoded default is used.

  3. Pipeline Execution
    The skill orchestrates the following roles:

    • release-manager: Handles release branching, version tagging, changelog updates, and deployment coordination.
    • qa-lead: Conducts test sign-off, runs the regression suite, and acts as the release quality gate.
    • devops-engineer: Prepares infrastructure, automates the deployment process, and monitors for issues.
    • producer: Oversees timelines, aligns stakeholders, and manages communication.

    At each phase transition, the skill presents the user with proposals from the relevant subagent. For example:

    QA-Lead proposes: "All critical tests have passed, and the regression suite is green. Ready for release sign-off."
    Choose an action:
    - Approve and continue
    - Request further testing
    - Abort release

    The full analysis is written in the conversation, and the user's decision is recorded with a concise label.

  4. Phase Transitions
    The process continues, with user approval required before moving to each next step, ensuring that quality gates and review processes are respected.

Example:

Invoking the Skill in Bash

## To release version v2.5.0
team-release v2.5.0

If no version is specified:

team-release
## Skill will prompt for version or infer automatically

When to Use It

Use the team-release skill when you need to:

  • Coordinate complex releases involving multiple roles and steps
  • Ensure that each phase of the release is reviewed and approved
  • Minimize manual handoffs and potential communication breakdowns
  • Maintain a clear, auditable record of release decisions

It is particularly valuable in organizations practicing continuous delivery, agile release trains, or any environment where traceability and compliance are important.

Important Notes

  • Strict Version Handling: The skill never defaults to a hardcoded version string. If a version cannot be inferred, user input is mandatory before proceeding.
  • Mandatory User Approval: Every phase transition requires explicit user confirmation, preventing accidental or unauthorized releases.
  • Role Definitions: The skill assumes the presence of defined subroles. Ensure your team structure maps to the expected roles for full benefit.
  • Extensible and Scriptable: Works with standard tools (Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite) for maximum flexibility in CI/CD environments.
  • No Em-dashes: All communication, prompts, and documentation use standard hyphens for clarity and compatibility.

The team-release skill brings structure and reliability to your release process through coordinated team composition and enforced decision checkpoints. Use it to streamline releases and foster a culture of accountability and quality.