搜索

PythonReactSEOPDF
GitHub Skill

vc-ship

Automates end-to-end git workflows from branch creation through PR submission. Organizes changes into atomic commits with clean history and quality checks. Use when shipping code, preparing changes for review, committing and pushing, creating pull requests, or cleaning up commit history.

philoserf☆ 9 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Reference Files


Git Workflow Skill

This skill provides intelligent, end-to-end Git workflow automation. It analyzes repository changes, organizes them into atomic commits with well-formatted messages, manages branches, cleans up commit history, and helps create pull requests.

Contents

Workflow Overview

The skill follows an 8-phase workflow:

  1. Branch Management - Ensure work is on appropriate branch
  2. Repository Analysis - Understand current state and changes
  3. Organize into Atomic Commits - Group related changes logically
  4. Create Commits - Generate well-formatted commit messages
  5. Commit History Cleanup - Optionally reorganize commits before push
  6. Pre-Push Quality Review - Analyze commit quality and run tests (MANDATORY)
  7. Push with Confirmation - Push changes to remote after approval
  8. Pull Request Creation - Optionally create PR with generated description (Summary, Changes, Breaking Changes, Dependencies, Testing, Related Issues sections)
Phase Goal Key Actions Reference
0 Branch Management Block protected branches, suggest feature branch phase-0-protocol.md
1 Repository Analysis Check status, diffs, detect conflicts workflow-phases.md
2 Organize Commits Group related changes, create commit plan workflow-phases.md
3 Create Commits Stage files, format messages, execute commits commit-format.md
4 History Cleanup Squash/reword commits (optional, use git reset --soft) rebase-guide.md
5 Quality Review Check message quality, offer tests (mandatory) phase-5-protocol.md
6 Push Block protected branches, confirm, push with -u protected-branch-protocol.md
7 Pull Request Generate PR title/description, create via gh workflow-phases.md

Key rules:

  • Never use git rebase -i (requires interactive input) - use git reset --soft instead
  • Always block pushes to protected branches (main/master/develop/production/staging)
  • Commit messages: ≤72 chars, imperative mood, explain WHY not WHAT

Edge Case Quick Reference

Situation Action
No changes Inform user, exit gracefully
Untracked files List, ask about inclusion, suggest .gitignore for secrets
Large changeset (10+ files) Suggest splitting into multiple PRs
Detached HEAD Alert user, offer to create branch
Merge conflicts STOP, show files, guide resolution
No remote Detect in Phase 1, complete through Phase 5, then end workflow (skip push/PR)
Protected branch BLOCK, require feature branch (see phase-0-protocol.md)
Rebase in progress Alert, offer continue or abort
Symlinked files Detect in Phase 1, exclude from commit plan, inform user
Bare git repo Not supported — use the repo's wrapper command (e.g., dot) for bare repo operations

User Interaction Patterns

Use AskUserQuestion for:

  • Branch creation confirmation
  • Commit plan approval
  • Modifications to commit grouping
  • Push confirmation
  • PR creation confirmation
  • Force push warnings
  • Protected branch warnings

Use TaskCreate/TaskUpdate/TaskList for:

  • Tracking multiple commits to create (3+ commits)
  • Long workflow with many steps
  • Keeping user informed of progress

Use Bash for:

  • All git commands
  • All gh commands
  • Repository state inspection

Summary

This skill automates the entire Git workflow from analyzing changes to creating a PR. It emphasizes:

  • Quality over speed — well-formatted commits are important
  • Safety first — always check state and confirm destructive operations
  • User control — ask for approval at key decision points
  • Education — explain what's happening and why

Key workflow patterns:

  • One logical change = one commit; don't mix unrelated changes
  • Commits should build on each other (add new, migrate, remove old)
  • Clean up messy history before pushing
  • Include tests with the code they test
  • Keep config changes separate unless tightly coupled to code
  • Always branch per feature; never commit directly to main
  • Explain WHY in commit messages, not just WHAT

When NOT to Use

This skill is not appropriate for:

  • Simple single-file commits - Direct git add && git commit is faster
  • Amending the last commit - Use git commit --amend directly
  • Cherry-picking commits - Use standard git cherry-pick workflow
  • Resolving merge conflicts - User must resolve manually first
  • Submodule operations - Complex submodule workflows need manual handling
  • Force pushing to shared branches - This skill blocks force pushes for safety

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-03-11
索引更新时间
2026-03-11
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!