security-testing
Skill47 starsChanged 5 months agoMITView on GitHub
Use when you want to security-test, pentest, audit, or find vulnerabilities in an application you own or are authorized to test — entry point that confirms authorization and routes to the right phase (threat model, code audit, active test, or hardening).
9 other projects use a version of this.
Adopted by
Most recently taken up by
- AnyOrgName/php-skillstheir own version, first seen Nov 8, 2026
- joe-qai/qa-skillstheir own version, first seen Nov 8, 2026
- petrkindlmann/qa-skillstheir own version, first seen Oct 25, 2026
- proffesor-for-testing/agentic-qetheir own version, first seen Oct 25, 2026
- mejbaurbahar/software-tester-skillstheir own version, first seen Oct 13, 2026
- d-padmanabhan/agent-engineering-handbooktheir own version, first seen Sep 18, 2026
Used with
Projects with it also use mobile-testing, database-testing and 5 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
petrkindlmannSkillmobile-testing
Test native, React Native, hybrid, and Flutter mobile apps with Appium 3.x, Detox, Maestro, and Patrol. Covers device farm setup (BrowserStack, Sauce Labs), gesture simulation, deep link and cold-start testing, push notifications, biometric (Face ID) auth, offline/poor-network simulation, and iOS/Android permission dialog handling. Use when: "mobile test," "Appium," "Detox," "Maestro," "Patrol," "Flutter test," "iOS test," "Android test," "device farm," "deep link," "biometric," "Face ID," "permission dialog," "React Native test." Not for: device/browser matrix strategy in the abstract — use cross-browser-testing; app startup/memory/battery profiling depth — use performance-testing; mobile screenshot diffing — use visual-testing. Related: ci-cd-integration, cross-browser-testing, performance-testing, test-data-management, test-reliability.
Also in 5 projects that use this
petrkindlmannSkilldatabase-testing
Validate database integrity, test migrations forward and backward, verify schema constraints, manage seed data, detect migration drift, and identify query performance issues. Covers PostgreSQL, MySQL, MongoDB with Prisma, TypeORM, Drizzle, and SQLAlchemy, plus Testcontainers test databases. Use when: "database test," "migration test," "migration rollback," "rollback test," "data integrity," "SQL test," "schema validation," "seed data," "query performance," "Testcontainers." Not for: synthetic data generation/masking at scale — use test-data-management; Docker/IaC test-environment provisioning — use test-environments; SQL injection — use security-testing. Related: test-data-management, test-environments, security-testing, ci-cd-integration.
Also in 4 projects that use this
conorluddySkillaccessibility-testing
WCAG compliance testing and accessibility quality assurance workflows for iOS apps. Use when validating accessibility labels, testing VoiceOver compatibility, checking contrast ratios, or ensuring WCAG 2.1 compliance. Covers accessibility tree analysis, semantic validation, and automated accessibility testing patterns.
Also in 4 projects that use this
nek1987Skillapi-testing
Use when writing tests for backend APIs or frontend flows. Triggers for: unit tests, integration tests, E2E tests, pytest fixtures, TestClient setup, mock data factories, or test coverage analysis. NOT for: testing business logic that doesn't involve API endpoints.
Also in 3 projects that use this
- +3 more from petrkindlmann
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- proffesor-for-testing/agentic-qe★ 524same name
- petrkindlmann/qa-skills★ 209same name
- joe-qai/qa-skills★ 30same name
- d-padmanabhan/agent-engineering-handbook★ 17same name
- AnyOrgName/php-skills★ 4same name
- Marnie0415/pi-skills★ 1same name
- mejbaurbahar/fagun★ 1same name
- mejbaurbahar/software-tester-skills★ 1same name
- mmondora/claude-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- access-control-testingSkill
- active-pentestSkill
- api-security-testingSkill
- authentication-testingSkill
- business-logic-testingSkill
- client-side-exploitationSkill
- file-upload-and-ssrfSkill
- injection-testingSkill
- pentest-reportingSkill
- recon-and-osintSkill
- secrets-management-auditSkill
- security-code-auditSkill
- security-hardeningSkill
- threat-modelingSkill
- vulnerability-chainingSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 5 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
The rule: before doing the work of a phase, invoke that phase's skill and follow its checklist.
- Distinctive: line 22
NOT count as coverage. Doing the work "from your own expertise" instead of invoking the skill is the failure this section exists to stop.
- Distinctive: line 49
Before any testing, confirm out loud with the user:
- Distinctive: line 55
If any answer is unclear or "no" → stop and only do code audit on code the user controls.
- Distinctive: line 56
Never test third-party systems without written authorization.
- Very specific: line 114
Don't run every skill — run what the target *has*.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Security Testing (Orchestrator)
Overview
Front door for defensive security work. It enforces an authorization gate, then routes you through the lifecycle: PLAN → FIND → EXPLOIT → FIX. Use attacker thinking to find your own weaknesses, then close them.
Core principle: Attackers think in paths, defenders think in lists. A defender must be right everywhere; an attacker needs one weak link. Hunt the path.
How to run this orchestrator (MANDATORY — read first)
This skill is a router, not a substitute for the skills it names. The tables below tell you
which skill to open at each phase — you MUST actually open it with the Skill tool.
The rule: before doing the work of a phase, invoke that phase's skill and follow its checklist. Reading a one-line description in a routing table is NOT running the skill and does NOT count as coverage. Doing the work "from your own expertise" instead of invoking the skill is the failure this section exists to stop.
- RECON →
recon-and-osint· PLAN →threat-modeling - FIND/EXPLOIT → invoke each applicable specialist (
access-control-testing,authentication-testing,injection-testing,file-upload-and-ssrf,api-security-testing,client-side-exploitation,business-logic-testing,secrets-management-audit) before testing that area — plussecurity-code-audit(static) andactive-pentest(dynamic). - CHAIN →
vulnerability-chaining· FIX →security-hardening· REPORT →pentest-reporting
Coverage honesty: in the coverage report, mark a skill ✓ ONLY if you invoked it via the
Skill tool. If you applied its methodology from memory without invoking it, write
"methodology-only". If it's irrelevant to the target, write "N/A — <reason>". Never mark ✓ to
mean "I did similar work."
Red flags — STOP and invoke the skill before continuing:
- "I already know what this covers / I know this domain extremely well"
- "The summary in the routing table is enough"
- "I'll just start with the highest-yield target and do the work directly"
- "I'll consult the specialist skills later / as a reference"
- "The skill is overkill — I've found these bugs hundreds of times"
- Time pressure: "the user wants results fast, skip the load step"
Each of these is the exact rationalization that produces silent gaps. The map is not the
territory — open each door (call Skill) before doing its work.
Authorization Gate (do this first — every time)
Before any testing, confirm out loud with the user:
- Ownership / authorization — Do you own this app, or have written permission to test it?
- Target environment — Is testing scoped to a lab/staging/local instance (not third-party production)?
- Out of scope — Confirm no destructive actions, no DoS, no real user data exfiltration.
If any answer is unclear or "no" → stop and only do code audit on code the user controls. Never test third-party systems without written authorization.
Routing
digraph route {
"What do you need?" [shape=diamond];
"recon-and-osint" [shape=box];
"threat-modeling" [shape=box];
"FIND/EXPLOIT skills" [shape=box];
"security-hardening" [shape=box];
"pentest-reporting" [shape=box];
"What do you need?" -> "recon-and-osint" [label="discover the attack surface"];
"What do you need?" -> "threat-modeling" [label="plan / prioritize"];
"What do you need?" -> "FIND/EXPLOIT skills" [label="find & validate bugs"];
"What do you need?" -> "security-hardening" [label="fix findings"];
"What do you need?" -> "pentest-reporting" [label="report & track closure"];
"recon-and-osint" -> "threat-modeling" -> "FIND/EXPLOIT skills";
"FIND/EXPLOIT skills" -> "security-hardening" -> "pentest-reporting";
}Lifecycle phases (run in order for a full assessment):
| Phase | Skill | When |
| RECON | recon-and-osint | Discover the real attack surface before assuming it. |
| PLAN | threat-modeling | Rank what to worry about and test first. |
| FIND/EXPLOIT | deep-dive specialists (below) | Find and validate vulnerabilities. |
| FIX | security-hardening | Correct, verified fixes. |
| REPORT | pentest-reporting | Score, document, and track findings to closure. |
FIND/EXPLOIT deep-dive specialists (pick by what you're testing):
| Target | Skill |
| Access control / IDOR / privesc (OWASP #1) | access-control-testing |
| Login / sessions / OAuth / JWT / MFA (account takeover) | authentication-testing |
| Workflow / pricing / race conditions / abuse | business-logic-testing |
| REST / GraphQL / gRPC / WebSocket (OWASP API Top 10) | api-security-testing |
| Browser / HTTP layer (DOM XSS, CSP/CORS, prototype pollution, smuggling) | client-side-exploitation |
| Input reaching an interpreter (SQLi/NoSQLi, command, SSTI, XXE) | injection-testing |
| File uploads, SSRF, insecure deserialization | file-upload-and-ssrf |
| Leaked keys/tokens (code, git history, logs, config) | secrets-management-audit |
Then synthesize: vulnerability-chaining combines the findings above into end-to-end attack
paths — the highest-impact step, where several mediums become one critical.
Two cross-cutting helpers the specialists use:
security-code-audit— static (white-box) review: read source & grep for vuln patterns.active-pentest— execution harness: lab/proxy/scanner setup + safe run + PoC capture. The specialists supply the attack recipe;active-pentestis how you run it on the live app.
Recommended flow: recon → threat model → deep-dive find/exploit (start with
access-control-testing, it's the #1 real-world risk) → harden → report. Each phase feeds the next.
Surface-driven routing (applicability & gaps)
Don't run every skill — run what the target has. From recon-and-osint + threat-modeling,
build the surface inventory, then map present surfaces to specialists:
| Surface present? | Route to | If absent |
| Browser UI / client-side JS | client-side-exploitation | skip (N/A) |
| Login / accounts / tokens | authentication-testing | skip |
| Authenticated / multi-user data | access-control-testing | skip |
| API (REST/GraphQL/gRPC/WS) | api-security-testing | skip |
| DB / shell / template / XML sinks | injection-testing | skip (per sink) |
| File upload / URL fetch / deserialization | file-upload-and-ssrf | skip (per feature) |
| Workflows / money / quotas | business-logic-testing | skip |
| Any code / repo / config (≈always) | secrets-management-audit | — |
Each specialist also self-checks via its own Applies when / Skip when block — so a frontend
skill pointed at a headless API reports N/A and stops instead of producing noise.
Gap check (the inverse — surface with no specialist): for every surface in the inventory that no specialist covers (e.g. a custom binary protocol, a message bus, an IoT/firmware endpoint):
- Flag it explicitly — never let it pass as "covered."
- Fall back to generic
security-code-audit(static) +active-pentest(dynamic) methodology. - Recommend a new specialist for it.
Always emit a coverage report so it's clear what ran, what was skipped and why, and what has no coverage:
Frontend ...... none → client-side-exploitation: N/A (skipped)
API (REST) .... yes → api-security-testing, access-control-testing ✓
Uploads ....... none → file-upload-and-ssrf: N/A (skipped)
gRPC stream ... yes → ⚠ GAP: generic methodology + consider a new specialistOutput of a full run
- A ranked threat model (what matters most)
- A findings register: severity ·
file:line· why exploitable · status - Validated PoCs for high-severity items
- Applied fixes, each with a re-test confirming closure
Common mistakes
- Reading the routing table instead of invoking the skills it routes to → the summaries are
a map, not the territory. Open each door (call the
Skilltool) before doing its work, and mark it ✓ only if you actually invoked it (see "How to run this orchestrator"). - Skipping the threat model → you test random things, miss the crown jewels.
- Auditing without authorization to test the live system → stay in code audit only.
- Finding without fixing/re-testing → a report nobody acts on isn't security.
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.

