G

grounding-before-coding

by @riekeltv
4.6(120)

このスキルは、最初のコードを書く前に実際のコードベースとデータを系統的にマッピングし、file:line やコマンド出力を証拠として引用します。推測に基づく開発を排除し、エンジニアに実際の動作確認、全呼び出しパスの追跡、譲れない不変条件の特定を強制するため、重要度の高い変更、バグ調査、不慣れなコードの探索に最適です。この規律により、手戻りの削減、欠陥の早期発見、隠れた規約の破壊防止が実現し、開発時間と本番障害リスクを大幅に削減します。

groundingcode-readingdebuggingengineering-practicesGitHub
インストール方法
npx skills add https://github.com/riekelt/principal-engineer --skill grounding-before-coding
compare_arrows

Before / After 効果比較

2 组
使用前

このスキルがない開発者は、本番バグに対して関数名や過去の経験から原因を推測し、すぐ修正を始めてしまいます。間違った場所を変更してしまい、何度もデバッグを繰り返し、新たな問題を引き起こすこともあります。本来簡単な修正が半日かかることもあります。

使用後

このスキルは、バグを再現し、実際のコードパスを読み、証拠を引用することを要求します。数分で根本原因を特定でき、修正はすべての呼び出しパスをカバーするため、やり直しはありません。

SKILL.md

Grounding before coding

REQUIRED BACKGROUND: the principal-engineering skill.

Overview

Before writing a spec, a fix, or a first line: map the real code and data. Quote file:line and run the query behind every number you rely on. The cost of grounding is minutes; the cost of building on a wrong belief is the whole change plus the incident it causes.

The discipline

  1. Read the implementations, not the names. A method called validate that does not validate is common enough to be the default assumption. Verify what a thing does before building on what it is called.
  2. Quote your evidence. Every load-bearing claim in your plan gets a file:line, an exact query result, or a command output. When you cannot back a claim, say so out loud instead of assuming it.
  3. Never guess conventions. How this repo names things, wires dependencies, handles errors, or runs tests is discoverable in minutes. Guessing conventions is how changes arrive that are correct in isolation and wrong in the codebase.
  4. Trust code, not status. A document's or ticket's self-reported state is not evidence of execution state; adjudicate with the code and the history (git log -S <symbol>, grep the tree) before building on it.
  5. Reproduce before fixing. For bugs: see the failure happen before changing anything. A fix for an unreproduced bug is a guess wearing a diff.
  6. Fix where the callers converge. A bug report names one symptom on one path; before editing, find every route into the code you are about to touch. When the defect lives in something shared, the guard belongs in the shared place: it is the smaller diff AND the fix that covers the sibling paths the ticket never mentioned. Patching only the reported path repairs the report, not the bug.
  7. Map the invariants a change must not break. The output of grounding is a map: the touchpoints, the current behavior (quoted), and those invariants. Tests named after old bugs, guards with explanatory comments, and constants encoding hard-won thresholds are the scars that mark earlier incidents.

Limits of grounding

  • Not reading everything: map what the change touches plus one ring around it, at the depth the risk demands.
  • Not a substitute for asking: when the code cannot answer an intent question (why is this threshold 7?), the history or the owner can. An unanswerable question becomes a named assumption, never a silent one.
  • Not re-grounding what this session already established: ground once, cite it after.

Common mistakes

  • Theorizing from the framework's documentation about what the project's code does. The project forked, wrapped, or misused the framework; the tree tells you which.
  • Grounding the happy path only. The invariants live in the error paths and the edge-case guards.
  • Trusting a prior session's summary of the code over the code. Open the files the summary names before building on it.
  • Skipping grounding because the task "looks like" a previous one. The signal that pattern-matches a known case may have a different cause; check that the evidence supports this case.

ユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数17.2K
評価4.6 / 5.0
バージョン
更新日2026年10月23日
比較事例2 件

ユーザー評価

4.6(120)
5
37%
4
43%
3
13%
2
5%
1
2%

この Skill を評価

0.0

対応プラットフォーム

🤖claude-code

タイムライン

作成2026年8月30日
最終更新2026年10月23日
🎁 Agent 知識カード
アンケート