Borrowing it
Nothing to install: this file belongs to nerds-odd-e/doughnut. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/nerds-odd-e/doughnut/main/.agents/skills/linting_formating/SKILL.mdgit clone --depth 1 https://github.com/nerds-odd-e/doughnutWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nerds-odd-e/doughnut/linting_formating)<a href="https://agentmods.dev/skills/nerds-odd-e/doughnut/linting_formating"><img src="https://agentmods.dev/badge/skills/nerds-odd-e/doughnut/linting_formating/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nerds-odd-e/doughnut/linting_formating"><img src="https://agentmods.dev/badge/skills/nerds-odd-e/doughnut/linting_formating.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00070 | $0.02856 |
| Opus 5.5 | $0.00028 | $0.01142 |
| Sonnet 5.5 | $0.00014 | $0.00571 |
| Haiku 4.5 | $0.00007 | $0.00286 |
Grade A, and why
linting_formating scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 203 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Linting and Formatting in Donut Project
When to Use This Rule
Use this rule when:
- Fixing linting or formatting errors
- Running code quality checks
- Validating OpenAPI specifications
- Formatting code before committing
- Troubleshooting linting failures
- Working with Biome, Redocly, or backend linting
Overview
This project uses multiple linting tools to ensure code quality:
- Biome: Frontend, CLI,
packages/donut-test-fixtures, Cypress, and other root-level TypeScript/JavaScript code - Redocly CLI: OpenAPI specification validation
- Backend linting: Java code quality checks (via Gradle)
Linting Philosophy
IMPORTANT: Linting is primarily for CI/CD validation. During development, format changed components explicitly before staging; the pre-commit hook only validates staged components and never formats or stages files.
Running Linting
Run commands from the repo root through Nix.
Lint All Code
CURSOR_DEV=true nix develop -c pnpm lint:all
This runs:
- Backend Java linting (
pnpm backend:lint) - Frontend TypeScript/Vue linting (
pnpm frontend:lint) - CLI TypeScript linting (
pnpm cli:lint) - Shared API test fixtures (
packages/donut-test-fixtures) via Biome (pnpm test-fixtures:lint) - Cypress E2E test linting (
pnpm cy:lint) - OpenAPI specification linting (
pnpm openapi:lint)
Individual Linting Commands
pnpm backend:lint- Java code lintingpnpm frontend:lint- Frontend TypeScript/Vue lintingpnpm cli:lint- CLI TypeScript lintingpnpm test-fixtures:lint- Biome onpackages/donut-test-fixturesonlypnpm cy:lint- Cypress E2E test lintingpnpm openapi:lint- OpenAPI spec validation
Format vs Lint
- Use
./scripts/run.sh pnpm format:changedbefore staging — it selects affected components from staged, unstaged, and nonignored untracked paths, then applies their formatter commands. During slice wrap-up, the coordinator runs it once after refactor/API generation and before the PLAN update; it does not pre-filter paths or spawn a formatting agent. Repeat only after an intervening repair invalidates that preparation. The format-changed skill remains available for explicit on-demand use. - Use
CURSOR_DEV=true nix develop -c pnpm format:allonly when intentionally formatting the entire repository. - The pre-commit hook runs
pnpm lint:changedagainst affected staged components. It is check-only: it does not format files or mutate the Git index. Implementers and refactorers do not runformat:changedor standalonelint:changed; the coordinator owns formatting and the hook owns the independent lint check. When a selected component needs workspace tools, the hook first validates one installation throughsetup_pnpm_deps(scripts/dev_setup.sh) with a frozen lockfile and the checks reuse it; a manifest change missing frompnpm-lock.yamlfails withERR_PNPM_OUTDATED_LOCKFILE(runpnpm installand stage the lockfile). The frontend check reads the committed (index) content from a temporary copy, so unrelated unstaged or untracked work does not affect it. The copy reuses the checkout'snode_modules, so workspace packages linked there (such asdonut-test-fixtures) are still read from the working tree; itsvue-tscrun makes a frontend commit take roughly 8 s, other components about 1–2 s. Other components still check the working tree. To measure the hook, runbash scripts/profiling/profile-commit-hook.sh baseline <evidence-dir>outside Nix: it times the fixed 40-change corpus in a disposable worktree at the committedHEAD. - Use
CURSOR_DEV=true nix develop -c pnpm lint:allfor CI/CD validation only — it checks without fixing (plus a few script unit tests that format does not run).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed 77732e1c1572
- 6d ago Changed · +1 lines 8a9cbe7794ad
- 22d ago Changed · +8 lines a2aae82749ab
- 1mo ago Changed · +5 lines 09a5b309d624
- 1mo ago First seen · 189 lines · 70 tokens per session scan A 2609c051e674
linting_formating is a skill published in the GitHub repository nerds-odd-e/doughnut (50 stars, last pushed today), licensed MIT. It adds 70 tokens to every session and 2,856 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-17.
Other skills, from other repositories
systematic-debugging
Use when debugging a failing test, build error, or runtime issue that isn't immediately obvious. Guides a 4-phase root cause analysis instead of random fix attempts.
log-error-digest
Analyze log files to troubleshoot errors, identify peak error periods, and produce error clustering, frequency statistics, and time distribution reports. Supports JSON, syslog, and Nginx formats with automatic detection. Use when a user uploads a .log file and asks to analyze errors, find patterns, debug issues, or…
cwv-optimizer
Diagnose and fix Core Web Vitals issues on AEM Edge Delivery Services pages. Goes deeper than generic CWV advice by understanding EDS-specific performance patterns including the 100KB LCP budget, E-L-D loading phases, block rendering behavior, and third-party script impact. Produces specific fixes for LCP, CLS, and…
incident-response-incident-response
Coordinate production incident triage, mitigation, investigation, recovery, and follow-up. Use when responding to outages or other incidents that require structured operational coordination.
ci-fixer
CI failures - read error, minimal fix, verify.
diagnosing-missing-recordings
Diagnoses why a session recording is missing or was not captured. Use when a user asks why a session has no replay, why recordings aren't appearing, or wants to troubleshoot session replay capture issues for a specific session ID or across their project. Covers SDK diagnostic signals, project settings, sampling…