Skip to content

/summary

Synthesizes code docs into user-facing HTML summary. Creates semantic narrative explaining what changed and why it matters. Use when creating PR summaries, release notes, or change overviews.

shell
$ npx -y skills add brsbl/ottonomous --skill summary --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/summary
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Synthesizes code docs into user-facing HTML summary. Creates semantic narrative explaining what changed and why it matters. Use when creating PR summaries, release notes, or change overviews.

SKILL.md

summary.SKILL.md
name: summary
description: Synthesizes code docs into user-facing HTML summary. Creates semantic narrative explaining what changed and why it matters. Use when creating PR summaries, release notes, or change overviews.
argument-hint: [staged | branch]

**Scope:** $ARGUMENTS

| Argument | Files to summarize | |----------|-------------------| | (none) or `branch` | Branch diff: `git diff main...HEAD --name-only` | | `staged` | Staged changes: `git diff --cached --name-only` |

---

Workflow

| Phase | Purpose | |-------|---------| | 1. Analyze | Get changed files and diffs | | 2. Read | Read changed files and their diffs | | 3. Synthesize | Create semantic narrative from code and diffs | | 4. Generate | Convert to HTML, open in browser |

1. Analyze Changes

Get changed files using scope command. If no changes found, report: "No changes to summarize."

git diff main...HEAD --name-only

2. Read Changes

For each changed file, read the file content and diff:

git diff main...HEAD -- <file>

Read the full file for context when the diff alone isn't sufficient to understand the change.

3. Synthesize Summary

**Get repo info for links:**

git remote get-url origin

Parse to get `{org}/{repo}` for GitHub links.

**Generate semantic summary** following this format:

# {Branch Name}

## Overview

{2-3 sentences: what this branch accomplishes from a business/feature perspective}

### Technical Implementation
{Integration points, architecture decisions, key patterns used}

### Key Review Areas
{What reviewers should focus on, potential risks, areas needing careful attention}

### What Changed
{High-level summary of functionality changes and why they matter}

## Semantic Changes by Component

### [src/auth/users.ts](https://github.com/{org}/{repo}/blob/{branch}/src/auth/users.ts)

- **Purpose of changes:** What problem does this solve or what feature does it add?
- **Behavioral changes:** How does the behavior differ from before?
- **Data flow impact:** How do these changes affect data flow through the system?
- **Performance considerations:** Changes to scan frequency, read/write patterns, potential bottlenecks
- **Subtle bug risks:** Race conditions, stale data, cache invalidation, timing issues introduced
- **Dependencies affected:** What other parts of the codebase might be impacted?

### [src/api/routes.ts](https://github.com/{org}/{repo}/blob/{branch}/src/api/routes.ts)

- **Purpose of changes:** ...
- **Behavioral changes:** ...
- **Data flow impact:** ...
- **Performance considerations:** ...
- **Subtle bug risks:** ...
- **Dependencies affected:** ...

## Breaking Changes

{If any exist - before/after comparison, migration path. Omit section entirely if none.}

## Files Changed

<details>
<summary>{count} files</summary>

| File | Summary |
|------|---------|
| [src/auth/users.ts](https://github.com/{org}/{repo}/blob/{branch}/src/auth/users.ts) | Added profile CRUD |
| [src/api/routes.ts](https://github.com/{org}/{repo}/blob/{branch}/src/api/routes.ts) | New profile endpoints |

**List every file individually — no wildcards.** Count must match table rows.

</details>

**Key principles:**

  • Focus on **"why" and "what it means"** not just "what changed"
  • Explain **semantic meaning and implications**
  • Link to code in branch for easy navigation
  • Per-component sections with consistent 6-field structure
  • **Highlight performance impacts**: scan frequency changes, read/write pattern modifications
  • **Flag subtle bug sources**: race conditions, stale data, cache issues, timing problems
  • Breaking changes prominent if they exist
  • Omit Breaking Changes section entirely if none exist

4. Generate HTML

**Create directories:**

mkdir -p .otto/summaries

**Save markdown** to `.otto/summaries/{branch}-{date}.md`

**Convert to HTML** using the md-to-html script:

node skills/summary/scripts/md-to-html.js .otto/summaries/{branch}-{date}.md .otto/summaries/{branch}-{date}.html

**Open in browser:**

open .otto/summaries/{branch}-{date}.html

**Report:**

Summary generated: .otto/summaries/{branch}-{date}.html
Read more
Read it on GitHub ↗
Ships withottonomous

Skills for every stage of product development — spec writing, task prioritization, implementation, testing, code review, and summaries — that work in both Claude Code and OpenAI Codex.

Get the whole plugin, auto-invoked
Stats
14
Stars
0
Views
2
Forks
Active
Maintenance
JavaScript
Language
MIT
License
1d ago
Last commit
6mo ago
Created

Repo: brsbl/ottonomous