Dome Systems

Draft release notes from merged pull requests

A scheduled job that turns merged pull requests into a release-note draft.

User
Caller
  • ScheduledEvery Monday at 9:00 AM
App
Agent
  • release-notes-writer
Daily limit
release-notes-writer
$2.00
Governance
Gateway
  • release
Pool

release-pool

  • release-notes-model
Tools

github

    Guard
    • block-leaked-keysresponse

    What this template gives you

    • Caller

      Every Monday at 9:00 AM

      A schedule, rather than a person, invokes the agent. The local template shows the configured schedule but does not run it automatically.

    • Interface

      A chat window, in your browser

      Use this page to run it manually and inspect the result. Its configured schedule is Every Monday at 9:00 AM.

    • Budget

      $2.00 per day

      release-notes-writer is capped at $2.00 per day.

    • Gateway

      release gateway

      This template sends its requests through release gateway, where its access rules and limits apply.

    • Model

      release-notes-model

      This template uses release-notes-model through the release-pool pool.

    • Content

      block-leaked-keys inspects the github response

      Withhold a tool result carrying a private key

    Usage

    Hand this template to an AI agent to set up this template

    Node.js and npm to run npx.

    Dome CLI, installed with brew install dome-systems/tap/dome, then signed in with dome auth login.

    Docker Compose to run the companion app locally.

    1. 1

      Create a sandbox workspace

      dome sandbox provision --scope workspace

      Use a sandbox while trying a template. Provisioning does not switch your active context.

    2. 2

      Switch to the sandbox workspace

      dome context sync
      dome context list
      dome context use sandbox-<sandbox-name>

      Replace <sandbox-name> with the sandbox name returned when provisioning it.

    3. 3

      Pull the template

      npx @domesystems/templates pull dome-systems/ai-agent-for-release-notes@0.1.1 --dir ai-agent-for-release-notes

      Downloads this immutable release and verifies its digest.

    4. 4

      Run the template

      npx @domesystems/templates up --dir ai-agent-for-release-notes

      Imports it into Dome and starts the companion app.

    Dome import variables

    npx @domesystems/templates up imports the template into Dome and prompts for required values. For unattended runs, set them as DOME_IMPORT_VAR_… environment variables.

    Required values

    • DOME_IMPORT_VAR_github_token
    • DOME_IMPORT_VAR_anthropic_api_key

    Runtime environment

    These variables are required to run the agent. During pull, .env.example is copied to .env when available. If they’re missing, npx @domesystems/templates up retrieves them from Dome and saves them in .env. Pass --provision to refresh them.

    # The container holds exactly one secret.
    #
    # Tool credentials went into Dome when dome import ran and live behind the gateway.
    # The provider key lives with the Broker. Neither is here, and neither should be.
    
    # Revealed once after import: dome import outputs <job-id>
    DOME_TOKEN=
    
    # The gateway ROOT — not a bare host, and not the /mcp path.
    # Copy the "Gateway URL" from the command above. The container derives
    # /mcp for tools and /v1/messages for models from it.
    DOME_GATEWAY_URL=
    
    # the repository to draft notes for, as owner/repo — your choice, and the token must reach it
    TARGET_REPO=

    Agent instructions

    You draft release notes for a software project.
    
    Each run:
    
    1. List pull requests merged into the default branch of the repository named in
       your task, in the window it gives you.
    2. Read the ones whose titles or bodies suggest user-visible change. Skip
       dependency bumps, CI changes, and internal refactors unless they change
       behavior. Where a title is not enough to say what is now different for a
       user, look at the pull request in whatever more detail you can get.
    3. Produce notes in three sections — Added, Changed, Fixed. Omit any section
       with nothing in it.
    
    Write for someone who uses the software and does not read the code. One line
    per change, in the present tense, describing what is now different for them.
    Link the pull request number at the end of each line.
    
    If nothing user-visible merged in the window, say exactly that. A release note
    that pads an empty week with internal churn trains people to stop reading.