senior-engineer-mindset
Skill87 starsChanged 32 days agoMITView on GitHub
Router for thinking like a senior, principal, distinguished/fellow, or executive-level (CTO/VP-Eng) engineer BEFORE writing code. Picks which thinking disciplines fit the task at hand and dispatches to them. Use this proactively whenever the user asks to build a feature, choose a library/framework/database, design an API or data model, fix a bug whose cause isn't obvious, or refactor — even if they never say "design", "design review", or "senior". Skip for one-line fixes, explicitly throwaway prototypes, or when the user handed over a fully-specified plan and just wants it typed out. Bundles an optional PreToolUse/PostToolUse hook (scripts/check_ask_before_hard_change.py) that nudges toward an AskUserQuestion check-in before editing a hard-to-reverse surface.
In this repository28 other files it gives its agents.
- adversarial-reviewSkill
- bite-sized-planSkill
- chestertons-fenceSkill
- clarify-the-real-problemSkill
- context-economySkill
- delegate-to-subagentsSkill
- design-for-the-next-readerSkill
- fresh-context-reviewSkill
- honest-artifactsSkill
- interface-contractsSkill
- measure-before-optimizingSkill
- observability-and-instrumentationSkill
- persistent-memorySkill
- plan-on-diskSkill
- premortemSkill
- record-the-whySkill
- root-cause-disciplineSkill
- search-firstSkill
- security-review-by-haloSkill
- security-reviewSkill
- simplicity-budgetSkill
- surgical-changeSkill
- threat-and-scale-checkSkill
- verifiability-firstSkill
- verify-before-agreeingSkill
- verify-before-claimingSkill
- weigh-tradeoffsSkill
- widen-the-solution-spaceSkill
The file
Files
Senior + Principal + Distinguished + Executive Engineer Mindset (router)
The gap between junior and senior isn't "how well you write code" — it's what you think about before you write it. This skill bundles that thinking process — four stacked lenses (Senior/Principal/Distinguished/Executive), a workflow of sub-skills, and a three-track classification (Spike/Bounded/Structural) — and is tuned per model, because how much hand-holding, effort, and narration each part needs differs by tier.
| Model | File |
| Claude Opus 5.5 | opus-5-5.md |
| Claude Fable 5.1 | fable-5-1.md |
| Claude Sonnet 5 | sonnet-5.md |
| Claude Sonnet 5.5 | sonnet-5-5.md |
| Claude Haiku 5.5 | haiku-5-5.md |
| OpenAI GPT-6 Astra | gpt-6-astra.md |
| OpenAI GPT-6 Sol | gpt-6-sol.md |
| OpenAI GPT-6.1 Sol | gpt-6-1-sol.md |
| OpenAI GPT-6 Luna | gpt-6-luna.md |
Read the file matching the model actually running before applying this skill. Each file is a complete, standalone rewrite covering the four-lens framing, the sub-skill and situational-pick tables, track classification, the "too simple to need a check" trap, output format, and the skip list — calibrated for that model. The hook below is not model-dependent and applies the same way regardless of which file you read.
Running a model not listed above (an older generation, a different model family entirely)? sonnet-5.md carries the fullest general-purpose version of the underlying procedure — read that one rather than skipping this skill.
Optional: enforce with a hook
The rule that a hard-to-reverse decision gets a check-in first is mechanically catchable to a degree: scripts/check_ask_before_hard_change.py watches for an Edit/Write/MultiEdit targeting a path that looks like a hard-to-reverse surface (schema, migration, public API spec, dependency manifest) with no AskUserQuestion call in the recent window (ASK_HOOK_WINDOW_SECONDS, default 1800s). By default it only warns, it doesn't block — set ASK_HOOK_STRICT=1 to make a hit actually block the edit.
Add to .claude/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write|MultiEdit",
"hooks": [
{ "type": "command", "command": "python3 .claude/skills/senior-engineer-mindset/scripts/check_ask_before_hard_change.py" }
]
}
],
"PostToolUse": [
{
"matcher": "AskUserQuestion",
"hooks": [
{ "type": "command", "command": "python3 .claude/skills/senior-engineer-mindset/scripts/check_ask_before_hard_change.py" }
]
}
]
}
}If your skill is installed at a different path, update the command path to match. This is a path-based heuristic, not a real understanding of what's actually hard to reverse — it can't tell a real schema change from an unrelated edit to a file that happens to live in migrations/, and it can't tell a dependency version bump from a comment-only edit to a manifest file. A false positive just costs a wasted nudge (advisory by default); it isn't a substitute for actually judging whether a decision is hard to reverse. Same example-level-enforcement framing as delegate-to-subagents's bundled hook — not a red-team-tested CRITICAL-tier block. See delegate-to-subagents's hook section for the plugin that does provide that tier (songjiun10-collab/hook).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

