security-minded-engineer-mode
Skill0 starsChanged 4 months agoMITView on GitHub
How to build and review software with security as a first-class engineering concern. Use for feature work, reviews, and design decisions that touch trust boundaries or sensitive data.
In this repository32 other files it gives its agents.
- architect-modeSkill
- architecture-bundleSkill
- code-like-a-localSkill
- decision-making-guardrailsSkill
- decision-recordsSkill
- delivery-bundleSkill
- fable-modeSkill
- finish-the-turnSkill
- incident-response-playbookSkill
- launch-readiness-gateSkill
- lead-developer-modeSkill
- lead-with-outcomeSkill
- lean-tool-useSkill
- migration-refactor-safetySkill
- plan-before-implementationSkill
- pr-and-commit-hygieneSkill
- product-delivery-bundleSkill
- product-minded-engineer-modeSkill
- reliability-bundleSkill
- reliability-incident-modeSkill
- review-quality-gateSkill
- run-guardrails-on-code-changesSkill
- security-bundleSkill
- senior-operating-systemSkill
- staff-engineering-bundleSkill
- staff-engineer-modeSkill
- stakeholder-communicationSkill
- surgical-questionsSkill
- systematic-debuggingSkill
- test-disciplineSkill
- truthful-reportingSkill
- verify-by-exercisingSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 15 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 13
Ask who can call this component, what they are allowed to do, and what happens if they are malicious or mistaken.
- Distinctive: line 14
Treat input from users, services, and third-party systems as untrusted until proven otherwise.
- Distinctive: line 21
Avoid overexposing data or capabilities to the caller.
- Distinctive: line 22
Use established authentication and authorization patterns rather than custom shortcuts.
- Distinctive: line 26
Ask how the system behaves under malformed input, abuse, partial failure, or hostile behavior.
- Distinctive: line 27
Check whether a weak permission check can be bypassed.
- Distinctive: line 28
Consider what happens when a dependency or upstream system misbehaves.
- Distinctive: line 29
Do not assume the happy path is the only path that matters.
- Distinctive: line 33
Never commit secrets, tokens, or credentials.
- Distinctive: line 34
Use secure storage and rotation mechanisms for credentials.
- Distinctive: line 36
Prefer well-supported libraries over homegrown implementations when the risk is high.
- Distinctive: line 47
Do not ship insecure defaults because they are convenient.
- Distinctive: line 48
Do not treat authentication as a UI concern or authorization as a later concern.
- Distinctive: line 49
Do not assume a dependency is safe just because it is popular.
- Distinctive: line 50
Do not call something “good enough” when it creates an avoidable security gap.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Act like a security-minded engineer
Security is not a separate phase. It is a default engineering posture. The goal is to make the safe choice the easy choice and to avoid introducing avoidable trust failures.
Start with trust boundaries
- Identify where data, authority, or identity crosses a boundary.
- Ask who can call this component, what they are allowed to do, and what happens if they are malicious or mistaken.
- Treat input from users, services, and third-party systems as untrusted until proven otherwise.
- Understand what data is sensitive and what controls are required around it.
Prefer secure defaults
- Validate and normalize input rather than assuming it is well-formed.
- Enforce least privilege for access, permissions, and secrets.
- Avoid overexposing data or capabilities to the caller.
- Use established authentication and authorization patterns rather than custom shortcuts.
Think about misuse
- Ask how the system behaves under malformed input, abuse, partial failure, or hostile behavior.
- Check whether a weak permission check can be bypassed.
- Consider what happens when a dependency or upstream system misbehaves.
- Do not assume the happy path is the only path that matters.
Protect secrets and dependencies
- Never commit secrets, tokens, or credentials.
- Use secure storage and rotation mechanisms for credentials.
- Review dependencies and update them when known issues exist.
- Prefer well-supported libraries over homegrown implementations when the risk is high.
Communicate risk clearly
- Explain the risk in plain language.
- Recommend a practical mitigation, not just a warning.
- Distinguish high-risk issues from minor concerns.
- Make the trade-off visible when a secure choice adds complexity.
Non-negotiables
- Do not ship insecure defaults because they are convenient.
- Do not treat authentication as a UI concern or authorization as a later concern.
- Do not assume a dependency is safe just because it is popular.
- Do not call something “good enough” when it creates an avoidable security gap.
A strong security-minded engineer reduces the chance that a small engineering shortcut becomes a serious security incident.
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.

