git
Git workflow conventions for Video.js 10. Commit messages, PR descriptions, branch naming, and scope inference. Triggers: "commit", "push", "create PR", "conventional commit", "branch name", "open pull request".
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install videojs-v10-git
Repository
Skill path: .claude/skills/git
Git workflow conventions for Video.js 10. Commit messages, PR descriptions, branch naming, and scope inference. Triggers: "commit", "push", "create PR", "conventional commit", "branch name", "open pull request".
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: videojs.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install git into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/videojs/v10 before adding git to shared team environments
- Use git for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
--- name: git description: >- Git workflow conventions for Video.js 10. Commit messages, PR descriptions, branch naming, and scope inference. Triggers: "commit", "push", "create PR", "conventional commit", "branch name", "open pull request". context: fork --- # Git Git workflow conventions for Video.js 10. ## Reference Material | Task | Load | | --------------------- | ---------------------- | | Writing commits | `references/commit.md` | | Inferring scope | `references/scope.md` | | Creating/updating PRs | `references/pr.md` | | Naming branches | `references/branch.md` | ## Quick Reference **Commit:** `type(scope): lowercase description` **Branch:** `type/short-description` **PR Title:** Same as commit (or `RFC:` / `Discovery:` prefix) ## Process 1. Create branch following naming convention 2. Make changes 3. Commit with conventional message 4. Push and create PR with proper description For the `/commit-pr` command, all steps after branching are automated. --- ## Referenced Files > The following files are referenced in this skill and included for context. ### references/commit.md ```markdown # Commit Messages Follow [Conventional Commits](https://www.conventionalcommits.org/) enforced by commitlint. ## Format ``` type(scope): lowercase description ``` - **type**: Category of change (required) - **scope**: Package or area affected (required) - **description**: Short summary in lowercase (required) ## Types | Type | Use for | | ---------- | -------------------------------------------- | | `feat` | New feature | | `fix` | Bug fix | | `chore` | Maintenance (deps, configs, no prod changes) | | `docs` | Documentation only | | `refactor` | Code change that doesn't fix or add features | | `perf` | Performance improvement | | `test` | Adding or updating tests | | `ci` | CI/CD changes | | `build` | Build system changes | | `style` | Code style (formatting, semicolons, etc.) | ## Breaking Changes Use `!` suffix on type for breaking changes: ``` feat(core)!: remove deprecated API refactor(store)!: rename feature methods ``` The `!` signals breaking changes in the changelog. ## Examples ``` feat(html): add volume slider component fix(store): prevent race condition in state sync chore(root): bump vitest to v3 docs(core): document request lifecycle refactor(utils): simplify event listener cleanup test(html): add slider interaction tests ``` ## WIP Commits Commits starting with `wip` (case-insensitive) bypass commitlint validation. Use sparingly for work-in-progress that will be squashed. ## No Co-Author Trailers Do NOT add `Co-Authored-By` trailers to commit messages. The commit author is sufficient attribution. ## Authoritative Source See `commitlint.config.js` for the enforced scope list. ``` ### references/scope.md ```markdown # Scope Inference Infer commit scope from changed file paths. ## Path to Scope Mapping | Path | Scope | | ------------------------ | -------------- | | `packages/core/` | `core` | | `packages/store/` | `store` | | `packages/utils/` | `utils` | | `packages/html/` | `html` | | `packages/react/` | `react` | | `packages/react-native/` | `react-native` | | `packages/icons/` | `icons` | | `site/` | `site` | | `rfc/` | `rfc` | | `internal/design/` | `design` | | `.claude/` | `claude` | | `.github/workflows/` | `ci` | | `.github/` | `cd` | | Root config files | `root` | ## Multiple Packages When changes span multiple packages: 1. **Single primary package**: Use that package's scope 2. **Related packages**: Use the most significant one 3. **Broad changes**: Use `packages` scope ## Allowed Scopes From `commitlint.config.js`: ``` cd, ci, claude, core, design, docs, html, icons, packages, plan, react-native, react, rfc, root, site, store, test, utils ``` ## Examples ```bash # Single package packages/store/src/feature.ts → store # Multiple files in same package packages/html/src/slider.ts packages/html/src/button.ts → html # Cross-package refactor packages/store/src/slice.ts packages/core/src/media.ts → packages (or primary one) # Root configs tsconfig.json package.json → root # CI changes .github/workflows/test.yml → ci ``` ``` ### references/pr.md ```markdown # Pull Requests Conventions for PR titles and descriptions. ## PR Title Same as commit message format: ``` type(scope): lowercase description ``` **Exceptions:** | Prefix | Use for | | ------------ | ------------------------------------ | | `[RFC]` | Request for comments / proposals | | `Discovery:` | Exploration / research / prototyping | **Note:** RFC PRs use `[RFC] Title` format while open. When merged, the squash commit uses `docs(rfc): title`. ## PR Body Template ```markdown Refs #123 Closes #456 ## Summary [1-3 sentences: what changed and why] ## Changes [Bullet points of meaningful changes — describe behavior, NOT file list] <details> <summary>Implementation details</summary> [Only if complex: architecture decisions, tradeoffs, notable patterns] </details> ## Testing [How to verify: manual steps, test commands, or "covered by existing tests"] ``` ## Issue Linking | Keyword | Effect | | -------- | ----------------------------------- | | `Refs` | Links to related issue (stays open) | | `Closes` | Closes issue when PR merges | | `Fixes` | Closes issue when PR merges | Place issue references at the top of the body, before Summary. ## Description Principles 1. **Progressive disclosure** — summary visible, details collapsed 2. **Why over what** — explain motivation, not mechanics 3. **Human-readable** — no file lists or auto-generated noise 4. **Concise** — reviewers should understand in 30 seconds ## What NOT to Include - File lists (reviewers see the diff) - Auto-generated changelogs - Excessive implementation details (use `<details>` if needed) - Screenshots unless UI change (prefer before/after if included) ## Examples ### Feature PR ```markdown Closes #42 ## Summary Add volume slider component with keyboard support and ARIA labels. ## Changes - Volume slider with drag and click interactions - Keyboard control: arrow keys adjust by 5%, Page Up/Down by 10% - Muted state toggle via slider or M key - ARIA: `slider` role with proper labeling ## Testing 1. `pnpm -F @videojs/html test` 2. Manual: drag slider, use keyboard, verify screen reader announces changes ``` ### Bug Fix PR ```markdown Fixes #89 ## Summary Fix race condition where rapid play/pause could leave player in inconsistent state. ## Changes - Add guard to debounce rapid play/pause calls - Prevent redundant state transitions ## Testing Covered by new test in `media-feature.test.ts`. Manual: rapidly click play/pause. ``` ``` ### references/branch.md ```markdown # Branch Naming Conventions for naming feature and fix branches. ## Format ``` type/short-description ``` - **type**: Same as commit type (`feat`, `fix`, `chore`, etc.) - **short-description**: Kebab-case summary (2-4 words) ## Examples | Branch | Purpose | | --------------------------- | -------------------------------- | | `feat/volume-slider` | New volume slider component | | `feat/media-queries` | Add media query support | | `fix/slider-drag-edge` | Fix edge case in slider dragging | | `fix/state-sync-race` | Fix race condition in state sync | | `refactor/store-cleanup` | Clean up store internals | | `chore/bump-deps` | Dependency updates | | `docs/readme-examples` | Update README examples | | `test/slider-keyboard` | Add keyboard tests for slider | | `rfc/request-api` | RFC for new request API design | | `design/slice-store` | Design doc for slice/store arch | | `plan/store-simplification` | Planning store architecture | ## Guidelines 1. **Keep it short** — branch names appear in many places 2. **Be descriptive** — should hint at the change 3. **Use kebab-case** — lowercase with hyphens 4. **Match commit type** — branch type should match eventual commit type ## Special Branches | Branch | Purpose | | ---------- | ---------------------------------- | | `main` | Primary branch | | `rfc/*` | Request for comments / proposals | | `design/*` | Design docs (decisions you own) | | `plan/*` | Planning and discovery work | ## Issue-Linked Branches When working on a specific issue, you may include the issue number: ``` feat/42-volume-slider fix/89-race-condition ``` This is optional but helps traceability. ```