Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions .agents/skills/curate-whats-new/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
name: curate-whats-new
description: Curate noteworthy Docker launches from documentation pull requests merged during a requested period. Use when generating or reviewing data/whats-new.json, preparing the Docker Docs What's new timeline, or deciding which documented releases merit Docker-wide highlights.
---

# Curate What's New

Treat merged documentation as evidence that a capability shipped, but do not
treat a documentation change as news by itself.

Include an item only when the merged documentation directly shows all of the
following:

- A released user-facing feature, material enhancement, or broader availability
milestone that was not available before the period
- A substantial capability or workflow, not new syntax or a small control
within an existing workflow
- Enough Docker-wide editorial significance to merit proactively telling users
about it outside product release notes
- A useful published page and a factual title and description

Apply a high bar. The result is a curated launch archive, not a complete
changelog. A specialized feature can qualify when its user impact is
substantial. A quiet period can produce few or no items.

## Exclusions

Exclude documentation maintenance; fixes; rewrites; guidance for old behavior;
routine release or generated-content syncs; limitations, prerequisites, and
workarounds; narrow flags, settings, command variants, protocols, and
compatibility changes; incremental UI, safety, permissions, or observability
improvements; and lower-level Engine, Build, networking, or storage changes.
These qualify only when they are part of an independently newsworthy
product-level launch.

Judge the user outcome, not PR size, product popularity, labels, changed lines,
a dedicated page, or the existence of a new API or command.

## Select highlights

Include every qualifying launch; do not impose a quota. Mark the five most
important as `featured: true`, or all items when fewer than five qualify. Rank
by the magnitude and distinctness of the user outcome and the value of helping
its audience discover it. Breadth can matter, but a major capability for a
specialized audience can outrank a smaller change for a broad audience. Recency
and product variety are not ranking goals.

Create one item per launch and combine PRs that document the same launch.
Preserve existing copy while it remains accurate and qualifies. Change featured
status only when the relative importance of the candidate set changes.

## Procedure

1. Read `data/whats-new.json`.
2. List every PR merged in the requested period:

```console
$ gh pr list --repo docker/docs --state merged --search 'merged:START..END' --limit 200
```

3. Inspect the diff and resulting pages for every plausible candidate.
4. Decide what qualifies using only evidence in the merged documentation.
5. Replace `period_start`, `period_end`, and `items` in
`data/whats-new.json`. Sort items by `published` date, newest first.
6. Write `.pr-body.md` with the publication period, selected highlights and
source PRs, plus concise reasons for plausible exclusions.

Each item must contain `product`, `title`, `description`, `url`, `published`,
`source_prs`, and `featured`. Use the canonical product name, a published
internal URL, the merge date in `YYYY-MM-DD` format, and source PR numbers.

