skills_all/lint/SKILL.md
Run targeted linting, formatting, and code quality checks on modified files. Use this to validate code style, type safety, security, and other quality metrics before committing. Supports running all checks or targeting specific checks on specific files for efficient validation.
npx skillsauth add activer007/ordinary-claude-skills lintInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill helps you efficiently validate and format code using the project's comprehensive linting infrastructure.
Use this skill when you:
hatch run lint:fmt -- <file> immediately after code changeshatch run lint:checks before pushing-- <file> syntax to validate only what you changed, not the entire codebasefmt instead of manually fixing style issueshatch run lint:typing -- <file> after adding type annotationsRun all checks (broad validation):
hatch run lint:checks
Format and validate a specific file:
hatch run lint:fmt -- path/to/file.py
Check types on a specific file:
hatch run lint:typing -- path/to/file.py
fmt - Format code (recommended for most edits)Formats and validates code style using Ruff.
Usage:
# Format entire codebase
hatch run lint:fmt
# Format specific files
hatch run lint:fmt -- ddtrace/tracer.py tests/test_tracer.py
# Format specific directory
hatch run lint:fmt -- ddtrace/contrib/flask/
What it does:
When to use: After making code changes to automatically format and fix style issues.
fmt-snapshots - Format snapshot filesFormats snapshot test files used in snapshot-based testing.
Usage:
hatch run lint:fmt-snapshots -- tests/snapshots/
When to use: After snapshot test updates or when snapshot files need reformatting.
style - Check all style issues (no auto-fix)Validates code style without automatically fixing issues.
Usage:
# Check entire codebase
hatch run lint:style
# Check specific files
hatch run lint:style -- ddtrace/
What it validates:
When to use: To verify style compliance before committing without auto-fixes.
format_check - Check formattingValidates Python code formatting with ruff format (no auto-fix).
Usage:
hatch run lint:format_check -- ddtrace/tracer.py
When to use: Quick check of Python formatting before committing.
typing - Type check with mypyValidates Python type hints and catches type-related errors.
Usage:
# Check all types
hatch run lint:typing
# Check specific files (mypy path format)
hatch run lint:typing -- ddtrace/tracer.py
When to use: After adding type hints or modifying functions with type annotations.
security - Security audit with BanditScans code for common security issues and vulnerabilities.
Usage:
# Scan entire codebase
hatch run lint:security
# Scan specific directory
hatch run lint:security -- -r ddtrace/contrib/
When to use: Before committing code that handles user input, credentials, or sensitive operations.
spelling - Check spellingValidates spelling in documentation, comments, and docstrings.
Usage:
# Check all spelling
hatch run lint:spelling
# Check specific files
hatch run lint:spelling -- docs/ releasenotes/
When to use: Before committing documentation or user-facing text.
riot - Validate riotfileDoctests the riotfile to ensure test venv definitions are valid.
Usage:
hatch run lint:riot
When to use: After modifying riotfile.py to validate syntax and doctest examples.
suitespec-check - Validate test suite specificationsChecks that test suite patterns in tests/suitespec.yml cover all test files.
Usage:
hatch run lint:suitespec-check
When to use: After adding new test files or modifying suite specifications.
error-log-check - Validate error log messagesEnsures error log messages follow project conventions.
Usage:
hatch run lint:error-log-check
When to use: After adding new error logging statements.
sg - Static analysis with ast-grepPerforms static code analysis using ast-grep patterns.
Usage:
# Scan all files
hatch run lint:sg
# Scan specific directory
hatch run lint:sg -- ddtrace/
When to use: To find code patterns that may need refactoring or optimization.
sg-test - Test ast-grep rulesValidates ast-grep rule definitions.
Usage:
hatch run lint:sg-test
When to use: After modifying ast-grep rules or patterns.
cformat_check - Check C code formattingValidates C code formatting.
Usage:
hatch run lint:cformat_check
When to use: After modifying C extension code.
cmakeformat_check - Check CMake formattingValidates CMake file formatting.
Usage:
hatch run lint:cmakeformat_check
When to use: After modifying CMakeLists.txt or other CMake files.
After editing a Python file, format and validate it:
# Edit the file...
# Then run:
hatch run lint:fmt -- path/to/edited/file.py
After adding type hints:
hatch run lint:typing -- ddtrace/contrib/flask/patch.py
Run all checks before creating a commit:
hatch run lint:checks
This runs:
Before committing code handling sensitive operations:
hatch run lint:security -- -r ddtrace/contrib/
After writing documentation or docstrings:
hatch run lint:spelling -- docs/ ddtrace/
hatch run lint:fmt -- <file> to auto-fix style issueslint:checks before pushing: Ensures all quality gates pass-- <file> syntax to validate only what you changedlint:typing after adding type annotationsfmt insteadAll lint commands support passing arguments with -- syntax:
# Basic format
hatch run lint:<script> -- <args>
# Examples:
hatch run lint:fmt -- ddtrace/tracer.py # Format specific file
hatch run lint:typing -- ddtrace/ # Type check directory
hatch run lint:security -- -r ddtrace/contrib/ # Security scan with args
hatch run lint:spelling -- docs/ releasenotes/ # Spelling check specific paths
Ensure you've run hatch run lint:fmt to auto-fix style issues first:
hatch run lint:fmt -- <file>
hatch run lint:style -- <file> # Should now pass
Make sure type hints are correct and all imports are available:
hatch run lint:typing -- <file>
Ensure you're running from the project root:
cd /path/to/dd-trace-py
hatch run lint:checks
Use fmt to auto-fix most issues:
hatch run lint:fmt -- .
tools
Generate typed TypeScript SDKs for AI agents to interact with MCP servers. Converts verbose JSON-RPC curl commands to clean function calls (docs.createDocument() vs curl). Auto-detects MCP tools from server modules, generates TypeScript types and client methods, creates runnable example scripts. Use when: building MCP-enabled applications, need typed programmatic access to MCP tools, want Claude Code to manage apps via scripts, eliminating manual JSON-RPC curl commands, validating MCP inputs/outputs, or creating reusable agent automation.
testing
Generate structured task lists from specs or requirements. IMPORTANT: After completing ANY spec via ExitSpecMode, ALWAYS ask the user: "Would you like me to generate a task list for this spec?" Use when user confirms or explicitly requests task generation from a plan/spec/PRD.
tools
Create compelling story-format summaries using UltraThink to find the best narrative framing. Support multiple formats - 3-part narrative, n-length with inline links, abridged 5-line, or comprehensive via Foundry MCP. USE WHEN user says 'create story explanation', 'narrative summary', 'explain as a story', or wants content in Daniel's conversational first-person voice.
testing
Navigate through the original three-world shamanic technology. Deploy when soul retrieval, power animal guidance, or journey between realms emerges. Deeply respectful of Tungus, Buryat, Yakut, Evenki traditions. Use for consciousness navigation, NOT cultural appropriation.