Skip to content

Commit b2a34b9

Browse files
committed
Update changelog to May 2026, convert changelog prompt to skill
- Add changelog entries for February through May 2026 - Move changelog generation instructions from claude_changelog.md to .claude/skills/docs-changelog/SKILL.md for auto-discovery - Gitignore .claude/settings.local.json to keep local permissions private
1 parent 0118b95 commit b2a34b9

4 files changed

Lines changed: 276 additions & 177 deletions

File tree

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# Documentation changelog
2+
3+
Trigger this skill when documentation changes are significant enough to be
4+
user-facing. This means: new pages, new sections, new functions or SQL
5+
keywords, restructured content, updated examples, or corrected technical
6+
instructions.
7+
8+
Do NOT trigger for: typo fixes, whitespace/formatting, alphabetical
9+
reordering, sidebar-only changes, internal link updates, CI/build config,
10+
or README updates.
11+
12+
## When to update the changelog
13+
14+
After completing a documentation task, evaluate whether the changes are
15+
changelog-worthy. If yes, update `documentation/changelog.mdx` as part of the
16+
same work, before reporting the task as done.
17+
18+
## How to generate a changelog entry
19+
20+
### Step 1: Determine the date range
21+
22+
1. Read `documentation/changelog.mdx` and find the most recent month header
23+
(format: `## Month YYYY`).
24+
2. If the changelog does not exist or has no date, use 1 month ago. No
25+
exceptions.
26+
3. Store this as `SINCE_DATE`.
27+
4. Never go further back than the calculated date without user confirmation.
28+
29+
### Step 2: Get commits since that date
30+
31+
```bash
32+
git log --since="$SINCE_DATE" --pretty=format:"%H|%ad|%s" --date=short --no-merges -- documentation/
33+
```
34+
35+
### Step 3: Get QuestDB releases for the period
36+
37+
```bash
38+
gh api repos/questdb/questdb/releases --jq '.[] | "\(.tag_name)|\(.published_at)"'
39+
```
40+
41+
Filter to releases within the period. Format:
42+
43+
```markdown
44+
### Releases
45+
46+
- [9.3.2](https://questdb.com/release-notes/) - Released January 28, 2026
47+
- [9.3.1](https://questdb.com/release-notes/) - Released January 14, 2026
48+
```
49+
50+
Rules:
51+
- One line per release, descending order (newest first)
52+
- Link text is the version number
53+
- All links point to `https://questdb.com/release-notes/`
54+
- Date format: "Released Month DD, YYYY"
55+
- Place "Releases" FIRST in each month (before New, Updated, etc.)
56+
- Omit if no releases that month
57+
58+
### Step 4: Analyze each commit
59+
60+
For each commit hash, check the diff:
61+
62+
```bash
63+
git show <hash> --stat --no-color -- '*.md' '*.mdx'
64+
```
65+
66+
Read the full diff when the stat is ambiguous:
67+
68+
```bash
69+
git diff <hash>^..<hash> -- '*.md' '*.mdx'
70+
```
71+
72+
**SKIP (cosmetic/internal):**
73+
- Typo fixes (fewer than 5 words changed)
74+
- Whitespace/formatting only
75+
- Navigation/sidebar changes only
76+
- Internal link updates
77+
- CI/build config changes
78+
- README updates (unless user-facing)
79+
- Alphabetical reordering of existing content
80+
81+
**INCLUDE (user-facing):**
82+
- New documentation pages
83+
- New sections in existing pages
84+
- Updated code examples
85+
- API reference changes
86+
- New SQL function docs
87+
- Configuration option docs
88+
- Tutorial additions/updates
89+
- Corrected technical instructions
90+
91+
### Step 5: Categorize changes
92+
93+
Group into:
94+
- **Releases** - QuestDB releases in the period (from Step 3)
95+
- **New** - Brand new pages or major new sections (content that did not exist before)
96+
- **Updated** - Significant updates to existing content (restructured pages, rewritten sections, new examples)
97+
- **Reference** - Individual functions, parameters, config properties, or syntax additions to existing reference pages
98+
- **Guides** - Tutorials, how-tos, walkthroughs
99+
100+
### Step 6: Generate the entry
101+
102+
Format as Docusaurus-compatible MDX, one `## Month YYYY` header per month:
103+
104+
```mdx
105+
## February 2026
106+
107+
### Releases
108+
109+
- [9.4.0](https://questdb.com/release-notes/) - Released February 15, 2026
110+
111+
### New
112+
113+
- [TICK Syntax](/docs/query/operators/tick/) - New DSL for expressing complex time intervals
114+
- [Database Views](/docs/concepts/views/) - Virtual tables for query composition
115+
116+
### Updated
117+
118+
- [Materialized Views](/docs/concepts/materialized-views/) - Added `REFRESH PERIOD` compact syntax
119+
120+
### Reference
121+
122+
- Added `weighted_avg()`, `weighted_stddev_rel()`, `weighted_stddev_freq()` functions
123+
```
124+
125+
### Step 7: Validate links BEFORE writing
126+
127+
Before generating any internal link, verify the target file exists:
128+
129+
```bash
130+
ls documentation/path/to/page.md 2>/dev/null || echo "NOT FOUND"
131+
```
132+
133+
If a file does not exist, describe the change without a link:
134+
- "Added TICK syntax documentation for time intervals"
135+
136+
Never generate a markdown link to a path you have not confirmed exists.
137+
138+
Do NOT run `yarn build` to validate links during iteration. Check the
139+
filesystem directly. Only run a build check once at the end if needed.
140+
141+
### Step 8: Update the changelog file
142+
143+
Prepend the new entry after the frontmatter and intro paragraph but before
144+
existing month entries.
145+
146+
The changelog file is `documentation/changelog.mdx` (NOT
147+
`documentation/docs/changelog.mdx`).
148+
149+
## Writing style
150+
151+
- Focus on what users can now learn or do, not which file was modified.
152+
- One line per change, concise.
153+
- Link to the page when the link is verified; otherwise describe without linking.
154+
- Use sentence case for descriptions.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ all_queries.sql
2424
failed_queries.sql
2525
query_validation_report.txt
2626

27+
# Claude Code local settings (personal permissions, not shared)
28+
.claude/settings.local.json
29+
2730
# Misc
2831
.DS_Store
2932
.env.local

claude_changelog.md

Lines changed: 0 additions & 177 deletions
This file was deleted.

0 commit comments

Comments
 (0)