code-quality

A setup skill for JavaScript and TypeScript projects that configures ESLint, Prettier, Husky, and lint-staged. ESLint checks code for common problems, Prettier formats it, and the other tools check changed files before commits.

In plain words
What is it for?
Use it to add or configure linting, formatting, and pre-commit checks in a Node.js project with a package.json file.
Why use it?
It removes the manual work of choosing compatible code-quality settings and connecting them to the project’s existing tools. It also checks for existing configuration before changing it.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/fideguch/my_pm_tools/code-quality
Any agent
npx skills add fideguch/my_pm_tools --skill code-quality
Clone the repo
git clone --depth 1 https://github.com/fideguch/my_pm_tools

Made for: Claude Code, Codex.

Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,880 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01880
Opus 5 $0.00000 $0.00940
Sonnet 5 $0.00000 $0.00376
Haiku 4.5 $0.00000 $0.00188

Measured yesterday against content hash c0e5603625a4, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

code-quality scanned grade A with 0 findings 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/code-quality/SKILL.md · 286 lines

How it starts

The opening of the file, as written. The whole thing — 286 lines — stays where its author put it; the contents beside it link to each section on GitHub.

コード品質ツールチェーン導入スキル

メタデータ

  • トリガー: 「コード品質を設定したい」「ESLint導入」「Prettier設定」「lint-staged」「Husky設定」「コード品質ツールチェーン」
  • 前提条件: Node.js プロジェクト(package.json が存在)

概要

ESLint + Prettier + Husky + lint-staged の統合セットアップを自動化するスキル。 プロジェクトの技術スタックを自動検出し、最適な設定を生成する。


Phase 1: プロジェクト検出

1.1 技術スタック判定

# package.json の存在確認
cat package.json

# TypeScript 判定
[ -f tsconfig.json ] && echo "TypeScript" || echo "JavaScript"

# フレームワーク判定
node -e "
const pkg = require('./package.json');
const deps = {...(pkg.dependencies||{}), ...(pkg.devDependencies||{})};
if (deps.next) console.log('Next.js');
else if (deps.react) console.log('React');
else if (deps.vue) console.log('Vue');
else if (deps.express) console.log('Express');
else console.log('Node.js');
"

1.2 既存ツール確認

# 既存の lint/format 設定を確認
ls -la .eslintrc* eslint.config.* .prettierrc* .prettierignore biome.json 2>/dev/null
ls -la .husky/ 2>/dev/null

既存設定がある場合はユーザーに確認: 「既存の設定を上書きしますか?それともマージしますか?」


Phase 2: パッケージインストール

2.1 ESLint + Prettier(標準構成)

# TypeScript プロジェクトの場合
npm install --save-dev \
  eslint \
  @eslint/js \
  typescript-eslint \
  prettier \
  eslint-config-prettier \
  eslint-plugin-prettier \
  globals

# JavaScript プロジェクトの場合
npm install --save-dev \
  eslint \
  @eslint/js \
  prettier \
  eslint-config-prettier \
  eslint-plugin-prettier \
  globals

2.2 フレームワーク固有プラグイン

# React / Next.js の場合
npm install --save-dev eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y

# Vue の場合
npm install --save-dev eslint-plugin-vue

2.3 Husky + lint-staged

npm install --save-dev husky lint-staged
npx husky init

Phase 3: 設定ファイル生成

3.1 ESLint 設定(Flat Config — eslint.config.mjs)

TypeScript プロジェクト:

import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import prettierConfig from 'eslint-config-prettier';
import globals from 'globals';

export default tseslint.config(
  eslint.configs.recommended,
  ...tseslint.configs.recommended,
  prettierConfig,
  {
    languageOptions: {
      globals: {
        ...globals.node,
        ...globals.browser,
      },
    },
    rules: {
      '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
      '@typescript-eslint/no-explicit-any': 'warn',
      'no-console': 'warn',
    },
  },
  {
    ignores: ['dist/', 'build/', 'node_modules/', 'coverage/', '*.config.js', '*.config.mjs'],
  }
);

Read the full file on GitHub · 286 lines

Changes

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.

  1. yesterday First seen · 286 lines · 0 tokens per session scan A c0e5603625a4

Subscribe to this mod's changes

code-quality is a skill published in the GitHub repository fideguch/my_pm_tools (1 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,880 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

hooks-eval

Evaluate hook security, performance, and SDK compliance. Use for audits.

athola/claude-night-market · 18 tokens

learn-content

Ingest URLs, articles, or text from any source into structured knowledge cards. Stores source URL + metadata + briefing (NOT full text). On-demand retrieval from source. TRIGGER: "learn this", "save this article", "read and remember", "ingest this". NOT FOR: deep-research, summarize, persist use cases.

xg-gh-25/SwarmAI · 74 tokens

evaluate

Evaluate requirements, feature requests, and task intake against project DDD context. Produces a GO/DEFER/REJECT/ESCALATE recommendation with ROI scoring, scope definition, and acceptance criteria. TRIGGER: "evaluate this request", "should we build this", "assess this requirement", "triage this". NOT FOR…

xg-gh-25/SwarmAI · 79 tokens

persist

Persist knowledge to the correct destination — routes to DDD docs (PRODUCT/TECH/IMPROVEMENT/PROJECT), MEMORY.md, Knowledge/Library/ (searchable store), or EVOLUTION.md based on content type. Unified routing for both manual saves and auto hooks. TRIGGER: "remember", "save", "persist", "沉淀", "record this", "save to…

xg-gh-25/SwarmAI · 112 tokens

radar-todo

Manage SwarmAI ToDos — add, list, edit, complete, and delete items that appear in the left-nav ToDo card/overlay. Each todo is a self-contained work packet: when dragged into a chat tab, the agent has all context to start executing immediately. Also proactively creates todos from detected action items and blockers.…

xg-gh-25/SwarmAI · 106 tokens

deep-research

Thorough multi-source research with citations, analysis, and synthesis. TRIGGER: "research", "deep dive", "investigate", "find out about". NOT FOR: github-research, consulting-report use cases.

xg-gh-25/SwarmAI · 50 tokens