Audit, generate, update, and lint AGENTS.md files across all projects. Use when asked to check project context files, scaffold AGENTS.md for new projects, update stale ones, or run a cross-project audit.
日本語の概要は準備中です。原文の説明を表示しています。
Parse git history and produce or update a CHANGELOG.md following the Keep a Changelog convention. Supports Conventional Commits, basic prefix conventions, and unstructured commit messages. Intelligently categorizes changes, detects breaking changes, links to PRs/issues, and handles both initial generation and incremental updates. **Triggers — use this skill when:** - User asks to "generate", "create", "update", or "write" a changelog - User mentions "CHANGELOG", "changelog", "release notes" - User says "document changes", "what changed since last release" - User wants to "prepare a release" and needs a changelog entry - User asks to "clean up" or "reformat" an existing changelog **Covers:** Any git-based project. Handles Conventional Commits (feat/fix/chore), Angular convention, basic prefixes (Add/Fix/Remove), and freeform commit messages. Outputs Keep a Changelog format with optional Common Changelog enhancements.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Parse a project's git history and produce a high-quality CHANGELOG.md following the Keep a Changelog convention.
A changelog is for humans, not machines. It answers: "What meaningful changes happened between version X and version Y?" Raw commit logs fail at this because they contain noise — typo fixes, merge commits, CI tweaks, and refactors that don't affect users. This skill filters signal from noise and writes entries that a user or contributor can actually understand.
Before generating anything, understand the project's commit and versioning patterns.
# 1. Check if we're in a git repo
git rev-parse --is-inside-work-tree 2>/dev/null
# 2. Get all tags (versions) sorted by date
git tag --sort=-creatordate | head -30
# 3. Detect versioning scheme
# SemVer: v1.2.3 or 1.2.3
# CalVer: 2025.01, 2025-01-15
# Other: named releases, build numbers
git tag --sort=-creatordate | head -10
# 4. Detect commit convention
# Sample recent commits to identify the pattern
git log --oneline -30
# 5. Check for existing changelog
cat CHANGELOG.md 2>/dev/null
cat HISTORY.md 2>/dev/null
cat CHANGES.md 2>/dev/null
# 6. Check for existing config that hints at convention
cat .commitlintrc* commitlint.config.* 2>/dev/null # Commitlint
cat .czrc .cz.toml 2>/dev/null # Commitizen
cat cliff.toml 2>/dev/null # git-cliff
cat .versionrc* 2>/dev/null # standard-version
# 7. Get remote URL for PR/issue links
git remote get-url origin 2>/dev/null
# 8. Package manifest for current version
cat package.json 2>/dev/null | grep '"version"'
cat pyproject.toml 2>/dev/null | grep 'version'
cat Cargo.toml 2>/dev/null | grep '^version'
Extract from the analysis:
| Fact | How to determine |
|---|---|
| Commit convention | Pattern match on recent commits (see detection rules below) |
| Versioning scheme | Tag format analysis |
| Latest version/tag | Most recent tag |
| Remote URL | git remote get-url origin — needed for PR/issue links |
| Existing changelog | Check for CHANGELOG.md or variants |
| Unreleased commits | Commits since the latest tag |
Analyze the last 30–50 commits to detect which convention is in use. Apply these rules in order:
Conventional Commits / Angular
Pattern: ^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?!?:
Example: feat(auth): add OAuth2 support
Example: fix!: resolve race condition in queue
→ If >50% of commits match this pattern, use Conventional Commits parsing.
Basic Prefix
Pattern: ^(Add|Fix|Remove|Update|Change|Deprecate|Security)[: ]
Example: Add user export feature
Example: Fix login redirect loop
→ If >50% of commits match this pattern, use basic prefix parsing.
Freeform / No Convention → If neither pattern dominates, use AI-assisted categorization (see Phase 3).
Report the detected convention to the user before proceeding.
Extract commits for the target range and categorize them.
# All commits since last tag (for Unreleased section)
git log $(git describe --tags --abbrev=0 2>/dev/null)..HEAD \
--pretty=format:"%H|%s|%b|%an|%ae|%aI" 2>/dev/null
# Commits between two tags (for a specific version)
git log v1.1.0..v1.2.0 \
--pretty=format:"%H|%s|%b|%an|%ae|%aI"
# If no tags exist, get all commits
git log --pretty=format:"%H|%s|%b|%an|%ae|%aI"
# Get PR/merge info if available
git log --merges --oneline -20
Map commits to Keep a Changelog categories:
| Keep a Changelog Category | Conventional Commits types | Basic prefixes | Description |
|---|---|---|---|
| Added | feat | Add, Create, Implement | New features |
| Changed | refactor, perf, style | Change, Update, Refactor, Improve | Changes to existing functionality |
| Deprecated | — (detect from message) | Deprecate | Soon-to-be removed features |
| Removed | — (detect from message) | Remove, Delete, Drop | Removed features |
| Fixed | fix | Fix, Resolve, Correct | Bug fixes |
| Security | — (detect from message) | Security | Vulnerability fixes |
Do NOT include these in the changelog unless they have user-facing impact:
Merge branch..., Merge pull request...) — extract the PR title insteadci:, build:, changes only to .github/workflows/)chore:, dependency bumps without breaking changes)style: that don't affect behavior)chore: bump version to...)When commits don't follow a convention, categorize by analyzing the message content:
Flag breaking changes regardless of convention:
! after type/scope, or BREAKING CHANGE: in footerMark breaking entries with BREAKING: prefix in the changelog.
Transform raw commit data into human-readable changelog entries.
(#123), ([#123](url))(@username) for non-core contributors- Add dark mode support with automatic system preference detection (#142)
- **BREAKING:** Remove deprecated `v1/users` endpoint; use `v2/users` instead (#138)
- Fix memory leak in WebSocket connection handler (#145)
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- Description of new feature (#PR)
### Fixed
- Description of bug fix (#PR)
## [1.2.0] - 2025-09-15
### Added
- Add OAuth2 authentication support (#89)
- Add CSV export for user data (#92)
### Changed
- Improve query performance for large datasets (#91)
### Fixed
- Fix timezone handling in scheduled reports (#88)
- Fix incorrect pagination count on filtered results (#90)
### Removed
- **BREAKING:** Remove legacy XML API endpoint (#87)
## [1.1.0] - 2025-06-01
### Added
- ...
[Unreleased]: https://github.com/user/repo/compare/v1.2.0...HEAD
[1.2.0]: https://github.com/user/repo/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/user/repo/compare/v1.0.0...v1.1.0
# Changelog — only one H1## [1.2.0] - 2025-09-15 — square brackets around version, ISO date### Added, ### Changed, etc. — only use categories that have entriesYYYY-MM-DD — no exceptionsNo existing changelog. Generate the full history.
# Get tags in chronological order
git tag --sort=creatordate
# Get date of a tag
git log -1 --format=%aI v1.0.0
A CHANGELOG.md already exists. Add new entries.
## [Unreleased] (or at the top if no Unreleased)Never modify existing entries unless the user explicitly asks for a reformat.
User has a messy or inconsistent changelog. Rewrite to match the standard.
User wants to create a changelog entry for an upcoming release.
## [Unreleased] to the new version sectionIf the project has no tags, treat all commits as unreleased. Ask the user if they want to:
## [Unreleased] section## [0.1.0] retroactively from the initial commitIf the project is a monorepo with multiple packages:
git log -- packages/package-name/If the project uses squash merges, the PR title becomes the commit message. These are often well-written and can be used directly as changelog entries.
If there are >500 commits to process:
For projects that haven't reached 1.0:
After generating, verify:
# Changelog)## [X.Y.Z] - YYYY-MM-DD### Added, ### Changed, etc.git log --oneline. Curate and rewrite.The final output should be:
Always write the changelog as a file so the user can review and commit it directly.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Audit, generate, update, and lint AGENTS.md files across all projects. Use when asked to check project context files, scaffold AGENTS.md for new projects, update stale ones, or run a cross-project audit.
日本語の概要は準備中です。原文の説明を表示しています。
Draft, edit, and publish blog posts for e9n.dev. Use when creating new posts, editing drafts, or refining existing content. Handles Eleventy frontmatter, Tailwind formatting, and Espen's authentic voice.
日本語の概要は準備中です。原文の説明を表示しています。
Generate a full operational status report for the Aivena bot. Checks all subsystems: extensions, webserver, Telegram, chat bridge, heartbeat, cron, database, memory, CRM, calendar, task management, jobs/telemetry, and storage. **Triggers — use this skill when:** - User asks for "status", "bot status", "system status", "operational status" - User asks "is everything running?", "how's Aivena doing?" - User says "health check", "diagnostics", "systems check" - User asks "what's the state of the bot?"
日本語の概要は準備中です。原文の説明を表示しています。
Orchestrate cmux terminal panes — split terminals, run parallel processes, read output from other panes, and use the built-in browser. Use when working inside cmux and you need to run a dev server, watch tests, spawn sub-agents, or preview web pages.
日本語の概要は準備中です。原文の説明を表示しています。
Review code for quality, security, performance, and maintainability. Use when reviewing PRs, auditing a codebase, or refactoring. Covers TypeScript, Node.js, infrastructure-as-code, and full-stack web apps.
日本語の概要は準備中です。原文の説明を表示しています。
Generate and maintain AI-readable markdown documentation for a codebase in docs/. Use this skill whenever the user asks to document their codebase, generate project docs, create architecture docs, update documentation after code changes, build a knowledge base for AI agents, create onboarding docs, map out a codebase, or explain a project structure. Also trigger when users say things like "document this repo", "create docs for my project", "update the docs", "write architecture documentation", "help AI understand my code", "generate a codebase overview", or "maintain docs". This skill is specifically about creating structured markdown files in a docs/ directory that serve as a knowledge base — NOT about writing inline code comments, README files, or API reference docs from docstrings.
日本語の概要は準備中です。原文の説明を表示しています。