
Hygiene
- 2k installs
- 188k repo stars
- Updated July 28, 2026
- microsoft/vscode
hygiene is an agent skill that Use when making code changes to ensure they pass VS Code's hygiene checks. Covers the pre-commit hook, unicode restrictions, string quoting rules, copyright headers, inde.
About
The hygiene skill. Use when making code changes to ensure they pass VS Code's hygiene checks. Covers the pre-commit hook, unicode restrictions, string quoting rules, copyright headers, indentation, formatting, ESLint, and stylelint. Run the hygiene check before declaring work complete. Commits will be rejected if hygiene fails. To run the hygiene check on your staged files: This executes , which scans only **staged files** (from ). To check specific files directly (without staging them first): ## What it checks The hygiene linter scans staged files for issues including (but not limited to): - **Unicode characters**: Non-ASCII characters (em-dashes, curly quotes, emoji, etc.) are rejected. Use ASCII equivalents in comments and code. - **Double-quoted strings**: Only use for externalized (localized) strings. - **Copyright headers**: All files must include the Microsoft copyright header. The workflow follows the source SKILL.md contract with progressive reference loading, clear trigger phrases, and practical steps developers can apply directly in agent sessions.
- Double-quoted strings: Only use `"double quotes"` for externalized (localized) strings. Use `'single quotes'` everywhere
- Copyright headers: All files must include the Microsoft copyright header.
- Indentation: Tabs only, no spaces for indentation.
- Formatting: TypeScript files must match the formatter output (run `Format Document` to fix).
- ESLint: TypeScript files are linted with ESLint.
Hygiene by the numbers
- 2,049 all-time installs (skills.sh)
- +106 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #74 of 1,382 Code Review & Quality skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
hygiene capabilities & compatibility
- Capabilities
- double quoted strings: only use `"double quotes" · copyright headers: all files must include the mi · indentation: tabs only, no spaces for indentatio · formatting: typescript files must match the form · eslint: typescript files are linted with eslint.
- Use cases
- documentation · planning · orchestration
What hygiene says it does
Commits will be rejected if hygiene fails.
npx skills add https://github.com/microsoft/vscode --skill hygieneAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2k |
|---|---|
| repo stars | ★ 188k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 28, 2026 |
| Repository | microsoft/vscode ↗ |
How do I apply hygiene correctly using the SKILL.md workflows and reference files?
Use when making code changes to ensure they pass VS Code's hygiene checks. Covers the pre-commit hook, unicode restrictions, string quoting rules, copyright headers, indentation, formatting, ESLint, a
Who is it for?
Developers and software engineers working with hygiene patterns from the skill documentation.
Skip if: Skip when cached docs are empty, boilerplate-only, or outside the skill documented scope.
When should I use this skill?
Use when making code changes to ensure they pass VS Code's hygiene checks. Covers the pre-commit hook, unicode restrictions, string quoting rules, copyright headers, indentation, formatting, ESLint, and stylelint. Run th
What you get
Grounded hygiene guidance with highlights, triggers, and evidence quotes from SKILL.md.
- Hygiene-clean staged files
- Passing pre-commit validation
Files
Hygiene Checks
VS Code runs a hygiene check as a git pre-commit hook. Commits will be rejected if hygiene fails.
Running the hygiene check
Always run the pre-commit hygiene check before declaring work complete. This catches issues that would block a commit.
To run the hygiene check on your staged files:
npm run precommitThis executes node --experimental-strip-types build/hygiene.ts, which scans only staged files (from git diff --cached).
To check specific files directly (without staging them first):
node --experimental-strip-types build/hygiene.ts path/to/file.tsWhat it checks
The hygiene linter scans staged files for issues including (but not limited to):
- Unicode characters: Non-ASCII characters (em-dashes, curly quotes, emoji, etc.) are rejected. Use ASCII equivalents in comments and code. Suppress with
// allow-any-unicode-next-lineor// allow-any-unicode-comment-file. - Double-quoted strings: Only use
"double quotes"for externalized (localized) strings. Use'single quotes'everywhere else. - Copyright headers: All files must include the Microsoft copyright header.
- Indentation: Tabs only, no spaces for indentation.
- Formatting: TypeScript files must match the formatter output (run
Format Documentto fix). - ESLint: TypeScript files are linted with ESLint.
- Stylelint: CSS files are linted with stylelint.
Related skills
How it compares
Use hygiene specifically for microsoft/vscode contributions; use generic lint skills for other repositories with different hook configurations.
FAQ
Who is hygiene for?
Developers and software engineers working with hygiene patterns from the skill documentation.
When should I use hygiene?
Use when making code changes to ensure they pass VS Code's hygiene checks. Covers the pre-commit hook, unicode restrictions, string quoting rules, copyright headers, indentation, formatting, ESLint, and stylelint. Run the hygiene check before declaring work complete.
Is hygiene safe to install?
Review the Security Audits panel on this page before installing in production.