commit
Enforcement
This skill MUST be followed exactly. Steps MUST execute in order. Do not skip, merge, or reorder any step.
Format
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types
feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert
Rules
- type: Required, lowercase, from the list above
- scope: Optional. Only include when it clearly adds context (e.g.
feat(ui):vsfeat:). Lowercase, kebab-case if multi-word. - description: Required, lowercase start, no period at end, imperative mood (what the change does, not what it did), max 72 chars
- body: Optional, wrap at 100 chars, explain "what" and "why" (not "how")
- footer: Optional, for breaking changes (
BREAKING CHANGE:) or issue refs (Closes #123,Fixes #456)
Breaking Changes
Append ! to type/scope, or add BREAKING CHANGE: footer.
Examples
feat(auth): add OAuth2 login support
fix(ui): resolve button alignment on mobile
docs: update API documentation
refactor(auth): simplify error handling logic
chore(deps): upgrade React to v19
Workflow — Execute in Exact Order
-
MANDATORY — Run
git config --list | grep -E "^user\.". Verify user.name and user.email are present and correct. If missing or wrong, abort and warn the user. Do not proceed. -
MANDATORY — Stage all changes with
git add -A. Do not skip. -
MANDATORY — Generate the commit message in Conventional Commits format.
-
MANDATORY — Output the commit message on its own line at the END of your response. Nothing — no explanation, no commentary, no emoji — should follow it:
feat(auth): add OAuth2 login
-
MANDATORY — Wait for user confirmation. Do NOT run
git commityourself. If the user confirms, rungit commitwith the staged changes. If the user declines, stop.
More from vainjs/skills
react
TypeScript/React code standards for writing and reviewing React components, hooks, and TypeScript code. Make sure to use this skill whenever the user mentions React, React component, functional component, hook (useState, useEffect, useCallback, useMemo, custom hook), TypeScript type/interface, FC, Props, state management, or asks to write, review, or refactor any React or TypeScript code — even if they don't explicitly say "skill" or "standards".
9vainjs
Scaffold projects with vainjs conventions for npm packages and Chrome extensions. Make sure to use this skill whenever the user mentions initializing an npm package, creating a new project with Vite or Rollup, setting up a Chrome extension (Manifest V3), scaffolding a library, or running `npm init`, `pnpm create`, or similar scaffold commands — even if they don't explicitly ask for vainjs conventions.
8feishu-news-card
发送飞书卡片消息,用于新闻推送、通知提醒、数据报告等场景。Make sure to use this skill whenever the user mentions 推送新闻、发飞书消息、发送通知卡片、发飞书通知、拉取飞书消息、飞书卡片、Feishu card、Lark card,或任何与飞书/飞书消息推送相关的场景 — even if they don't explicitly say "skill"。
3