gitignore
Generate or extend .gitignore files with project-aware patterns. Use when creating .gitignore, ignoring a new tool/language, or auditing existing rules.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate or extend .gitignore files with project-aware patterns. Use when creating .gitignore, ignoring a new tool/language, or auditing existing rules.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Browser automation CLI wrapping Playwright for one-shot tasks like navigation, page interaction, screenshots, and scraping. Use when driving a live browser from the terminal. Skip for repeat automations that warrant a full Playwright script.
Author and maintain agent context markdown — AGENTS.md, rules, skills, memory files. Use when creating, editing, or refactoring any agent-focused doc, or after major codebase exploration to capture learning.
Author and audit Agent Skills. Use when creating a new skill, refactoring an existing one, or rewriting skill metadata (name, description, allowed-tools).
Build ASCII/Unicode animations such as loading spinners, logo reveals, particle effects, and terminal art. Covers character grids, frame loops, per-character state machines, ordering, and performance. Use when designing any character-based visual animation.
Run tests, builds, migrations, or any command needing real CI secrets/services on Blacksmith. Use when testing or validating code, or before any commit or push that should be verified against CI.
Use when editing files in a Bun project (bun.lock or bun.lockb at the root, a packageManager field set to bun in package.json, or imports from the bun namespace) or running bun/bunx commands. Covers Bun-native APIs, the bun test runner, bun build --compile, and the Bun-optimized tsconfig.
| name | gitignore |
| description | Generate or extend .gitignore files with project-aware patterns. Use when creating .gitignore, ignoring a new tool/language, or auditing existing rules. |
The GitHub CLI (gh) has a gh repo gitignore command that can be used to fetch templates from GitHub's collection. gh repo gitignore list will output the list of templates in GitHub's collection to stdout. When you have the name of the one you want, use gh repo gitignore view [TEMPLATE] to have the content output to stdout, which you can redirect to a .gitignore file or wherever you need it. This is the easiest way to spike out the boilerplate for a given project type.
The rest of the Skill covers manually adding entries in gitignore syntax for the specific project you're working in.
/path vs path/ vs path| Pattern | Meaning |
|---|---|
path/ | Matches a directory named path (and its contents) |
path | Matches both files AND directories named path |
/path | Matches path relative to the .gitignore file's location (anchored path) |
Examples:
build/ ignores the build directory and all its contentsbuild ignores any file or directory named build anywhere in the tree/build ignores only the build directory in the same folder as the .gitignoreGit uses fnmatch-style patterns:
| Pattern | Matches |
|---|---|
* | Any sequence of characters (except /) |
** | Any sequence of directories (including zero) |
? | Any single character |
[abc] | Any one character in the set |
[a-z] | Any one character in the range |
Examples:
*.log ignores all .log files**/node_modules ignores node_modules at any depthsrc/*.js ignores .js files directly in src/file?.txt matches file1.txt, file2.txt, etc.a/**/b matches a/b, a/x/b, a/x/y/b/**/b matches b anywhere in the tree| Pattern | Purpose |
|---|---|
!pattern | Negates — re-includes previously ignored files |
# | Comment line |
\ | Escape character for literal patterns |
Example:
# Ignore all .log files
*.log
# But not this specific one
!important.log