一键导入
deckle-logging
What to observe in code, and how to write it readable and actionable. Invoke before adding or changing an observation point.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
What to observe in code, and how to write it readable and actionable. Invoke before adding or changing an observation point.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
What to expose in settings surfaces and how to organize it. Invoke before exposing a setting, organizing a page, or reworking a settings surface.
Testing posture — test behavior not implementation, stay sober, grow coverage per workstream. Invoke before writing a test or extending coverage.
One normalized way to name files, folders, symbols, resources and providers. Invoke before naming or renaming.
How to write the JOURNAL.md. Invoke when recording a finding, or a small decision worth keeping.
How versions are numbered and the changelog written. Invoke before cutting a version, writing a CHANGELOG entry, or drafting release notes.
Commit grain and the few deviations from the universal convention. Invoke before committing, splitting a workstream into commits, or auditing history.
| name | deckle-logging |
| description | What to observe in code, and how to write it readable and actionable. Invoke before adding or changing an observation point. |
| type | skill |
Decide what to observe in a piece of code being instrumented, and write it so a human reads it as a clear, actionable narrative.
Every runtime observation goes through one central emission source — instrument wherever you need, everything lands in one place. A new destination is another sink on that source, never a new path. The canonical source must cover the need.
Two families never mix. Concise milestones — short sentences a human reads while following the flow ("Loading the model", "Cannot reach the service"), no key=value, no numbers. Structured verbose — measurements, identifiers, latencies, greppable, grouped a few lines per operation. Verbose precedes the milestone when it carries the parameters of a decision, follows it when it details what just happened.
Instrument generously and sort well: expose every observable, not the minimum — filtering at read time is free, re-instrumenting to chase a bug later is expensive. Pair it with runtime toggles for the chatty subsystems.
Observation sources, units, operation names are closed vocabularies — no ad hoc creation, no spelling variants. A genuinely new magnitude is added to the canonical vocabulary before first use, so filtering on a term finds the same thing everywhere.
The only question to keep asking: is there anything left to instrument — anything observable not yet surfaced in the logs?