Token导航 LogoToken导航

Agent Skill · AI 工具

git-storytelling-commit-messages(git 讲故事提交消息)

git-storytelling-commit-messages 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

git-storytelling-commit-messages 是AI 工具类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证为 MIT,第三方扫描已通过,按安装量在AI 工具类的 2,536 个 Skill 里排第 1,496。

总安装 661周安装 27GitHub Stars 142下载 214核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:git-storytelling-commit-messages(git 讲故事提交消息)
来源仓库:https://github.com/thebushidocollective/han
仓库路径:skills/git-storytelling-commit-messages
安装命令:
npx skills add https://github.com/thebushidocollective/han --skill git-storytelling-commit-messages
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/thebushidocollective/han --skill git-storytelling-commit-messages

这个 Skill 是做什么的

AI 工具类 Skill 用来扩展助手本身的能力,例如接模型、接检索、接外部服务。

git-storytelling-commit-messages 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合围绕仓库状态和协作事项进行整理。适用于需要分析提交历史、追踪功能变更或生成协作叙事的需求场景。

通过 GitHub 仓库安装,使用 npx skills add 命令添加,需参考原始 README 获取详细用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/git-storytelling-commit-messages

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/thebushidocollective/han --skill git-storytell…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

git-storytelling-commit-messages 怎么安装?

在终端执行 npx skills add https://github.com/thebushidocollective/han --skill git-storytelling-commit…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

git-storytelling-commit-messages 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

git-storytelling-commit-messages 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

git-storytelling-commit-messages 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

git-storytelling-commit-messages 用的人多吗?

公开数据是累计安装 661 次,近一周安装 27 次,下载 214 次,GitHub 142 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

git-storytelling-commit-messages 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理AI 工具类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

AI 工具类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
executing-plans

执行计划 · Codex、Claude

1,515,336173,110只读MIT通过
verification-before-completion

完成前的验证 · Codex、Claude

1,319,472173,121权限未标注MIT通过
subagent-driven-development

子 Agent 驱动开发 · Codex、Claude

1,312,416173,138只读MIT通过
copy-editing

复制编辑 · Codex、Claude

1,209,57625,632只读MIT通过
paywall-upgrade-cro

付费专区升级 cro · Codex、Claude

1,030,17625,617只读MIT通过
git-storytelling-commit-messages

git 讲故事提交消息 · 本页

661142操作浏览器MIT通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Git Storytelling - Commit Messages

This skill guides you in crafting commit messages that are clear, informative, and tell the story of your development process. Good commit messages are documentation that lives with your code.

Core Principles

The Purpose of Commit Messages

Commit messages serve multiple audiences and purposes:

  • Future developers (including yourself) understanding why changes were made
  • Code reviewers evaluating the intent and scope of changes
  • Project managers tracking progress and understanding what was delivered
  • Automated tools generating changelogs and release notes
  • Git tools like blame, log, and bisect for debugging

The Three-Part Structure

Effective commit messages follow a consistent structure:

  1. Subject Line: Brief summary (50 characters or less)
  2. Body (optional): Detailed explanation of what and why
  3. Footer (optional): Issue references, breaking changes, co-authors

The Subject Line Format

<type>: <description>

Examples:
feat: add user authentication system
fix: resolve race condition in payment processing
docs: update API documentation for v2 endpoints

Commit Message Anatomy

Subject Line Rules

DO:

  • Start with a type prefix (feat, fix, docs, etc.)
  • Use imperative mood ("add" not "added" or "adds")
  • Keep it under 50 characters
  • Don't end with a period
  • Capitalize the first letter after the colon
  • Be specific and descriptive

