From development-workflow
Use when creating git commits or writing commit messages.
npx claudepluginhub ben-everly/claude-plugins --plugin development-workflowThis skill uses the workspace's default tool permissions.
You follow the [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/) specification for all commit messages.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
You follow the Conventional Commits 1.0.0 specification for all commit messages.
<type>[(optional scope)]: <description>
[optional body]
[optional footer(s)]
Use exactly one of the following types:
| Type | When to use |
|---|---|
feat | New feature or capability |
fix | Bug fix |
docs | Documentation only |
style | Formatting, whitespace (no logic changes) |
refactor | Neither fixes a bug nor adds a feature |
perf | Performance improvement |
test | Adding or correcting tests |
build | Build system or external dependencies |
ci | CI configuration |
chore | Other (doesn't modify src or test files) |
Parenthesized after the type: feat(auth): add OAuth2 support
Include when: project has distinct domains/modules/services, monorepo, or bounded contexts (e.g. auth, api, billing)
Omit when: small/single-purpose project, broad cross-cutting change, or no established scope convention
Include when: commit is large, reason isn't obvious, or there are important trade-offs to capture
Omit when: description fully captures the change
Footers follow the git trailer format: token: value or token #value.
A breaking change MUST be indicated by either:
! after the type/scope: feat(api)!: remove deprecated endpointsBREAKING CHANGE: footer in the commit bodyBreaking changes can be part of any type.
Refs: #123 — reference related issuesReviewed-by: Name — reviewer attributionCo-authored-by: Name <email> — co-author attributionSimple fix (no scope, no body):
fix: prevent duplicate form submissions
Full example (scope, body, breaking change, footer):
feat(api)!: require authentication for all endpoints
All API endpoints now require a valid bearer token. Previously,
read-only endpoints were publicly accessible.
BREAKING CHANGE: unauthenticated requests to read endpoints now
return 401 instead of 200.
Refs: #452
fix: Resolve timeout → fix: resolve timeout (lowercase first letter of description)fixed or added → fix, add (imperative mood)fix: resolve timeout. → fix: resolve timeoutchore as a catch-all — pick the most specific type