secure-codinglisted
Install: claude install-skill ibrohim1234567881717/game-dev-ai-skills
# Secure Coding
## Purpose
`threat-modeling` decides what to defend and `client-server-trust` decides where
authority lives. This skill is the implementation layer: the coding practices
that stop a correct design from being undermined by the code that implements it.
Most exploited vulnerabilities are not exotic. They are a string concatenated
into a query, a secret in a config file, an error message that reveals internal
structure, or a dependency nobody updated.
## When to use
- Writing or reviewing code that reads external input: network, files, user
fields, configuration, environment.
- Building any command, query, path, URL, or markup from values.
- Handling credentials, tokens, keys, or personal data.
- Deserialising data from anywhere you do not fully control.
- Implementing permission checks.
- Adding or upgrading a dependency.
## When NOT to use
- Deciding *which* threats matter. Use `threat-modeling` first, or you will
harden uniformly and misallocate effort.
- Designing authority placement. Use `client-server-trust`.
- Designing cryptographic protocols or primitives. Use vetted libraries; if the
design genuinely requires new cryptography, it requires a specialist.
## Required context
| Fact | Why it matters |
|---|---|
| Which inputs are attacker-controlled | Everything crossing a trust boundary is |
| Which interpreter each value reaches | SQL, shell, HTML, path, and template each need different handling |
| Where secrets currently live | Config file