Write factual, restrained copy. Avoid superlatives, promotional language, and
claims about ease or importance. Do not modify tracked files other than
`data/whats-new.json`.
4 changes: 4 additions & 0 deletions .agents/skills/curate-whats-new/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "Curate What's New"
short_description: "Curate noteworthy Docker launches from merged docs"
default_prompt: "Use $curate-whats-new to curate Docker launches published during the requested date range."
96 changes: 96 additions & 0 deletions .github/agents/whats-new-examples/2026-07-13--2026-08-11.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
{
"period_start": "2026-07-13",
"period_end": "2026-08-11",
"items": [
{
"product": "Docker Desktop",
"title": "Use Docker VMM on Mac and Windows",
"description": "Run Docker Desktop with Docker's container-optimized hypervisor on supported Mac and Windows systems.",
"url": "/desktop/features/vmm/",
"published": "2026-08-10",
"source_prs": [25702, 25726],
"featured": true
},
{
"product": "Docker Sandboxes",
"title": "Connect sandboxes through an MCP gateway",
"description": "Register local or remote MCP servers on the host, reuse them across sandboxes, and govern server and tool access with Cedar policies.",
"url": "/ai/sandboxes/mcp-gateway/",
"published": "2026-08-06",
"source_prs": [25559, 25707],
"featured": true
},
{
"product": "Docker Sandboxes",
"title": "Author version 2 sandbox kits",
"description": "Define kit setup, permissions, networking, and API key or OAuth credential requirements with the version 2 kit schema.",
"url": "/ai/sandboxes/customize/kit-reference/#schema-versions",
"published": "2026-08-06",
"source_prs": [25467, 25707],
"featured": false
},
{
"product": "Docker Sandboxes",
"title": "Run Claude Code with local models",
"description": "Route Claude Code sandbox requests to the bundled local-model server or an existing Ollama installation.",
"url": "/ai/sandboxes/agents/claude-code/#use-a-local-model",
"published": "2026-08-06",
"source_prs": [25641, 25707],
"featured": false
},
{
"product": "Docker AI Governance",
"title": "Search and forward audit events",
"description": "Search and export policy decisions from Docker Cloud, or forward events to Splunk, Dynatrace, and custom HTTPS endpoints.",
"url": "/ai/sandboxes/governance/audit/",
"published": "2026-08-03",
"source_prs": [25679, 25687],
"featured": true
},
{
"product": "Docker Desktop",
"title": "Install from the Microsoft Store without administrator privileges",
"description": "Fresh Microsoft Store installations on Windows use per-user mode by default.",
"url": "/desktop/release-notes/#4850",
"published": "2026-08-03",
"source_prs": [25665],
"featured": false
},
{
"product": "Docker Sandboxes",
"title": "Share agent skills across sandboxes",
"description": "Import skills from supported host agents into a persistent store that sandboxes can share.",
"url": "/ai/sandboxes/workflows/#share-agent-skills",
"published": "2026-07-24",
"source_prs": [25588],
"featured": false
},
{
"product": "Docker Sandboxes",
"title": "Connect editors and desktop apps over SSH",
"description": "Use a sandbox from VS Code, Cursor, Claude Desktop, ChatGPT, or another SSH-capable tool.",
"url": "/ai/sandboxes/integrations/",
"published": "2026-07-24",
"source_prs": [25557],
"featured": true
},
{
"product": "Docker Hardened Images",
"title": "Query the DHI catalog from AI assistants",
"description": "Search DHI repositories, inspect images, retrieve SBOMs, check CVEs, and manage mirrors through the DHI MCP server.",
"url": "/dhi/tools/mcp/",
"published": "2026-07-23",
"source_prs": [25589],
"featured": false
},
{
"product": "Docker Enterprise",
"title": "Authenticate GitHub Actions with OIDC connections",
"description": "Exchange GitHub OIDC tokens for short-lived access to Docker resources without storing long-lived workflow credentials.",
"url": "/enterprise/security/oidc-connections/",
"published": "2026-07-21",
"source_prs": [25336],
"featured": true
}
]
}
39 changes: 39 additions & 0 deletions .github/agents/whats-new-examples/2026-07-13--2026-08-11.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Human-reviewed example and regression criteria for the curate-whats-new skill.
# This file is not loaded into the skill's runtime context.
period_start: 2026-07-13
period_end: 2026-08-11
example_output: 2026-07-13--2026-08-11.json

expected_archive:
- Docker VMM on Mac and Windows
- Docker Sandboxes MCP gateway
- Docker Sandboxes kit schema version 2
- Claude Code with local models
- Docker AI Governance audit search, export, and forwarding
- Microsoft Store per-user installation
- Shared agent skills across sandboxes
- Docker Sandboxes editor and app integrations
- Docker Hardened Images MCP server
- Enterprise OIDC connections

featured_guidance:
strong:
- Docker VMM on Mac and Windows
- Docker AI Governance audit search, export, and forwarding
- Docker Sandboxes editor and app integrations
- Enterprise OIDC connections
either_is_reasonable:
- Docker Sandboxes MCP gateway
- Docker Sandboxes kit schema version 2

must_exclude:
- Gordon safety modes and custom rules
- Swarm direct server return networking
- Engine image mounts
- Unix sockets on Windows
- Narrow flags, command variants, protocol options, and compatibility switches

notes:
- Do not require product diversity.
- Treat featured choices as editorial judgment, not an exact golden ordering.
- Reject lower-level or incremental changes even when they are technically new.
34 changes: 34 additions & 0 deletions .github/agents/whats-new.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/docker/docker-agent/refs/heads/main/agent-schema.json
models:
claude-sonnet-5:
provider: anthropic
model: claude-sonnet-5
max_tokens: 4096
temperature: 0.1

agents:
root:
model: claude-sonnet-5
description: Curates user-facing Docker launches from recently published documentation
instruction: |
Use the curate-whats-new skill for every request.
skills:
- curate-whats-new

toolsets:
- type: filesystem
tools:
- read_file
- read_multiple_files
- write_file
- list_directory
- directory_tree
- type: shell

permissions:
allow:
- shell:cmd=gh pr list --*
- shell:cmd=gh pr view --*
- shell:cmd=gh pr diff --*
- shell:cmd=git diff --*
- shell:cmd=git log --*
Loading