Launch intelligence is in early access. Become a design partner

SolutionsDeveloper tools

Launches for productsthat developers use.

Developers read the pull request before they believe the tweet. Shots starts from the pull request too. Releases arrive from CI or a webhook, every claim cites its source, and the changelog says what the release does not do yet.

curl https://shots.playbookmedia.io/api/v1/releases \
  -H "x-api-key: $SCREENSHOT_STUDIO_API_KEY" \
  -H "Idempotency-Key: release-v2.4.0" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Recurring invoices",
    "benefitStatement": "Bill repeat customers without rebuilding the invoice.",
    "sourceUrls": [
      "https://github.com/acme/billing/pull/452",
      "https://acme.com/changelog/recurring-invoices"
    ]
  }'
201 Created
{
  "created": true,
  "release": { "id": "cm…", "status": "DRAFT", "title": "Recurring invoices" }
}

Credibility

Every claim points to a sourceyour users can open and check.

Your audience can tell marketing copy from engineering notes, so keep the launch close to the engineering.

01

Every claim has a source

Shots reads pull requests and GitHub releases through the GitHub API and numbers them as sources. Every claim in the launch brief points at one, and posts may only use claims the launch brief contains.
  • Benchmarks only when a source states them
  • Limitations are part of the launch brief
  • Hype words fail the copy checks
Read about the guardrails
Launch briefv2 · draft

Problem

Finance teams rebuild the same invoice every month.S1

What changed

Invoices repeat on a schedule you set once.S2brief

Open question

How many beta teams used it? No source says.

Answer

02

A changelog that matches

The changelog entry comes from the same launch brief as the posts, so your release notes and your posts agree.
Changelog and email
Changelog entrychangelog

v2.4.0 · Billing

Recurring invoices

Set a schedule once and Acme sends the invoice every cycle. Pick monthly, quarterly, or yearly, and pause any time from the invoice page.

  • – New: schedules on any invoice
  • – New: pause and resume a schedule
  • – Limitation: one schedule per invoice
whatChanged.0limitations.0

03

Show the code

Some launches are best shown as code. The code image editor ships 14 syntax themes, 20 languages, and shareable links, included in every plan.
Open code to image
Code image/code
// set it once
invoice.schedule('monthly')

For AI tools

Docs that AI tools can read:OpenAPI, llms.txt, and Markdown pages.

Developers now read docs through AI assistants, so we publish ours in formats those tools can read.

  • /openapi.json

    OpenAPI 3.1

    Generated from the Zod contracts the API routes validate with, plus an interactive reference at /api-reference.
  • /llms.txt

    llms.txt

    A Markdown overview and a long-form reference for AI assistants and crawlers.
  • Accept: text/markdown

    Markdown pages

    Supported pages return Markdown when an AI tool asks for it.

The platform is open source. Read the code, file an issue, or run it yourself.

Questions

Anything else? Talk to us.

Can it read private repositories?
Release webhooks from private repositories work. Pull request links are read through the public GitHub API. For a private repository, put the key details in the release itself, which Shots trusts.
Does it read our source code?
No. It reads the title and description of the pull requests and releases you link, not file contents or diffs.
Can we trigger launches from CI?
Yes. POST the release from your pipeline with an API key and an idempotency key, or rely on the release webhook.

Related

For the technical details, see release intake,integrations, and the guardrails.

Get an API keyand send your first release from CI.