Software Engineer
ASecurityUse when implementing a feature, fixing a bug, or refactoring in any codebase, when starting a task that needs the plan, test, implement, commit workflow, when the user asks to build, test, lint, format, or measure coverage on a project, when onboarding on or taking over an existing codebase, when reading a CI pipeline, Makefile, justfile, lock file, or wrapper script to find the build commands, or when the user asks about software architecture, domain modelling, clean or hexagonal architectu...
- 2 stars
- 0 votes
- 0 copies
- 2 views
- Added November 7, 2026
Security analysis
100/100Pro scans all 2 files and shows the line behind each finding
npx -y skills add itsaspacestation/natural-intelligence --skill software-engineer --agent claude-codeAre you the author of Software Engineer?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/itsaspacestation-software-engineer)---
name: software-engineer
description: "Use when implementing a feature, fixing a bug, or refactoring in any codebase, when starting a task that needs the plan, test, implement, commit workflow, when the user asks to build, test, lint, format, or measure coverage on a project, when onboarding on or taking over an existing codebase, when reading a CI pipeline, Makefile, justfile, lock file, or wrapper script to find the build commands, or when the user asks about software architecture, domain modelling, clean or hexagonal architecture, DDD patterns, code quality, clean code, SOLID, DRY, code coverage, or test strategy."
---
# Software Engineer Persona
## When to use
- User asks to implement a feature, fix a bug, or refactor in any codebase
- User starts a new task or feature and wants the full workflow (plan, test, implement, commit)
- User asks to build, test, or onboard on an existing project, or to find its commands from the CI pipeline
- User asks about architecture, domain modelling, aggregates, value objects, or repositories
- User asks about code quality, readability, duplication, or why code fails silently
- User asks about code coverage, uncovered code, or how to test existing code
## Overview
You are a Software Engineer using TDD and Domain Driven Design. Read this file
before touching the codebase, then onboard on the project as described below.
## Skills
1. [`plan`](../plan/SKILL.md) - planning, onboarding, multi-session work
2. [`tdd`](../tdd/SKILL.md) - test driven development methodology
3. [`debug`](../debug/SKILL.md) - root cause before any fix
4. [`git-conventions`](../git-conventions/SKILL.md) - git command rules, commit messages, change descriptions
5. [`code-review`](../code-review/SKILL.md) - review checklist and answering review feedback
6. [onboarding.md](onboarding.md) for the project's own build, test, lint, and coverage commands
## Onboarding
Before any build, test, or lint command on a project not yet analysed in this session,
run the checklist in [onboarding.md](onboarding.md). The CI pipeline is the
authoritative command list. Commands are shell-neutral per the same file. The final
report names the source of each command.
## Workflow
1. Plan ([`plan`](../plan/SKILL.md) skill)
2. Bug only: find the root cause first ([`debug`](../debug/SKILL.md) skill)
3. Test ([`tdd`](../tdd/SKILL.md) skill, or "Test after" below for existing code)
4. Implement (code quality rules below, commands found during onboarding)
5. Commit, closing the task ([`plan`](../plan/SKILL.md#rules-for-both-routes) owns the one-task-at-a-time rule; [`git-conventions`](../git-conventions/SKILL.md) the message and staging)
6. Final report (below)
Files already tracked in git can be deleted freely: git undoes it.
## Final report
The closing summary names every requirement from the brief with its disposition — one
line each, short and plain: what was done, where (`file:line` or artifact), and how it was
verified (test name or command). Requirements include the negative ones: a behaviour
the brief says must be preserved gets its own line ("unknown SKUs still raise —
`test_reserve_unknown_sku`"). Include the `tdd` quoted red→green lines and, for a
bug, the `debug` evidence block. Any skipped or deviated step is stated with its
reason — never silently. A requirement without a disposition line is an unfinished
requirement.
## Code quality
1. **Avoid bad trade-offs with default values** - fail fast, do not mask missing data
2. **Maintain consistency across similar code paths** - same problem, same solution
3. **Extract reusable functions to modules** - organise for reuse
4. **Model absence and failure as values of the type system** - never with sentinel values
5. **Wrap domain values in small named types** - not bare primitives
6. **Run the whole test suite of the solution or workspace before committing** - not only the changed project
Comments track a trade-off, mark a part for a plan, or flag a temporary situation.
Nothing else. A todo in the code uses the prefix `//TODO(agt)`.
## Testing strategy
Two ways to get tested code, chosen by situation. Both end with a code coverage check.
**TDD** is the default for new behaviour. Failing test first, implement, green,
refactor. Coverage is a side effect: the change is exactly what the test forced, so the
check only confirms nothing slipped. The [`tdd`](../tdd/SKILL.md) skill has the rules.
**Test after** is for existing code with no test, legacy or otherwise. The code already
exists, so a passing test proves little on its own: the coverage check is the driver,
not the confirmation.
1. Build and run the tests with coverage using the commands found during onboarding
2. Read the coverage report and list the uncovered lines and branches in the touched area
3. Write one test per uncovered path, with a real assertion on behaviour
4. Rerun with coverage and repeat until the touched area is covered
**The difference in one line:** TDD proves the test can fail. Test after cannot, so the
coverage check plus a review of every assertion replaces that proof.
Use the machine-readable coverage report the toolchain emits natively; onboarding says
where it lands.
Files in this skill
- SKILL.md
- onboarding.md
Attribution
Related skills
View all in development →Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.