Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add oyi77/1ai-skills --skill linter-agentgit clone --depth 1 https://github.com/oyi77/1ai-skillsWrote 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/oyi77/1ai-skills/linter-agent)<a href="https://agentmods.dev/skills/oyi77/1ai-skills/linter-agent"><img src="https://agentmods.dev/badge/skills/oyi77/1ai-skills/linter-agent/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/oyi77/1ai-skills/linter-agent"><img src="https://agentmods.dev/badge/skills/oyi77/1ai-skills/linter-agent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00021 | $0.01190 |
| Opus 5 | $0.00010 | $0.00595 |
| Sonnet 5 | $0.00004 | $0.00238 |
| Haiku 4.5 | $0.00002 | $0.00119 |
Grade A, and why
linter-agent scanned grade A with 1 finding 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 yesterday.
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.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
result = subprocess.run(cmd, capture_output=True, text=True) How it starts
The opening of the file, as written. The whole thing — 138 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Overview
This agent detects and fixes code style violations and enforces the project's lint rules across the tree. Use it after any batch of edits to keep the diff convention-clean. It reports what changed and why, so the style pass stays auditable.
Linter Agent
Quick Reference — see parent for full agent ecosystem.
The Linter Agent enforces code style, convention rules, and formatting standards across the codebase at scale. It goes beyond running a tool — it interprets project-specific conventions that static linters cannot express, fixes violations in bulk, migrates rules when upgrading linters, and surfaces only the warnings that matter. Its job is to make the codebase look like one person wrote it, even when fifty people contributed.
When Not to Use
- Simple or one-off tasks — if the task is straightforward, direct execution is faster than structured methodology.
- Already established workflows — follow existing team conventions rather than introducing new frameworks.
- When automation overhead exceeds benefit — for very small scopes, the setup cost may not be justified.
Dependencies
- Python 3.8+ or Node.js 18+
- Access to relevant APIs/services for your specific use case
- Basic understanding of the domain concepts
Commands
# Refer to the skill's usage section for specific commands
# Adapt these to your workflow
Key Responsibilities
- Apply project conventions: Enforce naming, import ordering, error-handling patterns, and file structure rules that go beyond automated linter config
- Bulk fix and migrate: Run across entire directories with auto-fix, handle rule migrations (e.g., eslint flat config), and clean up after dependency updates
- Surface actionable results: Suppress noise from rules the team has consciously decided to ignore; report only violations that need human attention
Code Example
"""Minimal linter agent pattern — scan and fix."""
import json, subprocess, sys
from pathlib import Path
def lint(paths: list[str], config: str | None = None, auto_fix: bool = True) -> dict:
results = {"files_scanned": 0, "errors": 0, "warnings": 0, "auto_fixed": 0}
for p in paths:
target = Path(p)
if not target.exists():
continue
# Run the linter (simplified — real agent integrates tool output)
cmd = ["ruff", "check", str(target)]
if auto_fix:
cmd.append("--fix")
if config:
cmd.extend(["--config", config])
result = subprocess.run(cmd, capture_output=True, text=True)
# Parse output (simplified — real agent parses JSON/SARIF)
results["files_scanned"] += 1
if result.returncode != 0:
results["errors"] += 1
# Apply project-specific conventions the linter cannot enforce
for p in paths:
for file in Path(p).rglob("*.py"):
content = file.read_text()
# Detect and fix common patterns (example: ensure newline at EOF)
if content and not content.endswith("\n"):
file.write_text(content + "\n")
results["auto_fixed"] += 1
return results
if __name__ == "__main__":
result = lint(sys.argv[1:])
print(json.dumps(result, indent=2))
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.
- yesterday Changed · +11 lines 657e243c2c1d
- 11d ago First seen · 127 lines · 21 tokens per session scan A 129d6168bee2
linter-agent is a skill published in the GitHub repository oyi77/1ai-skills (12 stars, last pushed today), licensed MIT. It adds 21 tokens to every session and 1,190 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
error-handling
Implement Go error handling patterns including error wrapping, sentinel errors, custom error types, and error handling conventions. Use when handling errors, creating error types, or implementing error propagation. Trigger words include "error", "panic", "recover", "error handling", "error wrapping".
complexity-analyzer
Analyzes cyclomatic and cognitive complexity, identifies overly complex functions. Use when assessing code complexity or identifying functions that need simplification.
blindness-deafness
In D&D, Blindness/Deafness selectively removes one sense — the target can still act but loses critical awareness. The real-world version is selective channel muting: blocking a process from seeing certain inputs (input filtering, API response redaction), deafening it to specific signals (suppressing webhooks, ignoring…
power-word-kill
In D&D, Power Word Kill instantly destroys any creature below a hit-point threshold — no saving throw, no resistance, just death. The real-world version is kill -9: the unconditional termination signal. Emergency circuit breakers. Hard account terminations. The nuclear option that exists because sometimes graceful…
longstrider
Longstrider is the optimization spell for systems that already work. It makes the path shorter without changing the destination. It cares about sustained pace, not flashy one-off benchmarks.
mage-hand
Use this skill for small, careful remote manipulations where dexterity matters more than force.