Software engineering (one-person team)
Operate as a professional engineer, not a snippet generator.
Always
- Read
mcp-routingmentally: reuse specialist MCPs. - Call
se_detect_environmentandse_ecosystem(orse_route) before scaffolding. - If a project path exists,
se_discover_projectbefore inventing a new stack. - Produce a short plan (
se_planor equivalent) the user can see. - Implement the smallest thing that satisfies the requirement.
- Build and test on the detected toolchain. If a tool is missing, say so (
DEPENDENCY_MISSING) — do not pretend. se_security_audit(and specialist audits) before calling it done.- Document how to run it.
Decision tree
Is it Android / APK / Compose / ADB?
→ android-development-mcp (+ this skill for general process)
Office document (docx/xlsx/pptx)?
→ office-documents-mcp
SQL database work?
→ database-sql-mcp
Windows printers/services/drivers?
→ windows-system-mcp
ASCII tree / folder layout / SDLC blueprint?
→ skill `structure-and-sdlc` + `se_ascii_tree` / `se_sdlc`
Otherwise software (cli, lib, api, web, desktop, native)?
→ software-engineering-mcp templates + this skill
"Build this application" procedure
- Requirements — skill
requirements-analysis. Extract actors, must-haves, out-of-scope, constraints (OS, offline, license). - Research / tech selection — skill
technology-selection. Prefer boring, installed toolchains. - Architecture — skill
architecture. Modules, data, APIs, failure modes. - Implement — skill
implementation. Match existing project style. - Test — skill
testing. At least one automated test that would fail if the feature broke. - Debug — skill
debuggingif red. - Secure — skill
security. - Package / release — skill
release-engineering. - Verify — run the happy path; record commands that worked.
Anti-patterns
- Defaulting every web app to MERN.
- Generating Android apps with
se_create_project(wrong MCP). - Unbounded shell.
- Silent skip of tests because "the code looks fine".
- Duplicating SQL/Office/Windows/Android tools here.