bugs
The `BUGS.md` open-issues queue — record-don't-fix policy, entry format, pruning.
Skill by kronael
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/kronael-bugs
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bugs
What's inside
- Skill name
bugs- Description
- The `BUGS.md` open-issues queue — record-don't-fix policy, entry format, pruning. NOT for resolved-bug history (git and /diary) or a feature backlog (use TODO.md/specs).
- License
- Unlicense
- Instructions
- 157 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Bugs
`BUGS.md` at the project root holds exactly three things:
1. **What is open** — defects still true of the code, and the decisions the
owner still owes (a redesign, a deliberate limit, a licence or product call).
2. **Things that were reported as defects and are not** — so the next audit
does not re-report them.
3. **Long-term technical debt** — a structural cost the owner accepts for
now, awaiting no decision (§ Long-term technical debt).
Nothing else. It is NOT a log of audits, reviews, sessions or sweeps: no
"Status — <date> — <what I checked>" blocks, no lead paragraphs describing a
review pass, no counts of what was verified. That narrative belongs in
the diary. A reader opens `BUGS.md` to learn what is broken, not what someone
did.
(Filename is uppercase `BUGS.md`. Some projects use lowercase — match what the
project already has.)
## Bug Triage Protocol — record, don't fix
WISDOM § Bug triage owns it: a bug found during any check is recorded here
and fixed only when the user asks.
## When NOT to record
- NEVER record when the user is currently driving a fix — just fix
- NEVER record trivial / one-shot issues a code comment covers
- NEVER record feature requests — those go in `TODO.md` or a new spec
- NEVER duplicate — when an open entry covers the same root cause, append
context to it instead
- NEVER record what you did. An entry describes the defect, not the pass that
found it. Provenance is at most one clause inside the entry (`CONFIRMED at
HEAD <date>`), never a section.
- NEVER footnote a different repo's defect here — fix it, or file it
(`/gh-issue`), at the repo that owns it
## Structure
Group by **subject** — the component or surface the defects live in — not by
when they were found:
```markdown
## Code bugs (in source/SQL, not the tests)
## Coverage gaps (edge cases / untested branches)
## <component or subsystem>
```
An existing section that fits takes the entry; only add a section when no
current one covers the subject. A defect dated in its own entry is enough —
the file needs no dated scaffolding around it.
## Entry format
One **bullet** per bug: bold UPPERCASE-KEBAB id, a `(SEVERITY, type)` tag, an
em-dash, then the body. An existing `BUGS.md` in another shape keeps it: ALWAYS
add entries in the file's own format, NEVER convert it, and NEVER ask to.
```markdown
- **COMPONENT-SHORT-NAME** (SEVERITY, type) — <what's broken>, at `file:line`;
<why / failure mode>. **Fix:** <sketch>.
```
- **ID** — `COMPONENT-DESCRIPTIVE-NAME`, UPPERCASE-KEBAB, component-prefixed
and self-describing (`ME-SNAPSHOT-NO-INDEX-DEDUP-REBUILD`,
`GW-OUTBOUND-UNBOUNDED`), not a short opaque code.
- **SEVERITY** — `CRITICAL | HIGH | MED | LOW` (or `MED-HIGH`).
- **type** — one word for the class: `latency`, `correctness`, `docs`,
`design`, `duplication`, `perf`, `ops`, `config`, `resource/DoS`,
`hardening`, `traceability`.
- **body** — concrete `file:line` cites, the failure/why, and often a
**Fix:** sketch. Multi-line prose is fine for a hard one.
- **test** — cites the failing test that proves it:
`Measured: <file>::<test-name>`. Omit only for a carve-out type (see below).
- **status** — inline, as a clause: `CONFIRMED at HEAD <date>`,
`open (record only)`, `deferred — <why>`, `needs sign-off`,
`owner decision`. A fix that changes behaviour says so, with what was
measured.
- A redesign proposal (new contract, changed control flow, cross-cutting) or
any other call the owner owes is an entry whose status is `needs sign-off`
or `owner decision`. ALWAYS give it `**Options:** (a) …; (b) …` and
`**Default if nothing is decided:** …` — what applies until the owner
answers, so the queue never stalls on silence. A gate the entry holds is
one more clause: `blocks go-live`, `blocks publication`. The user signs off
on the approach BEFORE it is built.
## Pin it with a failing test
Prose plus a `file:line` cite is a claim; a test the reader can run is
evidence. Every entry gets one, in the project's own test idiom — grep for an
existing ignored/skipped test and match it; never invent a second convention.
- ALWAYS write the test to assert the CORRECT behavior, not the buggy output,
so it fails against today's code. Shape: a doc comment states the mechanism,
the test drives the real code path (faking only external systems), and the
skip reason restates why it currently fails.
- ALWAYS run it and watch it fail before the entry counts as recorded — a test
that passes today proves nothing, recorded or not.
- ALWAYS mark it a known failure so the suite stays green: Rust
`#[ignore = "..."]`, pytest `xfail`/`skip(reason=...)`, Go `t.Skip("...")`,
or whatever this project already uses.
- ALWAYS put the entry id in the skip/ignore reason next to the mechanism
(`"<ENTRY-ID>: <mechanism>"`) — either side greps straight to the other.
- NEVER let writing this test become writing the fix. The test asserts correct
behavior and stays red; producing it is recording, exactly WISDOM § Bug
triage's "record, don't fix" — the assertion, never the code that
makes it pass.
**Carve-out — no test required:** `docs`, `ops`, `config`, `design`,
`duplication`, `traceability` entries, and a `perf`/`latency` finding that
needs production-scale data or infra a test suite can't construct. State the
carve-out inline in the body: `no test — <type>`.
## Not-a-defect section
A permanent section — the project may already name it `## Design invariants —
intentional, do not re-report` — holds one compressed line per ruling:
what was reported, and why it is correct behaviour. These are NEVER deleted;From kronael/tools, Unlicense.
More from kronael/tools
- 0.622score
distill
kronael
/distill — Use when compressing a long document, transcript, or codebase into its essence.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
continue
kronael
/continue — goal mode.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
eval
kronael
Evaluation router — judge a product, codebase, UI or engineer from one fixed lens or every lens.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
kronael-sync
kronael
Sync Kronael into ~/.claude from Codex (bundle + CLI tools rig/udfix/spec-lint/dockbox), first setup included; bridge global/project CLAUDE.md, skills, and…
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
ans
kronael
/ans — answer-only mode toggle, NEVER edit files or run shell; /ans end exits.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
astgrep
kronael
Structural code search and rewrite with ast-grep (tree-sitter AST patterns).
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
astra
kronael
Ask the codex CLI on gpt-6-astra (or gpt-6.1-sol, the Sol variant) for a second opinion, usually routed through oracle.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
codemap
kronael
Map a codebase and drill into it — ranked overview, callers, blast radius, module, import and call graphs.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
browse
kronael
Browser automation via the agent-browser CLI, for login flows, screenshots, page interaction and DOM extraction.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
create
kronael
Router for creative artifact generation — CVs, web pages, explainers, videos, generative art, diagrams.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
diagrams
kronael
ASCII architecture and workflow diagrams using Unicode box-drawing chars.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
dispatch
kronael
/dispatch — launch a background subagent at default model; § Tiers is the one table of every model tier, Claude and Codex.
SkillAFreshness: A★ 6Claude Code +9
Signals
- Stars
- 6
- Forks
- 3
- Open issues
- 0
- Last commit (this folder)
- Oct 22, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Unlicense
- Repository
- github.com/kronael/tools
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kronael
- 0.622score
distill
kronael
/distill — Use when compressing a long document, transcript, or codebase into its essence.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
eval
kronael
Evaluation router — judge a product, codebase, UI or engineer from one fixed lens or every lens.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
kronael-sync
kronael
Sync Kronael into ~/.claude from Codex (bundle + CLI tools rig/udfix/spec-lint/dockbox), first setup included; bridge global/project CLAUDE.md, skills, and…
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
ans
kronael
/ans — answer-only mode toggle, NEVER edit files or run shell; /ans end exits.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
astgrep
kronael
Structural code search and rewrite with ast-grep (tree-sitter AST patterns).
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
continue
kronael
/continue — goal mode.
SkillAFreshness: A★ 6Claude Code +9
Cite this page
bugs skill. Agent Mart. https://agentmart.dev/skills/kronael-bugs (last updated 2026-10-24)