skills/crazydubya/code-style-enforcer/SKILL.md
Analyzes code for style consistency and applies project-specific formatting conventions beyond what linters catch. Use when reviewing code, ensuring style consistency, or when user requests code style improvements.
npx skillsauth add aiskillstore/marketplace code-style-enforcerInstall 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 ensures code follows project-specific style conventions and patterns that automated linters may miss.
Look for style configuration files:
JavaScript/TypeScript:
.eslintrc.* - ESLint configuration.prettierrc.* - Prettier configurationtsconfig.json - TypeScript compiler options.editorconfig - Editor configurationPython:
.pylintrc, pylint.cfg - Pylintpyproject.toml - Black, isort configuration.flake8 - Flake8 configurationsetup.cfg - Various tool configsRuby:
.rubocop.yml - RuboCop configurationGo:
go.fmt enforced (standard).golangci.yml - GolangCI-LintJava:
checkstyle.xml - Checkstyle.editorconfigGeneral:
CONTRIBUTING.md - Contribution guidelinesSTYLE_GUIDE.md - Project style guide.editorconfig - Cross-editor settingsUse Glob to find these files and Read to understand the project's style preferences.
Sample existing code to understand implicit conventions:
File organization:
Code structure:
Formatting:
Naming:
Use Grep to find common patterns across similar files.
Focus on style issues that automated tools often miss:
Naming Consistency:
is, has, should prefixeshandle*, on* patternsget*, set* consistencyCode Organization:
Comments and Documentation:
Import/Export Patterns:
Error Handling:
Type Usage (TypeScript/typed languages):
interface vs type preferenceFlag code smells and anti-patterns:
Magic Numbers:
// Bad
if (status === 200) { }
// Good
const HTTP_OK = 200;
if (status === HTTP_OK) { }
Inconsistent null checks:
// Inconsistent
if (user === null) { }
if (!data) { }
if (typeof result === 'undefined') { }
// Consistent
if (user === null) { }
if (data === null) { }
if (result === undefined) { }
Nested ternaries:
// Hard to read
const value = a ? b ? c : d : e;
// Better
let value;
if (a) {
value = b ? c : d;
} else {
value = e;
}
Long parameter lists:
# Hard to maintain
def create_user(name, email, age, address, phone, ...):
# Better
def create_user(user_data: UserData):
Look for patterns unique to this project:
Read CONTRIBUTING.md, README.md, or similar docs for explicit guidelines.
For each issue, provide:
Current code:
function getData(id) {
const d = fetch('/api/users/' + id);
return d;
}
Issue:
getData vs other functions use fetch*)d)Recommended:
function fetchUser(id) {
const userData = fetch(`/api/users/${id}`);
return userData;
}
Order by impact:
High Priority (Consistency):
Medium Priority (Readability):
Low Priority (Nice-to-have):
Recommend tools to enforce styles:
JavaScript/TypeScript:
npm install --save-dev prettier eslint
npx prettier --write .
npx eslint --fix .
Python:
pip install black isort flake8
black .
isort .
Go:
go fmt ./...
golangci-lint run
Ruby:
gem install rubocop
rubocop -a
Suggest .editorconfig if missing:
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.{js,ts,jsx,tsx}]
indent_style = space
indent_size = 2
[*.py]
indent_style = space
indent_size = 4
[*.go]
indent_style = tab
When reviewing code for style:
.editorconfig or existing files') common").editorconfigreference/style-guides.md: Links to popular style guidesexamples/before-after.md: Code examples showing improvementsdevelopment
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.