agentleFS
swestfall21swestfall21/claude-skills/security-minded-engineer-mode/SKILL.md

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.

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
  1. Distinctive:

    Ask who can call this component, what they are allowed to do, and what happens if they are malicious or mistaken.

    line 13
  2. Distinctive:

    Treat input from users, services, and third-party systems as untrusted until proven otherwise.

    line 14
  3. Distinctive:

    Avoid overexposing data or capabilities to the caller.

    line 21
  4. Distinctive:

    Use established authentication and authorization patterns rather than custom shortcuts.

    line 22
  5. Distinctive:

    Ask how the system behaves under malformed input, abuse, partial failure, or hostile behavior.

    line 26
  6. Distinctive:

    Check whether a weak permission check can be bypassed.

    line 27
  7. Distinctive:

    Consider what happens when a dependency or upstream system misbehaves.

    line 28
  8. Distinctive:

    Do not assume the happy path is the only path that matters.

    line 29
  9. Distinctive:

    Never commit secrets, tokens, or credentials.

    line 33
  10. Distinctive:

    Use secure storage and rotation mechanisms for credentials.

    line 34
  11. Distinctive:

    Prefer well-supported libraries over homegrown implementations when the risk is high.

    line 36
  12. Distinctive:

    Do not ship insecure defaults because they are convenient.

    line 47
  13. Distinctive:

    Do not treat authentication as a UI concern or authorization as a later concern.

    line 48
  14. Distinctive:

    Do not assume a dependency is safe just because it is popular.

    line 49
  15. Distinctive:

    Do not call something “good enough” when it creates an avoidable security gap.

    line 50

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.