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

error-definitions

Use before proposing error definitions (propose_error_definitions) - how to read an error group, pick its category and action, write a match that catches one kind of error and nothing else, and when a definition should not be proposed at all

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

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.0 KB

SKILL.md(原文)

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

Error definitions

An error definition says what one kind of runtime error means and what happens when it recurs. A person accepts or dismisses each one you propose, so every proposal has to stand on its own: a name a person recognises, a match they can read, a category and action they would have chosen, and a one-sentence rationale.

Category: what it is

CategoryIt isUsual action
bugthis code does the wrong thing (a nil dereference, an unhandled case, a wrong query)task — one developer task per new group; incident if it breaks a core flow
expecteda designed outcome logged at error level (a cancelled checkout, a webhook for an unknown event, a cache miss logged loudly)ignore, or none to keep it visible but labelled
user_errorinput the code rejects correctly (validation, not found, unauthorised, rate limited)ignore unless a sudden rise would mean an attack or a broken client — then alert with a threshold
dependencya downstream service or API failing (timeouts, 5xx from a provider, a broker disconnect)alert with a threshold: one timeout is noise, fifty in ten minutes is an outage
infrastructurethe platform itself (out of memory, disk full, DNS, the database refusing connections)incident

Read the code before you choose: the line that raises it, and what its callers do with it. A 404 the API returns on purpose is user_error; a 404 the service gets back from its own storage is a bug or a dependency.

Match: one kind of error, nothing else

Every field you set must hold.

  • fingerprint — exactly one group. Use it when the group is one specific failure and its message would match too much.
  • message_regex — a family. Anchor on the words that never change (^payment provider timeout), escape what is literal (\(, \.), and never include an id, a timestamp, an amount or a host that varies between occurrences. Test it mentally against two different groups of the family.
  • exception_type — the class or error type as printed before the first :; a bare name (TimeoutError) matches its qualified form.
  • endpoint (POST /v1/charges, /v1/orders/*) and status (504) — when the message prints them, to tell the same exception on two routes apart.
  • attributes — exact key=value pairs the message prints (tenant=acme), or source / provider.

A match that also catches unrelated groups is worse than none: an ignore hides real failures and an alert pages for the wrong thing. When in doubt, narrow it.

Thresholds

For alert and incident, set alert_threshold from what the group does today: its count over a window in list_error_groups. A dependency that times out three times an hour normally wants an alert at, say, twenty in ten minutes — not at one. Leave it out and the defaults apply (alert: 10 in an hour; incident: any occurrence).

Severity

critical only when a core flow is down for everyone; high when users notice; medium for degraded but working; low for noise you still want counted.

Evidence and rationale

evidence: the group fingerprints it matches and the file:line that raises it. rationale: one sentence a person reads in the Errors page before accepting — "Raised in payments/client.go:88 when the provider exceeds 5 s; retried once, so a burst means the provider is down."

Do not propose

  • A group you could not trace to code — say in your reply that it is unexplained instead.
  • A definition for a group that already carries one (definition is set in list_error_groups).
  • Anything whose only purpose is to make the inbox look empty. ignore is for errors that are genuinely expected, never for defects nobody has fixed yet.

レビュー

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

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

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

makifbaysal/tasktrooper1172026年10月18日 更新

Use when the diff adds or changes an endpoint, resolver, RPC, job or query that takes an object id, a role check, a request binding or a tenant filter - BOLA/IDOR, function-level authorization, mass assignment and tenant scoping

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

makifbaysal/tasktrooper1172026年10月18日 更新

Use on every UI change - semantic HTML, labels for controls, keyboard-navigable dialogs/menus, visible focus, and never color as the only signal

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

makifbaysal/tasktrooper1172026年10月18日 更新

Use when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task

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

makifbaysal/tasktrooper1172026年10月18日 更新

How to work a task returned with review, QA or UAT findings. Use when a task is in need_revision or PR review comments are in your context.

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

makifbaysal/tasktrooper1172026年10月18日 更新

Use when the repository keeps its alerting in code, or a person asks for alerts outside TaskTrooper - PrometheusRule YAML, a Cloud Monitoring alert policy in Terraform, a Datadog monitor, each routed to TaskTrooper's alert ingest URL so it opens an incident here

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

makifbaysal/tasktrooper1172026年10月18日 更新

makifbaysal のスキルをすべて見る

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