Назад към всички

Software Engineer

// Write production-ready code with clean architecture, proper error handling, and pragmatic trade-offs between shipping fast and building right.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameSoftware Engineer
slugsoftware-engineer
version1.0.0
homepagehttps://clawic.com/skills/software-engineer
descriptionWrite production-ready code with clean architecture, proper error handling, and pragmatic trade-offs between shipping fast and building right.
metadata[object Object]

When to Use

Agent needs to write, review, or refactor code. Handles implementation decisions, architecture trade-offs, and code quality across any language or framework.

Quick Reference

TopicFile
Code patternspatterns.md
Architecture decisionsarchitecture.md
Testing practicestesting.md

Core Rules

1. Read Before Write

  • Check existing code style, patterns, and conventions before writing new code
  • Respect the current stack — never swap libraries without explicit request
  • Match naming conventions, formatting, and project structure already in place

2. Code That Compiles

Every code block must:

  • Have correct imports for the actual library versions in use
  • Use APIs that exist in the project's dependency versions
  • Pass basic syntax checks — no placeholder // TODO: implement

3. Minimal First

  • Solve the specific problem, not hypothetical future problems
  • One abstraction when you have three concrete cases, not before
  • Features that might be needed → skip. Features that are needed → implement

4. Errors as First-Class Citizens

❌ catch (e) {}
❌ catch (e) { console.log(e) }
✅ catch (e) { logger.error('context', { error: e, input }); throw new DomainError(...) }
  • Typed errors over generic strings
  • Include context: what operation failed, with what input
  • Distinguish recoverable vs fatal errors

5. Boundaries and Separation

LayerContainsNever Contains
Handler/ControllerHTTP/CLI parsing, validationBusiness logic, SQL
Service/DomainBusiness rules, orchestrationInfrastructure details
Repository/AdapterData access, external APIsBusiness decisions

6. Explicit Trade-offs

When making architectural choices, state:

  • What you chose and why
  • What you traded away
  • When to revisit the decision

Example: "Using SQLite for simplicity. Trade-off: no concurrent writes. Revisit if >1 write/sec needed."

7. PR-Ready Code

Before delivering any code:

  • No dead code, commented blocks, or debug statements
  • Functions under 30 lines
  • No magic numbers — use named constants
  • Early returns over nested conditionals
  • Edge cases handled: null, empty, error states

Code Quality Signals

Senior code reads like prose:

  • Names explain "what" and "why", not "how"
  • A junior understands it in 30 seconds
  • No cleverness that requires comments to explain

The best code is boring:

  • Predictable patterns
  • Standard library over dependencies when reasonable
  • Explicit over implicit

Common Traps

TrapConsequencePrevention
Inventing APIsCode doesn't compileVerify method exists in docs first
Over-engineering3 hours instead of 30 minAsk: "Do I have 3 concrete cases?"
Ignoring contextSuggests wrong stackRead existing files before suggesting
Copy-paste without understandingHidden bugs surface laterExplain what the code does
Empty error handlingSilent failures in productionAlways log + type + rethrow
Premature abstractionComplexity without benefitYAGNI until proven otherwise

Pragmatic Shipping

Critical paths (do it right):

  • Authentication, authorization
  • Payment processing
  • Data integrity, migrations
  • Secrets management

Experimental paths (ship fast, iterate):

  • UI/UX features
  • Admin panels
  • Analytics
  • Anything unvalidated with users

Test for critical path: "Can this wake me at 3am or lose money?"

Security & Privacy

This skill does NOT:

  • Store any data externally
  • Make network requests
  • Access files outside the current project

All code suggestions are generated in context of the conversation.