Analyze Report: Check the "FINAL AUDIT REPORT" section.
Fix & Repeat: Submitting code with "FINAL AUDIT" failures is NOT allowed.
Error Handling
If lint fails: Fix the style or syntax issues immediately.
If tsc fails: Correct type mismatches before proceeding.
If no tool is configured: Check the project root for .eslintrc, tsconfig.json, pyproject.toml and suggest creating one.
Strict Rule: No code should be committed or reported as "done" without passing these checks.
Scripts
Script
Purpose
Command
scripts/lint_runner.py
Unified lint check
python scripts/lint_runner.py <project_path>
scripts/type_coverage.py
Type coverage analysis
python scripts/type_coverage.py <project_path>
AGI Framework Integration
Qdrant Memory Integration
Before executing complex tasks with this skill:
python3 execution/memory_manager.py auto --query "<task summary>"
Decision Tree:
Cache hit? Use cached response directly — no need to re-process.
Memory match? Inject context_chunks into your reasoning.
No match? Proceed normally, then store results:
python3 execution/memory_manager.py store \
--content "Description of what was decided/solved" \
--type decision \
--tags lint-and-validate <relevant-tags>
Note: Storing automatically updates both Vector (Qdrant) and Keyword (BM25) indices.
Agent Team Collaboration
Strategy: This skill communicates via the shared memory system.
Orchestration: Invoked by orchestrator via intelligent routing.
Context Sharing: Always read previous agent outputs from memory before starting.
Local LLM Support
When available, use local Ollama models for embedding and lightweight inference:
Embeddings: nomic-embed-text via Qdrant memory system
Lightweight analysis: Local models reduce API costs for repetitive patterns
1---2name: lint-and-validate3description: Lint and Validate Skill4---56# Lint and Validate Skill78> **MANDATORY:** Run appropriate validation tools after EVERY code change. Do not finish a task until the code is error-free.910### Procedures by Ecosystem1112#### Node.js / TypeScript131. **Lint/Fix:** `npm run lint` or `npx eslint "path" --fix`142. **Types:** `npx tsc --noEmit`153. **Security:** `npm audit --audit-level=high`1617#### Python181. **Linter (Ruff):** `ruff check "path" --fix` (Fast & Modern)192. **Security (Bandit):** `bandit -r "path" -ll`203. **Types (MyPy):** `mypy "path"`2122## The Quality Loop231. **Write/Edit Code**242. **Run Audit:** `npm run lint && npx tsc --noEmit`253. **Analyze Report:** Check the "FINAL AUDIT REPORT" section.264. **Fix & Repeat:** Submitting code with "FINAL AUDIT" failures is NOT allowed.2728## Error Handling29- If `lint` fails: Fix the style or syntax issues immediately.30- If `tsc` fails: Correct type mismatches before proceeding.31- If no tool is configured: Check the project root for `.eslintrc`, `tsconfig.json`, `pyproject.toml` and suggest creating one.3233---34**Strict Rule:** No code should be committed or reported as "done" without passing these checks.3536---3738## Scripts3940| Script | Purpose | Command |41|--------|---------|---------|42| `scripts/lint_runner.py` | Unified lint check | `python scripts/lint_runner.py <project_path>` |43| `scripts/type_coverage.py` | Type coverage analysis | `python scripts/type_coverage.py <project_path>` |4445## AGI Framework Integration4647### Qdrant Memory Integration4849Before executing complex tasks with this skill:50```bash51python3 execution/memory_manager.py auto --query "<task summary>"52```5354**Decision Tree:**55- **Cache hit?** Use cached response directly — no need to re-process.56- **Memory match?** Inject `context_chunks` into your reasoning.57- **No match?** Proceed normally, then store results:5859```bash60python3 execution/memory_manager.py store \61 --content "Description of what was decided/solved" \62 --type decision \63 --tags lint-and-validate <relevant-tags>64```6566> **Note:** Storing automatically updates both Vector (Qdrant) and Keyword (BM25) indices.6768### Agent Team Collaboration6970- **Strategy**: This skill communicates via the shared memory system.71- **Orchestration**: Invoked by `orchestrator` via intelligent routing.72- **Context Sharing**: Always read previous agent outputs from memory before starting.7374### Local LLM Support7576When available, use local Ollama models for embedding and lightweight inference:77- Embeddings: `nomic-embed-text` via Qdrant memory system78- Lightweight analysis: Local models reduce API costs for repetitive patterns
Run npx skillmds@latest add techwavedev/lint-and-validate in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Lint and Validate Skill It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
techwavedev (@techwavedev) published this skill. Their other Agent Skills are listed on their SkillMD profile.