mcpbeat

Firebase Cpp Formatter

firebase/firebase-cpp-formatter

Formatting workflow for C++ and Objective-C code in the Firebase C++ SDK. Use when modifying source code and ensuring compliance with the repository's clang-format rules.

524 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
323
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-cpp-sdk --skill firebase-cpp-formatter

The instruction itself

7 sections, as written by the author

Code Formatting for Firebase C++ SDK

This skill provides instructions on how to properly format C++ and Objective-C

code before creating a pull request or committing changes in the

firebase-cpp-sdk repository. The primary tool is scripts/format_code.py.

Prerequisites

Before running the formatting script, ensure that your Python environment is set up with all required dependencies:

  • Python Dependencies: Run pip install -r scripts/gha/python_requirements.txt to install the required libraries (such as attrs, absl-py, etc.).

Workflows

1. Formatting Specific Changed Files (Git Diff)

If you have made code changes locally in a git branch, the easiest way to ensure

all your changes are formatted properly is to use the -git_diff argument. This

automatically detects which files have changed compared to main and formats

them.

python3 scripts/format_code.py -git_diff

_Tip:_ You can also append -verbose for extensive logging about formatting

changes.

2. Formatting a Specific Directory

If you are working on a feature within a particular Firebase SDK (e.g.,

database), you can recursively format that entire directory:

python3 scripts/format_code.py -d database -r

To target multiple directories (e.g., both database and app):

python3 scripts/format_code.py -d database -d app -r

3. Formatting Specific Files

If you are pressed for time and only want to format specific files rather than

analyzing whole directories, use the -f flag:

python3 scripts/format_code.py -f path/to/file1.cc -f path/to/file2.h

4. Dry Run (Check without Formatting)

If you only want to detect the number of files that _need_ formatting without

actually modifying them, append the --noformat_file flag:

python3 scripts/format_code.py -git_diff --noformat_file

How to use it

Copy the folder

Take firebase/firebase-cpp-formatter 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.

Install what it needs

The instructions reference pip. Without those the skill loads but fails at the first command.