Lint Format Typecheck
Skill Profile
(Select at least one profile to enable specific modules)
Overview
Linting, formatting, and type checking are automated code quality tools that catch errors, enforce style consistency, and improve code maintainability before code reaches production.
Core Principle: "Automate code quality checks so humans can focus on logic, not syntax."
Why This Matters
Core Concepts & Rules
1. Core Principles
- Follow established patterns and conventions
- Maintain consistency across codebase
- Document decisions and trade-offs
2. Implementation Guidelines
- Start with the simplest viable solution
- Iterate based on feedback and requirements
- Test thoroughly before deployment
Inputs / Outputs / Contracts
- Inputs:
- <e.g., env vars, request payload, file paths, schema>
- Entry Conditions:
- <Pre-requisites: e.g., Repo initialized, DB running, specific branch checked out>
- Outputs:
- <e.g., artifacts (PR diff, docs, tests, dashboard JSON)>
- Artifacts Required (Deliverables):
- <e.g., Code Diff, Unit Tests, Migration Script, API Docs>
- Acceptance Evidence:
- <e.g., Test Report (screenshot/log), Benchmark Result, Security Scan Report>
- Success Criteria:
- <e.g., p95 < 300ms, coverage ≥ 80%>
Skill Composition
- Depends on: None
- Compatible with: None
- Conflicts with: None
- Related Skills: None
Quick Start
Assumptions
- Team agrees on code style standards
- Development environment has required tools
- CI/CD pipeline is available
Compatibility
- Works with most JavaScript/TypeScript frameworks
- Compatible with Python projects
- Can be integrated with any CI/CD system
Test Scenario Matrix
| Scenario |
Expected Behavior |
Notes |
| Save file |
Auto-format on save |
VS Code integration |
| Commit code |
Pre-commit hooks run |
Lint, format, type-check |
| Push to GitHub |
CI checks run |
All checks must pass |
| Type error |
Caught before runtime |
TypeScript/mypy |
Technical Guardrails & Security Threat Model
1. Security & Privacy (Threat Model)
- Top Threats: Injection attacks, authentication bypass, data exposure
2. Performance & Resources
3. Architecture & Scalability
4. Observability & Reliability
Agent Directives & Error Recovery
(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)
- Thinking Process: Analyze root cause before fixing. Do not brute-force.
- Fallback Strategy: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.
- Self-Review: Check against Guardrails & Anti-patterns before finalizing.
- Output Constraints: Output ONLY the modified code block. Do not explain unless asked.
Definition of Done
Anti-patterns / Pitfalls
- ⛔ Don't: Log PII, catch-all exception, N+1 queries
- ⚠️ Watch out for: Common symptoms and quick fixes
- 💡 Instead: Use proper error handling, pagination, and logging
Reference Links
Versioning & Changelog
- Version: 1.0.0
- Changelog:
- 2026-02-22: Initial version with complete template structure
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: lint-format-typecheck3description: Linting, formatting, and type checking are automated code quality tools Use when this capability is needed.4---56# Lint Format Typecheck78## Skill Profile9*(Select at least one profile to enable specific modules)*10- [ ] **DevOps**11- [x] **Backend**12- [ ] **Frontend**13- [ ] **AI-RAG**14- [ ] **Security Critical**1516## Overview17Linting, formatting, and type checking are automated code quality tools that catch errors, enforce style consistency, and improve code maintainability before code reaches production.1819**Core Principle**: "Automate code quality checks so humans can focus on logic, not syntax."2021---2223## Why This Matters24- **<Benefit>**: <short explanation>25- **<Benefit>**: <short explanation>26- **<Benefit>**: <short explanation>2728## Core Concepts & Rules2930### 1. Core Principles31- Follow established patterns and conventions32- Maintain consistency across codebase33- Document decisions and trade-offs3435### 2. Implementation Guidelines36- Start with the simplest viable solution37- Iterate based on feedback and requirements38- Test thoroughly before deployment394041## Inputs / Outputs / Contracts42* **Inputs**:43 - <e.g., env vars, request payload, file paths, schema>44* **Entry Conditions**:45 - <Pre-requisites: e.g., Repo initialized, DB running, specific branch checked out>46* **Outputs**:47 - <e.g., artifacts (PR diff, docs, tests, dashboard JSON)>48* **Artifacts Required (Deliverables)**:49 - <e.g., Code Diff, Unit Tests, Migration Script, API Docs>50* **Acceptance Evidence**:51 - <e.g., Test Report (screenshot/log), Benchmark Result, Security Scan Report>52* **Success Criteria**:53 - <e.g., p95 < 300ms, coverage ≥ 80%>5455## Skill Composition56* **Depends on**: None57* **Compatible with**: None58* **Conflicts with**: None59* **Related Skills**: None6061## Quick Start62#6364## Assumptions65- Team agrees on code style standards66- Development environment has required tools67- CI/CD pipeline is available6869## Compatibility70- Works with most JavaScript/TypeScript frameworks71- Compatible with Python projects72- Can be integrated with any CI/CD system7374---7576## Test Scenario Matrix77| Scenario | Expected Behavior | Notes |78|----------|-------------------|-------|79| Save file | Auto-format on save | VS Code integration |80| Commit code | Pre-commit hooks run | Lint, format, type-check |81| Push to GitHub | CI checks run | All checks must pass |82| Type error | Caught before runtime | TypeScript/mypy |8384---8586## Technical Guardrails & Security Threat Model8788### 1. Security & Privacy (Threat Model)89* **Top Threats**: Injection attacks, authentication bypass, data exposure90- [ ] **Data Handling**: Sanitize all user inputs to prevent Injection attacks. Never log raw PII91- [ ] **Secrets Management**: No hardcoded API keys. Use Env Vars/Secrets Manager92- [ ] **Authorization**: Validate user permissions before state changes9394### 2. Performance & Resources95- [ ] **Execution Efficiency**: Consider time complexity for algorithms96- [ ] **Memory Management**: Use streams/pagination for large data97- [ ] **Resource Cleanup**: Close DB connections/file handlers in finally blocks9899### 3. Architecture & Scalability100- [ ] **Design Pattern**: Follow SOLID principles, use Dependency Injection101- [ ] **Modularity**: Decouple logic from UI/Frameworks102103### 4. Observability & Reliability104- [ ] **Logging Standards**: Structured JSON, include trace IDs `request_id`105- [ ] **Metrics**: Track `error_rate`, `latency`, `queue_depth`106- [ ] **Error Handling**: Standardized error codes, no bare except107- [ ] **Observability Artifacts**:108 - **Log Fields**: timestamp, level, message, request_id109 - **Metrics**: request_count, error_count, response_time110 - **Dashboards/Alerts**: High Error Rate > 5%111112113## Agent Directives & Error Recovery114*(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)*115116- **Thinking Process**: Analyze root cause before fixing. Do not brute-force.117- **Fallback Strategy**: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.118- **Self-Review**: Check against Guardrails & Anti-patterns before finalizing.119- **Output Constraints**: Output ONLY the modified code block. Do not explain unless asked.120121122## Definition of Done123- [ ] Linter configured with team rules124- [ ] Formatter configured with consistent settings125- [ ] Type checker enabled with strict mode126- [ ] Pre-commit hooks set up127- [ ] CI/CD integration configured128- [ ] IDE integration enabled129- [ ] Rules documented for team130- [ ] Progressive adoption plan in place131- [ ] All checks passing132133---134135## Anti-patterns / Pitfalls136137* ⛔ **Don't**: Log PII, catch-all exception, N+1 queries138* ⚠️ **Watch out for**: Common symptoms and quick fixes139* 💡 **Instead**: Use proper error handling, pagination, and logging140141142## Reference Links143- [ESLint Documentation](https://eslint.org/)144- [Prettier Documentation](https://prettier.io/)145- [TypeScript Documentation](https://www.typescriptlang.org/)146- [Pylint Documentation](https://pylint.pycqa.org/)147- [Black Documentation](https://black.readthedocs.io/)148149---150151## Versioning & Changelog152153* **Version**: 1.0.0154* **Changelog**:155 - 2026-02-22: Initial version with complete template structure156157---158> Converted and distributed by [TomeVault](https://tomevault.io/claim/amnadtaowsoam) — claim your Tome and manage your conversions.159<!-- tomevault:4.0:skill_md:2026-04-13 -->