本文へ移動
cccskills
無料GitHub で公開

standards-from-config

Use when you need this project's coding standards (line length, quotes, import order, naming, commit format) — derive them from the REAL tooling config as a pointer + digest, never a guessed claim.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md7.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

standards-from-config

Evidence v2 Class A — configured convention. The safe, on-thesis half of self-building project context: coding standards are not guessed and not observed, they are derived from the real tooling config. The config is the standard; this skill produces a pointer + digest, never a flattened claim. High-trust, auto-refreshable, drift-proof — because the truth lives in the config file, and the card only points at it plus distils the 3–5 points an agent needs most while writing.

Definitions (Class A/B/C, trust tiers, the v1↔v2 isolation contract) live in evidence-discipline; the parent context mechanism is context-document.

When to use

  • Before writing or reformatting code in an unfamiliar project and you need its enforced style (indent, line length, quote style, import order, naming).
  • Before writing a commit message / branch name and you need the project's commit convention.
  • When orienting in a repo and a committed Class-A standards card would save the next agent from re-deriving the same config.

Do NOT use for: a standard that has no config backing (that is a guessed or observed convention — Class B, not A; never invent a Class-A claim); the concrete shape of code (that is v1 source-discovery, read fresh); a project with no tooling config at all (record a negative fact: "no enforced standard found", do not fabricate one).

Procedure

  1. Detect the real config sources (read fresh, never from memory). Common sources, by ecosystem — inspect what actually exists:
    • cross-stack: .editorconfig, CONTRIBUTING.md, commitlint / .gitmessage, the lint/format steps in the CI workflow.
    • JS/TS: eslint.config.js / .eslintrc*, .prettierrc*, biome.json, tsconfig.json (strictness).
    • PHP: pint.json, .php-cs-fixer.dist.php, phpcs.xml.
    • Python: pyproject.toml / ruff.toml ([tool.ruff], [tool.black]), setup.cfg.
    • Ruby: .rubocop.yml. Go: gofmt/golangci.yml.
  2. Follow the chain before you digest, and pick the config NEAREST the edit. Read literally — one file, one parse — this procedure returns a null on a repository whose root config is a single extends. A fourteen-line linter config whose only load-bearing line points into a package in the same workspace is not a project without standards; it is a project whose standards are one hop away, and "no enforced standard found" there is a false negative that reads exactly like a true one. extends is specified in TypeScript, ESLint, Biome and Stylelint; includes plays the same role in PHPStan and Rector; workspace: is documented in npm, yarn, pnpm and bun.
    • Precedence is nearest-first, and it is not a preference. The config in the edited path's own directory governs, then its parent, up to the repository root. A per-package tsconfig.json, .eslintrc, .env or deployment manifest is the one that package's build reads; a root file it does not extend has no effect on it. Reading the root config for an edit inside a package that carries its own is a wrong answer, not a coarse one. Report the outranked root candidate too, so the precedence is visible.
    • An unresolvable hop is a named gap with a PARTIAL digest, never an absence. Say which hop failed and why. A partial digest naming its gap is usable; a null that reads as "no standards" is a lie.
    • A hop that leaves the repository is labelled external and excluded from the digest. Presenting a third-party preset as the project's own standard is worse than reporting nothing — the reader cannot tell which rules the project chose. Report it with its path; do not merge it.
  3. Derive as pointer + digest, never a flattened claim. Each standard is one line: the value, the config file it came from, and the scope it applies to. Write ruff.toml → line-length = 88 (scope: src/**/*.py), NOT "the project uses line length 88". The pointer makes the claim re-checkable and the next agent can open the config to confirm.
  4. Preserve scope; surface conflicts, never flatten them. If two configs (or an inline / per-directory override) give two values, emit two pointers with two values + their scopes — never one ambiguous merged claim. A visible conflict is correct; a hidden flattened guess is the failure mode.
  5. Stamp staleness. Record each source's config_mtime (or content hash). The digest is stale when the config file's mtime/hash changes → re-derive. No human gate is needed (Class A is deterministic) — the digest is regenerated from the config, never hand-edited.
  6. Persist as a Class-A context card under agents/settings/contexts/ (see Output format). Class A is high-trust because config-derived — it is read for heuristics only and never bypasses a fresh structural read (the v1↔v2 isolation contract in evidence-discipline).

Output format

A Class-A standards card MUST contain, in order:

  1. Frontmatter class: A, trust: high (config-derived), and a sources: list of {path, config_mtime} for every config the digest reads.
  2. A pointer+digest table — one row per standard: standard | value | source (file:key) | scope. No standard appears without a source cell pointing at a real config file.
  3. A conflicts block (may be empty) listing any standard where ≥2 sources / scopes disagree, as two-or-more rows, never one merged value.
  4. A refresh line stating the card is regenerated when any listed config_mtime changes, and is read for heuristics only (never a structural bypass).

Gotcha

  • A standard with no config backing is not Class A — do not write it here; it is a guessed/observed convention (Class B) or nothing. Class A never fabricates.
  • Do not flatten conflicting configs into one value — the conflict is the signal; surface both pointers.
  • The card is a regenerated digest, not a hand-edited doc — editing the value by hand instead of the config defeats the drift-proofing.
  • A green pointer is not "the code obeys this" — it means the config declares it; whether a given file complies is a fresh read, not this card's claim.

Do NOT

  • Do NOT emit a coding standard as a believed fact ("we use 4 spaces") — emit a pointer to the config that declares it.
  • Do NOT merge conflicting configs into a single claim.
  • Do NOT hand-edit the digest value instead of the config.
  • Do NOT use a Class-A card to skip a fresh structural read (v1 stays in force).
  • Do NOT commit the card without permission (scope-control).

See also

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月12日 更新

Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月12日 更新

Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月12日 更新

Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月12日 更新

Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月12日 更新

Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月12日 更新

event4u-app のスキルをすべて見る

このスキルの問題を報告する