with one click
10up-commit-messages
Write clear, consistent commit messages following 10up conventions. Uses conventional commit style with lowercase formatting. Use when creating commits, writing PR descriptions, or generating changelogs.
Menu
Write clear, consistent commit messages following 10up conventions. Uses conventional commit style with lowercase formatting. Use when creating commits, writing PR descriptions, or generating changelogs.
| name | 10up-commit-messages |
| description | Write clear, consistent commit messages following 10up conventions. Uses conventional commit style with lowercase formatting. Use when creating commits, writing PR descriptions, or generating changelogs. |
| license | MIT |
| compatibility | Works with any git-based project. Integrates with changesets for versioning. |
| alwaysApply | true |
| metadata | {"author":"10up","version":"1.0"} |
This skill guides you through writing clear, consistent commit messages that follow 10up conventions and conventional commit standards.
<type>: <description>
[optional body]
[optional footer]
| Type | When to Use | Example |
|---|---|---|
fix: | Bug fixes and error corrections | fix: resolve block validation error on save |
feature: | New features or functionality | feature: add hero section block with background image support |
chore: | Maintenance, dependencies, build changes | chore: update 10up-toolkit to v6.5.0 |
documentation: | Documentation only changes | documentation: add InnerBlocks usage examples to README |
refactor: | Code changes without functional impact | refactor: extract media upload logic to custom hook |
test: | Adding or updating tests | test: add unit tests for block registration |
style: | Formatting, whitespace (not CSS) | style: apply prettier formatting to block files |
performance: | Performance improvements | performance: lazy load carousel images below fold |
# Good
fix: ensure carousel icon settings fall back to defaults correctly
# Bad - capitalized
Fix: Ensure carousel icon settings fall back to defaults correctly
Short, scannable subjects are easier to read in git log.
# Good (58 chars)
feature: add responsive breakpoint controls to grid block
# Bad (93 chars)
feature: add responsive breakpoint controls to the grid block component for better mobile support
Write as if giving a command: "add", "fix", "update" — not "added", "fixed", "updated".
# Good - imperative
fix: resolve attribute type mismatch in hero block
feature: add toggle for showing post excerpt
# Bad - past tense
fix: resolved attribute type mismatch in hero block
feature: added toggle for showing post excerpt
# Good
documentation: update contributing guidelines
# Bad
documentation: update contributing guidelines.
The subject should explain WHAT changed. Use the body for WHY if needed.
# Good - specific
fix: prevent duplicate block registration on hot reload
# Bad - vague
fix: block issue
fix: stuff
fix: ensure carousel icon settings fall back to defaults correctly
feature: add timeline block support
chore: apply changesets
fix: remove beta label from navigation plugin
refactor: simplify release process
documentation: update contributing guidelines
test: add cypress tests for accordion interactions
performance: reduce bundle size by tree-shaking unused icons
For complex changes, add a body explaining the context:
fix: prevent block validation errors after attribute changes
The hero block was showing "Invalid block" after we renamed
the 'title' attribute to 'heading'. Added a deprecation entry
with proper migration to handle existing content.
Fixes #123
For monorepos or large projects, you can add a scope:
fix(accordion): ensure content panel respects max-height
feature(theme): add dark mode style variation
chore(deps): update @wordpress/scripts to 27.0.0
Use ! after type or add BREAKING CHANGE: footer:
feature!: change block API to use render.php instead of save.js
BREAKING CHANGE: All blocks must now use dynamic rendering.
Static save functions are no longer supported.
# Missing type prefix
fixed the carousel bug
# Too vague
fix
update
changes
# Capitalized with period
Fix: Ensure carousel works.
# Past tense
Added new feature
# Too long
feature: add responsive breakpoint controls to the grid block component for better mobile support and tablet compatibility
# Describing files instead of changes
fix: update index.js
When a commit touches multiple files, describe the overall change:
# Good - describes the change
feature: add image lazy loading to all media blocks
# Bad - lists files
feature: update hero.php, gallery.php, and image.php
Some commits are generated automatically by CI/CD:
chore: apply changesets — Generated when changesets are versionedchore: release v1.2.3 — Generated by release automationFor projects using changesets (common in 10up monorepos):
# Create changeset
npx changeset
# Commit with simple message
git commit -m "feature: add lazy loading to media blocks"
PR titles should follow the same format as commit messages:
fix: resolve block validation error after attribute rename
feature: add hero section block with parallax support
For squash-merge workflows, the PR title becomes the commit message.
When reviewing commits:
When asked to create a commit:
Create and modify Gutenberg blocks following 10up engineering standards. Covers block.json metadata, dynamic rendering with PHP, attributes, deprecations, editor components, and the useBlockProps pattern. Use when creating new blocks, fixing block errors, or modifying existing block code.
Extend core WordPress blocks with custom attributes and controls using the 10up block extension pattern. Alternative to block styles when multiple controls are needed. Use when adding functionality to existing blocks rather than creating new ones.
Create reusable block patterns and synced patterns following 10up standards. Covers PHP file-based registration, pattern metadata, categories, and the block bindings API. Use when creating reusable layout components or content templates.
Build and modify WordPress block themes following 10up standards. Covers theme.json configuration, templates, template parts, patterns, style variations, and CSS organization. Use when working on block-based themes or Site Editor customizations.
CSS architecture, best practices, and patterns for WordPress projects. Covers ITCSS methodology, accessibility, specificity management, naming conventions, and modern CSS features.
Implement nested blocks and block composition using InnerBlocks. Covers parent/child relationships, templates, allowed blocks, and template locking. Use when building blocks that contain other blocks like cards, sections, or grid layouts.