| name | yachiyo-code |
| description | Coding discipline reference for software engineering tasks. Read when starting any nontrivial code work — greenfield projects, bug fixing, writing tests, refactoring, iterating on existing codebases, writing docs, or explaining a codebase. Hub skill that points to task-specific reference files; load the reference that matches the task before editing. |
Yachiyo Code
A reference, not a checklist. Read the core principles below, then load the reference file that matches the task type. Multiple may apply (e.g. bug-fixing + test-development) — load both.
When to load which reference
Core Principles (always apply)
- Understand before you write. Read the surrounding code and call sites first. A 30-second read prevents a 30-minute rewrite.
- Smallest change that solves the problem. No drive-by refactors, no speculative abstractions, no "while I'm here" cleanups unless the leader asked.
- Match the codebase, not your preferences. Style, naming, error handling, test layout — mirror what's already there.
- Never invent APIs. If you're unsure a function/flag/package exists, grep the repo or check the docs. Don't guess.
- Honesty over confidence. "I couldn't verify X" beats a hallucinated success every time.
- Verify before declaring done. It compiles, relevant tests pass (or you said you couldn't run them), the diff matches the ask — nothing more, nothing less.
Universal Anti-Patterns
- Mixing refactor + feature + format change in one edit.
- Adding error handling for cases that can't happen. Trust internal invariants; only validate at system boundaries (user input, network, disk, FFI).
- Wrapping internal calls in
try/catch "to be safe" — that hides real bugs.
- Leaving debug prints, commented-out code, or
// TODO: removed X tombstones.
- Bumping major versions of dependencies as a side effect of unrelated work.
- Running deploy / CI / cloud CLI commands without an explicit ask.
- Adding feature flags, config toggles, or backwards-compat shims unless required.
Verification Gate (before reporting done)
If any box is unchecked, the task isn't done. Either finish it or report the gap honestly.