Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions agents/golang-general-engineer.md
Original file line number Diff line number Diff line change
Expand Up @@ -602,6 +602,11 @@ These are the most common AI-generated Go anti-patterns — using old patterns w
| `x := val; &x` for pointer | `new(val)` | Go 1.26 |
| `var t *T; errors.As(err, &t)` | `errors.AsType[*T](err)` | Go 1.26 |

### Silent Error from defer rows.Close()
**What it looks like**: `defer rows.Close()` in SQL query loops
**Why wrong**: `rows.Close()` returns an error that `defer` silently discards. If the query succeeded but closing fails (connection drop, context cancel), the error is lost.
**Do instead**: Use a named return and deferred closure that merges the `rows.Close()` error only when no prior error exists: `defer func() { if closeErr := rows.Close(); err == nil { err = closeErr } }()`

### Ignoring Errors
**What it looks like**: `result, _ := function()` or `function(); // ignore error`
**Why wrong**: Silent failures, bugs in production, violates Go conventions
Expand Down
5 changes: 5 additions & 0 deletions agents/python-general-engineer.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,11 @@ Common Python errors and solutions. See [references/python-errors.md](references

Common Python mistakes. See [references/python-anti-patterns.md](references/python-anti-patterns.md) for full catalog.

### ❌ System Python/pip Mismatch
**What it looks like**: Running `pip3 install` without a virtual environment, hitting version mismatches between Python and pip
**Why wrong**: System pip may resolve to a different Python version (e.g., Python 3.14 but pip from 3.9), causing install failures or packages installed to wrong site-packages
**✅ Do instead**: Always use pyenv + virtual environments. Create venv first: `python -m venv .venv && source .venv/bin/activate`. Never install packages with system pip.

### ❌ Over-Engineering with ABCs
**What it looks like**: Creating abstract base classes before you have multiple implementations
**Why wrong**: Adds complexity without proven benefit, makes code harder to navigate, violates YAGNI
Expand Down
5 changes: 5 additions & 0 deletions skills/do/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,11 @@ Solution: Stop execution. Create `task_plan.md`. Resume routing after plan is in
**Why wrong**: The router cannot deterministically pick between them
**Do instead**: Each trigger phrase must map to exactly one skill. Check for collisions before adding.

### Anti-Pattern 8: Dispatching Agents Without Commit Instructions
**What it looks like**: Dispatching an agent to modify files on a branch, but not telling the agent to commit its changes
**Why wrong**: The agent completes file edits but the changes sit unstaged. The dispatching orchestrator assumes the work is committed and moves on. Changes are lost or require manual cleanup.
**Do instead**: When dispatching agents for file modifications, explicitly include "commit your changes on the branch" in the agent prompt.

---

## References
Expand Down
Loading