Pull Request Description Generator

Write a pull request description from a diff or commits: title, summary, list of changes and testing steps.

Pay by wallet (x402) AI-generated pr-description-generate

Example

Example answer
{
  "title": "Test Document Title",
  "changes": [
    "Changed const x from 1 to 2",
    "Updated return statement to use new constant value"
  ],
  "summary": "Updates the constant value of x from 1 to 2. This change affects the return value of the function.",
  "testing": [
    "Verify that the function returns 2 instead of 1",
    "Run existing unit tests to ensure no regressions"
  ],
  "markdown": "## Description\nUpdates the constant value of x from 1 to 2. This change affects the return value of the function.\n\n## Changes\n- Changed const x from 1 to 2\n- Updated return statement to use new constant value\n\n## Testing\n- Verify that the function returns 2 instead of 1\n- Run existing unit tests to ensure no regressions\n",
  "related_issues": [],
  "breaking_changes": []
}

Inputs

FieldTypeRequiredWhat it is
diffstringYes—
titlestringNo—

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
titlestringAlways (present in every successful answer)
changesarrayAlways (present in every successful answer)
summarystringAlways (present in every successful answer)
testingarrayAlways (present in every successful answer)
markdownstringAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "pr-description-generate",
    "inputs": {
      "diff": "- const x = 1;\n+ const x = 2;\n  return x;",
      "title": "Test Document Title"
    },
    "max_price_cents": 5
  }'

Limitations

  • Motivation and related issues can be missed

    AI-generated from diff content — may not capture the business motivation or link to relevant issues automatically

    What to do instead: Include the ticket/issue number in the input and review the generated description for completeness