DON'T:

  • Use vague terms like "update stuff" or "fix things"
  • Include file names unless necessary
  • Describe HOW you did it (that's what the code shows)
  • Use past tense
  • Be too generic

Body Guidelines

The body should explain:

  • What changed (briefly, the code shows details)
  • Why the change was needed
  • Any side effects or implications
  • Alternatives considered
  • Context that isn't obvious from the code

Format:

  • Wrap at 72 characters per line
  • Use bullet points for multiple items
  • Separate from subject with a blank line
  • Use proper paragraphs for complex explanations

Footer Elements

Refs: #123, #456
Closes: #789
Breaking Change: API endpoint /users now requires authentication
Co-Authored-By: Jane Doe <jane@example.com>

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Commit Types

feat: New Features

Use when adding new functionality or capabilities.

feat: add password reset functionality

Implement password reset flow with email verification:
- Generate secure reset tokens
- Send reset emails with expiration
- Validate tokens before allowing password change
- Log password reset events for security audit

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

fix: Bug Fixes

Use when correcting defects or unexpected behavior.

fix: prevent duplicate order submission

Add client-side debouncing and server-side idempotency check
to prevent users from accidentally submitting the same order
multiple times when clicking quickly.

Closes: #234

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

docs: Documentation

Use for documentation-only changes.

docs: add architecture decision record for database choice

Document why we chose PostgreSQL over MongoDB for our
primary datastore, including performance benchmarks and
team expertise considerations.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

refactor: Code Restructuring

Use when improving code without changing behavior.

refactor: extract authentication logic into middleware

Move authentication checks from individual route handlers
into reusable middleware to reduce duplication and improve
maintainability.

No functional changes to authentication behavior.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

test: Testing Changes

Use when adding or modifying tests.

test: add integration tests for payment flow

Add end-to-end tests covering:
- Successful payment processing
- Failed payment handling
- Refund processing
- Webhook event handling

Improves test coverage from 65% to 82%.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

perf: Performance Improvements

Use for changes that improve performance.

perf: optimize database query in user dashboard

Replace N+1 query pattern with single JOIN query, reducing
dashboard load time from 2.3s to 0.4s for users with 100+
items.

Added database index on user_id and created_at columns.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

style: Formatting Changes

Use for whitespace, formatting, missing semicolons, etc.

style: format code with prettier

Apply prettier formatting across all TypeScript files
to maintain consistent code style. No functional changes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

chore: Maintenance Tasks

Use for routine tasks, dependency updates, build changes.

chore: upgrade dependencies to latest stable versions

Update all npm packages to resolve security vulnerabilities:
- express: 4.17.1 -> 4.18.2
- axios: 0.21.1 -> 1.4.0
- jest: 27.0.6 -> 29.5.0

All tests passing after upgrade.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Code Examples

Example 1: Feature with Context

feat: implement webhook signature verification

Add HMAC-SHA256 signature verification for incoming webhooks
to ensure requests are authentic and haven't been tampered with.

Implementation details:
- Validate signature from X-Webhook-Signature header
- Use timing-safe comparison to prevent timing attacks
- Return 401 for invalid signatures
- Log suspicious webhook attempts

Security measure required before production launch.

Refs: #567

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Example 2: Fix with Root Cause

fix: resolve memory leak in event listener cleanup

Event listeners were being added on component mount but not
removed on unmount, causing memory to accumulate and browser
to slow down after multiple navigation cycles.

Root cause: Missing cleanup function in useEffect hook.

Solution: Return cleanup function that removes all event
listeners when component unmounts.

This bug affected users who navigated the app extensively
without refreshing, particularly noticeable after 10+ page
transitions.

Closes: #892

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Example 3: Refactor with Motivation

refactor: replace callback hell with async/await

Convert nested callback-based error handling to async/await
pattern for improved readability and maintainability.

Before: 5 levels of nested callbacks
After: Linear async/await flow

Benefits:
- Easier to understand error handling
- Reduced cognitive load when reading code
- Simpler to add new steps to the flow
- Better stack traces for debugging

No behavior changes, all existing tests pass.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Example 4: Breaking Change

feat: migrate to v2 API with breaking changes

Update API client to use v2 endpoints with improved
error handling and response format.

BREAKING CHANGE: Response format has changed
- Old: { data: {...}, status: "ok" }
- New: { result: {...}, success: true }

Migration guide:
1. Update response handlers to use 'result' instead of 'data'
2. Check 'success' boolean instead of status string
3. Error responses now include 'error.code' field

All internal services updated. Third-party integrators
will need to update their code.

Refs: #1001

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Example 5: Performance Optimization

perf: implement Redis caching for frequently accessed data

Add Redis cache layer for user profile data that changes
infrequently but is accessed on every request.

Metrics:
- Cache hit rate: 94% after 1 hour of traffic
- Average response time: 450ms -> 45ms
- Database load: Reduced by 80%

Cache invalidation strategy:
- Expire after 1 hour
- Invalidate on profile update
- Fallback to database on cache miss

Configuration via REDIS_URL environment variable.

Refs: #445

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Example 6: Security Fix

fix: sanitize user input to prevent XSS attacks

Escape HTML entities in user-generated content before
rendering to prevent cross-site scripting attacks.

Vulnerability: User could inject <script> tags in profile
bio field, which would execute in other users' browsers.

Fix: Use DOMPurify library to sanitize all user input
before storing and rendering.

Affected fields:
- User profile bio
- Comment content
- Custom status messages

Security severity: High
No known exploitation in production.

Closes: #778

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Example 7: Configuration Change

chore: configure automatic dependency updates

Set up Dependabot to automatically check for and create
PRs for dependency updates on a weekly schedule.

Configuration:
- Check npm dependencies weekly
- Auto-merge patch updates after tests pass
- Require manual review for minor/major updates
- Group updates by dependency type

This will help us stay current with security patches
and reduce manual maintenance burden.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Example 8: Revert

revert: roll back Redis caching implementation

Revert "perf: implement Redis caching for frequently accessed data"

Rolling back due to cache invalidation bugs causing stale
data to be served to users. The caching strategy needs to be
redesigned to properly handle all update scenarios.

Issues discovered:
- Partial profile updates don't invalidate cache
- Race condition between cache write and DB write
- Cache stampede under high load

Will re-implement with fixes in follow-up PR.

Refs: #445

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

When to Use This Skill

Use this skill when:

  • Writing commit messages for any code change
  • Creating commits during development workflow
  • Preparing commits for code review
  • Contributing to open source projects
  • Working on team projects with shared git history
  • Documenting important technical decisions
  • Creating release notes or changelogs
  • Using git bisect to debug issues
  • Teaching others about git best practices
  • Establishing team git conventions

Best Practices

  1. Write the commit message before committing - Thinking about the message helps clarify what you're committing
  2. Use the imperative mood - "Add feature" not "Added feature" or "Adds feature"
  3. Separate subject from body with blank line - Required by many git tools
  4. Limit subject line to 50 characters - Forces you to be concise and thoughtful
  5. Wrap body at 72 characters - Keeps messages readable in various tools
  6. Explain the why, not the what - Code shows what changed, message explains why
  7. Reference issues and PRs - Creates traceability between code and requirements
  8. Use conventional commit format - Enables automated changelog generation
  9. Include breaking changes in footer - Critical for semantic versioning
  10. Mention side effects - Alert others to non-obvious consequences
  11. List co-authors when pairing - Give credit where due
  12. Be specific about scope - "fix: resolve login bug" not "fix: bug in auth"
  13. Describe the problem solved - Not just the solution implemented
  14. Include relevant metrics - Performance improvements, test coverage, etc.
  15. Use consistent terminology - Match terms used in codebase and documentation

Common Pitfalls

  1. Vague subject lines - "fix bug" tells us nothing useful
  2. Including too much detail in subject - Save details for the body
  3. Using past tense - "Fixed bug" instead of "fix bug"
  4. Missing body explanation - Non-obvious changes need context
  5. Writing for yourself only - Remember others will read this
  6. Describing implementation instead of intent - Focus on the why
  7. Forgetting to reference issues - Breaks traceability
  8. Inconsistent commit types - Mix of feat/feature/add makes history messy
  9. No blank line between subject and body - Breaks formatting in many tools
  10. Subject line ends with period - Unnecessary and wastes character limit
  11. Writing essay-length commit messages - Be concise but complete
  12. Not updating commit message when amending - Old message may no longer be accurate
  13. Generic messages like "updates" or "changes" - These provide zero value
  14. Putting file names in subject - Usually obvious from the diff
  15. Missing breaking change warnings - Can break downstream consumers

Resources

Git Documentation

Tools

  • git commit - Standard commit command
  • git commit --amend - Modify the last commit message
  • git log --oneline - View abbreviated commit history
  • git log --format=fuller - See complete commit information
  • git show <commit> - View full commit details
  • git rebase -i - Edit historical commit messages

Checking Your Messages

# View recent commit messages
git log --oneline -10

# See full commit message with diff
git show HEAD

# Check if subject line is too long
git log --format="%h %s" | awk 'length($0) > 52 { print }'

# View all commit messages from current branch
git log main..HEAD --format="%B"

# See commits by author
git log --author="Your Name" --format="%h %s"

Message Templates

Create a commit message template:

# Create template file
cat > ~/.gitmessage << EOF
# <type>: <subject>

# <body>

# <footer>

# Type can be:
#    feat     (new feature)
#    fix      (bug fix)
#    refactor (refactoring code)
#    style    (formatting, missing semicolons, etc)
#    test     (adding missing tests)
#    docs     (changes to documentation)
#    chore    (updating build tasks, dependencies, etc)
#    perf     (performance improvement)
EOF

# Configure git to use template
git config --global commit.template ~/.gitmessage

Pre-commit Hooks

Enforce message format with commit-msg hook:

#!/bin/bash
# .git/hooks/commit-msg

commit_msg=$(cat "$1")
pattern="^(feat|fix|docs|style|refactor|test|chore|perf):"

if ! echo "$commit_msg" | grep -qE "$pattern"; then
    echo "Error: Commit message must start with type prefix"
    echo "Example: feat: add new feature"
    exit 1
fi

# Check subject line length
subject=$(echo "$commit_msg" | head -n1)
if [ ${#subject} -gt 50 ]; then
    echo "Warning: Subject line exceeds 50 characters"
    echo "Length: ${#subject}"
fi

exit 0

Related Skills

  • git-storytelling-commit-strategy: When to commit and how often
  • git-storytelling-branch-strategy: Managing branches for clear development narratives
  • code-reviewer: How good commit messages improve code review

Advanced Patterns

Multi-Component Changes

When a change affects multiple components:

feat: add user notification system

Implement real-time notifications across the application:

Backend changes:
- Add WebSocket server for push notifications
- Create notification storage in database
- Implement notification API endpoints

Frontend changes:
- Add notification bell icon to header
- Create notification panel component
- Connect to WebSocket for live updates

Changes span both client and server to deliver complete
notification feature.

Refs: #234, #235, #236

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Bug Fix with Test

When fixing a bug, include test information:

fix: handle null values in date formatting

The date formatter would throw exception when passed null,
causing the entire page to crash.

Fix: Add null check and return empty string for null dates.

Test: Added unit test to verify null handling and edge cases
for undefined, empty string, and invalid date formats.

Before: Application crashed on null dates
After: Gracefully handles all invalid date inputs

Closes: #567

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Dependency Update with Migration Notes

chore: upgrade React 17 to React 18

Update React to version 18 for improved concurrent rendering
and automatic batching features.

Migration steps performed:
1. Updated react and react-dom to 18.2.0
2. Replaced ReactDOM.render with createRoot
3. Updated test configuration for new rendering API
4. Verified all components work with new concurrent features

Breaking changes addressed:
- Updated enzyme to React 18 compatible version
- Replaced deprecated lifecycle methods
- Fixed tests that relied on synchronous rendering

All tests passing, no visual regressions detected.

Refs: #789

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Conclusion

Well-crafted commit messages are an investment in your project's future. They serve as documentation, aid in debugging, facilitate code review, and tell the story of how your software evolved. By following these guidelines and making thoughtful commit messages a habit, you'll create a git history that is valuable, searchable, and maintainable.

Remember: Your commit messages are documentation that lives with your code forever. Make them count.

平台分布

Claude Code

31.57%
按下载量换算68

Codex

25.25%
按下载量换算54

OpenCode

16.04%
按下载量换算34

Antigravity

13.58%
按下载量换算29

windsurf

7.92%
按下载量换算17

Gemini CLI

3.67%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

继续浏览同类 Skills