Adapt security skills to your project's risks: from Go to OWASP LLM and iOS
A security skill written for Go covers different questions than one written for an LLM application or an iOS app. I started with golang-security from samber/cc-skills-golang
, asked Claude to adapt it using the OWASP Top 10 for LLM Applications, and later carried that approach into production iOS development.
The most useful part of the adaptation was aligning the review questions with the project’s risks and the company’s values.
Start with a review method #
I was working in Go, a language I was unfamiliar with. I used my security skills alongside other Go skills to keep the implementation in check.
The security skill provided a repeatable method: separate modes for coding, reviewing changes, and auditing a codebase; questions about trust boundaries and attacker-controlled input; and instructions to trace data through surrounding code before reporting a finding. Its references and checklist gave the agent somewhere to look beyond the main instructions.
Adapt OWASP categories to the application #
I asked Claude to create a new skill using the OWASP Top 10 for LLM Applications (2025) , adapted to the project’s LLM and Model Context Protocol (MCP) surfaces.
The resulting llm-security skill kept the review modes and evidence requirements. It mapped the categories to tools, resources, prompts, and content returned to the model. The Go checklist stayed active for the code underneath.
For prompt injection , the reviewer needs to identify whose text reaches the model and what an attacker can control. A returned document body or filename can carry instructions. For excessive agency , the questions concern tool permissions, reachable side effects, and authorization enforced outside the model.
Those questions give the agent a path through the repository. It can follow a tool result back to its data source, then follow a tool call forward to the operation it performs. The skill also asks it to account for existing protections when assessing impact.
Repeat the adaptation for iOS #
Later, I applied the same approach to an iOS app using the OWASP Mobile Top 10 (2024) . That mobile security skill became part of production development.
The review method carried over. The mapping changed to platform APIs and the code responsible for them:
| Mobile risk | Concrete review question |
|---|---|
| Improper credential usage | Where are tokens stored, and which Keychain access settings apply? |
| Insufficient input/output validation | What can a deep link or share-extension input cause the app to do? |
| Insecure data storage | Which protection classes apply to cached and temporary user files? |
| Inadequate privacy controls | Where can sensitive data appear outside its intended screen, including logs and notifications? |
Repository context matters here. If a shared SDK owns authentication or networking, the skill needs to direct the reviewer into that SDK. Stopping at the changed Swift view would leave the relevant behavior unexamined.
For a mobile adaptation, MASVS supplies verification controls, and MASTG provides testing guidance for checking them.
Turn company values into review rules #
Company values need concrete instructions too. For example, a company that prioritizes privacy can require reviewers to trace user data into logging, analytics, and crash reporting. That turns a broad preference into something an agent can inspect.
The mobile skill also records settled product decisions. An intentional tradeoff needs a rationale and the protections that still apply so that each review can assess the implementation against that decision. New evidence or changed assumptions can justify reopening it.
Severity needs the same local reasoning. OWASP provides risk categories; the product’s data, attacker access, and existing controls determine a finding’s impact.
A fresh adaptation request could be:
Use the existing security skill as a template. Keep its review workflow
and evidence requirements. Adapt the relevant OWASP categories to this
repository's entry points, data flows, and platform APIs. Link each check
to the responsible code and a primary reference. Record product decisions
with their rationale. Preserve the language-level checks alongside it.
Tailoring a security skill gives the agent concrete questions about the product it is building. Take one OWASP category in your current skill and map it to the code, data, and product decision the reviewer should examine.