From ottonomous
Generates semantic HTML summaries from git branch or staged diffs, explaining changes, business impact, technical details, review areas, and breaking changes for PRs and release notes.
npx claudepluginhub brsbl/ottonomous --plugin ottonomousThis skill uses the workspace's default tool permissions.
**Scope:** $ARGUMENTS
Summarizes git diffs in plain English, explaining code purpose, grouping changes, and identifying breaking changes. Use for PR descriptions and code reviews in git repos.
Generates detailed Markdown walkthroughs of git code changes (uncommitted, staged, commits, branches) with summaries, file tables, explanations, snippets, and testing notes. Saves to tmp dir.
Generates concise summaries of git branch changes vs main for PR descriptions. Analyzes diffs, commit history, and produces markdown with key changes and test plan. Requires git repo on non-main branch.
Share bugs, ideas, or general feedback.
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 |
| 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 |
Get changed files using scope command. If no changes found, report: "No changes to summarize."
git diff main...HEAD --name-only
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.
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:
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