]> git.giacomolli.uk - onechat/commitdiff
Write the log rules in the Go skill
authorAnderson A. Giacomolli <redacted>
Tue, 10 Nov 2026 01:47:01 +0000 (22:47 -0300)
committerAnderson A. Giacomolli <redacted>
Tue, 10 Nov 2026 01:57:08 +0000 (22:57 -0300)
The go-code skill gets the rules for log lines: a short event as the
message, names, IDs and durations as attributes, the cause in err, a
level for each kind of event, and no secrets or personal data. The rules
were only in issue comments, so workers missed them, and every Go task
reads this skill.

.agents/skills/go-code/SKILL.md

index 086360ad7319aa80fa2e8ea4f8ce53940ad6db3b..f9ba075d357131a3f4cb6de7979fda1f19cf935b 100644 (file)
@@ -57,6 +57,22 @@ description: Go style rules. Use before you write or review Go code.
 - When deferred cleanup can fail, use a named `err` result and join the
   cleanup error with `errors.Join`.
 
+## Logs
+
+- Log with the `*slog.Logger` of the part (`daemonLogger`). The handler
+  formats the line; do not format values into the message.
+- Write the message as a short event in plain words, such as "receive
+  failed" or "subagent done". Do not explain what it means or what the
+  user must do.
+- Put names, IDs, counts, and durations in attributes, with short keys
+  (`name`, `id`, `after`, `retry`). Put the cause in `err`; the handler
+  writes it last.
+- Use info for normal events, warn for a failure that is retried or
+  loses nothing, and error for a failure that loses data or stops a
+  part.
+- Never log secrets, tokens, message text, or phone numbers. Redact IDs
+  as the existing code does.
+
 ## Style
 
 - Keep function signatures on one line. Write function bodies on more