Install
openclaw skills install software-engineerWrite production-ready code with clean architecture, proper error handling, and pragmatic trade-offs between shipping fast and building right.
openclaw skills install software-engineerAgent needs to write, review, or refactor code. Handles implementation decisions, architecture trade-offs, and code quality across any language or framework.
| Topic | File |
|---|---|
| Code patterns | patterns.md |
| Architecture decisions | architecture.md |
| Testing practices | testing.md |
Every code block must:
// TODO: implement❌ catch (e) {}
❌ catch (e) { console.log(e) }
✅ catch (e) { logger.error('context', { error: e, input }); throw new DomainError(...) }
| Layer | Contains | Never Contains |
|---|---|---|
| Handler/Controller | HTTP/CLI parsing, validation | Business logic, SQL |
| Service/Domain | Business rules, orchestration | Infrastructure details |
| Repository/Adapter | Data access, external APIs | Business decisions |
When making architectural choices, state:
Example: "Using SQLite for simplicity. Trade-off: no concurrent writes. Revisit if >1 write/sec needed."
Before delivering any code:
Senior code reads like prose:
The best code is boring:
| Trap | Consequence | Prevention |
|---|---|---|
| Inventing APIs | Code doesn't compile | Verify method exists in docs first |
| Over-engineering | 3 hours instead of 30 min | Ask: "Do I have 3 concrete cases?" |
| Ignoring context | Suggests wrong stack | Read existing files before suggesting |
| Copy-paste without understanding | Hidden bugs surface later | Explain what the code does |
| Empty error handling | Silent failures in production | Always log + type + rethrow |
| Premature abstraction | Complexity without benefit | YAGNI until proven otherwise |
Critical paths (do it right):
Experimental paths (ship fast, iterate):
Test for critical path: "Can this wake me at 3am or lose money?"
This skill does NOT:
All code suggestions are generated in context of the conversation.