| name | changelog |
| description | Query and analyze project change history and statistics. Use this before code reviews, when preparing for a deployment, when tracing change history for a specific file, or when analyzing activity by domain. Responds to questions like "recent changes", "change history for this month", or "list of bug fixes". Triggers on /changelog. |
| version | 1.1.0 |
| updated | "2026-02-11T00:00:00.000Z" |
Changelog Viewer
Query, filter, and produce statistics from the change history automatically recorded by the changelog-recorder.js hook.
Skill Triggers
/changelog — Most recent entries for the current month
/changelog --since <date> — After a specific date
/changelog --domain <domain> — Specific domain
/changelog --type <type> — Specific change type
/changelog --stats — Change statistics
/changelog --file <path> — History for a specific file
- "show me the recent change history"
- "change history for the order domain"
Absolute Prohibitions
- Do not modify change history — this skill is read-only.
- Do not edit YAML files directly — only the
changelog-recorder.js hook may write entries.
Command Options
| Option | Description | Example |
|---|
| (none) | Most recent 20 entries for the current month | /changelog |
--since <date> | After a specific date | --since 2026-02-01 |
--until <date> | Before a specific date | --until 2026-02-07 |
--last <period> | Last N days/weeks | --last 7d, --last 2w |
--domain <name> | Domain filter | --domain order |
--type <type> | Type filter | --type fix |
--stats | Output statistics | --stats |
--file <path> | File history | --file discount_service.py |
Combining options: /changelog --domain order --type fix --last 7d
Execution Steps
Receive /changelog [options]
|
v
[1] Parse options (extract filter conditions)
|
v
[2] Determine target YAML files (based on date range)
|
v
[3] Read and parse YAML files
|
v
[4] Apply filters (domain, type, file, date)
|
v
[5] Sort (newest first)
|
v
[6] Output report (or statistics)
Step 1: Parse Options
| Input | Transformed Result |
|---|
--since 2026-02-01 | since = 2026-02-01T00:00:00 |
--last 7d | since = (today - 7 days) |
--last 2w | since = (today - 14 days) |
--domain order | domain = "order" |
--type fix | type = "fix" |
Step 2: Determine Target YAML Files
Storage location: .claude/changelog/{YYYY-MM}.yaml
ls .claude/changelog/*.yaml
Step 3: Parse YAML
entries:
- date: 2026-02-07T14:30:00
type: feature
domain: order
files:
- order/services/discount_service.py
description: "Create discount_service in order"
impact:
- "external dependency added: member-api"
Step 4: Apply Filters
- Date filter: Compare against the
date field
- Domain filter: Match against
domain field (partial match)
- Type filter: Match against
type field (exact match)
- File filter: Match against
files array (substring match)
Step 5: Sort
Sort filtered entries in newest-first order (descending by date).
Step 6: Output
See references/output-formats.md for detailed output format.
Hook Integration
| Aspect | Hook (changelog-recorder.js) | Skill (/changelog) |
|---|
| Trigger | Auto-runs on Write/Edit | On user request |
| Action | Appends entry to YAML | Reads YAML + filters |
| Purpose | Record changes (write) | Query changes (read) |
Change Types
| Type | Detection Criteria |
|---|
test | File path contains tests/, test_, or .test. |
docs | File extension is .md, .rst, or .txt |
feature | New file created or new function added |
fix | Comment contains fix/bug keywords |
refactor | Comment contains refactor keyword |
Domain Extraction Rules
| Path Pattern | Extracted Domain |
|---|
src/domains/<domain>/... | <domain> |
domains/<domain>/... | <domain> |
app/services/<domain>_service.py | <domain> |
| (no match) | root |
Related Skill Integration
| Skill | When to Link | Purpose |
|---|
/impact <file> | When a frequently changed file is found | Impact analysis |
/deps <domain> | When cross-domain changes are found | Dependency check |
/coverage <file> | When a frequently changed file is found | Coverage check |
Reference Documents
references/output-formats.md — Output format details
references/examples.md — Usage examples