mcpbeat

Style And Commit

firebase/style-and-commit

Ensure code is styled and commits follow Conventional Commits.

3k tokens
context cost
the whole folder, loaded on every use
3
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
6649
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/firebase/firebase-ios-sdk --skill style-and-commit

What comes with it

8 744 bytes besides the instruction
scripts/format_markdown.sh
scripts/pre_commit.sh

The instruction itself

4 sections, as written by the author

Style & Commit Skill

When you are asked to commit changes, you MUST use the [Conventional

Commits](https://www.conventionalcommits.org/) specification.

Format

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Pre-commit Workflow

Before staging and committing files, you MUST ensure that all repository

formatting and styling guidelines are met by running the unified pre-commit

script:

  • Locate and run the pre_commit.sh script. Depending on where this skill is

installed, it will be at one of these paths:

  • ./.agents/skills/style_and_commit/scripts/pre_commit.sh (Local Repo)
  • ~/.gemini/config/skills/style_and_commit/scripts/pre_commit.sh (Global)

Execute the path that exists. This script automatically:

  • Formats code (Swift, Obj-C, etc.)
  • Checks and adds copyright headers
  • Wraps markdown text at 80 characters and removes trailing whitespace
  • Runs shellcheck on any modified shell scripts
  • If the script fails (e.g., shellcheck reports an error), you MUST read the

error, fix the issues, and re-run the script until it succeeds.

  • Once the script passes, stage the intended changes (git add ...) and

commit using git commit -m "...".

Rules

  • Types: Use one of the following types:
  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space,

formatting, missing semi-colons, etc)

  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies

(example scopes: gulp, broccoli, npm)

  • ci: Changes to our CI configuration files and scripts (example scopes:

Travis, Circle, BrowserStack, GitHub Actions)

  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • Scope: A scope may be provided to a commit's type, to provide additional

contextual information and is contained within parenthesis, e.g.,

feat(parser): add ability to parse arrays.

  • Description:
  • Use the imperative, present tense: "change" not "changed" nor "changes".
  • Don't capitalize the first letter.
  • No dot (.) at the end.
  • Body:
  • Just as in the description, use the imperative, present tense.
  • The body should include the motivation for the change and contrast this

with previous behavior.

  • Separate logical changes: If the user's working directory has multiple

unrelated changes (e.g. CI changes and Dependency updates), you should

create separate commits for each logical change unless the user explicitly

asks for a single commit.

  • CI Fixes: When making fixes to CI configuration files or workflows (e.g.

GitHub Actions), use fix as the commit type and ci as the scope (e.g.

fix(ci): <description>), rather than using ci as the type.

How to use it

Copy the folder

Take firebase/style-and-commit from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.