Conventional Commit Skill
This skill helps create properly formatted conventional commits for this Quartz blog repository.
Commit Type Conventions
This project uses the following conventional commit prefixes:
content: - For new blog posts or content additions
- Format:
content: [title] or content(category): [title]
- Example:
content: Introduction to Static Site Generators
- Example:
content(tech): Understanding JAMstack Architecture
fix: - For corrections to existing content or code
- Format:
fix: [what you fixed] or fix(scope): [what you fixed]
- Example:
fix: correct typo in about page
- Example:
fix(links): update broken external references
style: - For CSS, layout, or visual changes
- Format:
style: [what you changed] or style(component): [what you changed]
- Example:
style: improve mobile navigation layout
- Example:
style(typography): adjust heading font sizes
build: - For Quartz generator configuration changes
- Format:
build: [what you changed] or build(scope): [what you changed]
- Example:
build: enable syntax highlighting plugin
- Example:
build(config): update theme colors
Instructions
When the user asks you to create a commit:
Analyze the changes:
- Run
git status to see changed/new files
- Run
git diff to understand the nature of changes
- Identify which commit type applies based on the files changed:
- Files in
content/ → likely content: (unless fixing existing posts)
- Files ending in
.css, .scss, or style-related → style:
- Files like
quartz.config.ts, quartz.layout.ts, plugin configs → build:
- Bug fixes or corrections →
fix:
Determine the scope (optional but recommended):
- For content: use the content category/folder (e.g.,
tech, personal, about)
- For fixes: use the affected area (e.g.,
links, formatting, frontmatter)
- For style: use the component/area (e.g.,
typography, navigation, colors)
- For build: use the config area (e.g.,
config, plugins, layout)
Craft the commit message:
- Use lowercase for the description
- Be concise but descriptive (50 chars or less for the subject)
- Use imperative mood (e.g., "add" not "added")
- If needed, add a body with more details (separated by blank line)
Stage and commit:
- Stage relevant files with
git add
- Create the commit with the formatted message
- Do NOT include the Claude Code attribution footer for this project
Examples
New blog post:
git add content/posts/my-new-post.md
git commit -m "content(posts): introduction to quartz"
Fix typo in existing content:
git add content/about.md
git commit -m "fix(about): correct university name"
Update CSS styling:
git add quartz/styles/custom.scss
git commit -m "style(typography): increase body font size for readability"
Modify Quartz configuration:
git add quartz.config.ts
git commit -m "build(config): enable LaTeX plugin and update theme"
Multiple file changes with body:
git add content/posts/*.md
git commit -m "content(posts): add three new articles on web development
- Introduction to React hooks
- CSS Grid vs Flexbox comparison
- Modern JavaScript features overview"
Important Notes
- Always run
git status and git diff first to understand what's being committed
- Do NOT add the "🤖 Generated with Claude Code" footer to commits in this repository
- If the user's changes span multiple types, ask which aspect they want to commit first or suggest breaking it into multiple commits
- For unclear cases, ask the user which commit type they prefer
- Never commit files that contain secrets (.env, credentials, etc.)
1---2name: conventional-commit-33description: Creates git commits following project-specific conventional commit conventions for a Quartz blog (content, fix, style, build prefixes)4---5
6# Conventional Commit Skill
7
8This skill helps create properly formatted conventional commits for this Quartz blog repository.
9
10## Commit Type Conventions
11
12This project uses the following conventional commit prefixes:
13
14- **content:** - For new blog posts or content additions
15 - Format: `content: [title]` or `content(category): [title]`
16 - Example: `content: Introduction to Static Site Generators`
17 - Example: `content(tech): Understanding JAMstack Architecture`
18
19- **fix:** - For corrections to existing content or code
20 - Format: `fix: [what you fixed]` or `fix(scope): [what you fixed]`
21 - Example: `fix: correct typo in about page`
22 - Example: `fix(links): update broken external references`
23
24- **style:** - For CSS, layout, or visual changes
25 - Format: `style: [what you changed]` or `style(component): [what you changed]`
26 - Example: `style: improve mobile navigation layout`
27 - Example: `style(typography): adjust heading font sizes`
28
29- **build:** - For Quartz generator configuration changes
30 - Format: `build: [what you changed]` or `build(scope): [what you changed]`
31 - Example: `build: enable syntax highlighting plugin`
32 - Example: `build(config): update theme colors`
33
34## Instructions
35
36When the user asks you to create a commit:
37
381. **Analyze the changes:**
39 - Run `git status` to see changed/new files
40 - Run `git diff` to understand the nature of changes
41 - Identify which commit type applies based on the files changed:
42 - Files in `content/` → likely `content:` (unless fixing existing posts)
43 - Files ending in `.css`, `.scss`, or style-related → `style:`
44 - Files like `quartz.config.ts`, `quartz.layout.ts`, plugin configs → `build:`
45 - Bug fixes or corrections → `fix:`
46
472. **Determine the scope (optional but recommended):**
48 - For content: use the content category/folder (e.g., `tech`, `personal`, `about`)
49 - For fixes: use the affected area (e.g., `links`, `formatting`, `frontmatter`)
50 - For style: use the component/area (e.g., `typography`, `navigation`, `colors`)
51 - For build: use the config area (e.g., `config`, `plugins`, `layout`)
52
533. **Craft the commit message:**
54 - Use lowercase for the description
55 - Be concise but descriptive (50 chars or less for the subject)
56 - Use imperative mood (e.g., "add" not "added")
57 - If needed, add a body with more details (separated by blank line)
58
594. **Stage and commit:**
60 - Stage relevant files with `git add`
61 - Create the commit with the formatted message
62 - Do NOT include the Claude Code attribution footer for this project
63
64## Examples
65
66**New blog post:**
67```bash
68git add content/posts/my-new-post.md
69git commit -m "content(posts): introduction to quartz"
70```
71
72**Fix typo in existing content:**
73```bash
74git add content/about.md
75git commit -m "fix(about): correct university name"
76```
77
78**Update CSS styling:**
79```bash
80git add quartz/styles/custom.scss
81git commit -m "style(typography): increase body font size for readability"
82```
83
84**Modify Quartz configuration:**
85```bash
86git add quartz.config.ts
87git commit -m "build(config): enable LaTeX plugin and update theme"
88```
89
90**Multiple file changes with body:**
91```bash
92git add content/posts/*.md
93git commit -m "content(posts): add three new articles on web development
94
95- Introduction to React hooks
96- CSS Grid vs Flexbox comparison
97- Modern JavaScript features overview"
98```
99
100## Important Notes
101
102- Always run `git status` and `git diff` first to understand what's being committed
103- Do NOT add the "🤖 Generated with Claude Code" footer to commits in this repository
104- If the user's changes span multiple types, ask which aspect they want to commit first or suggest breaking it into multiple commits
105- For unclear cases, ask the user which commit type they prefer
106- Never commit files that contain secrets (.env, credentials, etc.)