my-skill

A security-testing playbook for checking whether user input is inserted into server-side templates. Server-side templates generate web pages on the server before sending them to a browser.

In plain words
What is it for?
Use it to test suspected server-side template injection in authorized applications, identify engines such as Jinja2 or Twig, and report evidence, impact, and remediation.
Why use it?
It provides a structured way to identify the template engine and verify whether input can be evaluated as code. This helps establish the real impact and document a reproducible finding.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/pentesterflow/agent/_template
Any agent
npx skills add PentesterFlow/agent --skill _template
Clone the repo
git clone --depth 1 https://github.com/PentesterFlow/agent

Made for: Claude Code, Codex.

Per session 84 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 302 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00084 $0.00302
Opus 5 $0.00042 $0.00151
Sonnet 5 $0.00017 $0.00060
Haiku 4.5 $0.00008 $0.00030

Measured yesterday against content hash 665c7454dcc5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

my-skill scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

Concrete, copy-pasteable commands. Default to curl + the `http` tool; only
skills/_template/SKILL.md · 41 lines

What it actually says

my-skill playbook

State the goal in one or two sentences — what the operator is trying to achieve — and the scope rules (authorized targets only).

1. First step

Concrete, copy-pasteable commands. Default to curl + the http tool; only reach for specialised scanners when the user asks.

curl -ksS "https://TARGET/..."

Reference bundled files (e.g. a wordlist under payloads/) with read_payloads(skill="my-skill", file="list.txt"), or shell scripts via the ${SKILL_DIR} placeholder:

${SKILL_DIR}/scripts/check.sh https://TARGET

2. Next step

...

Reporting

What proves the bug, the concrete impact in one sentence, and remediation. When you have a reproduced finding with a real request/response, call confirm_finding.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 41 lines · 84 tokens per session scan A 665c7454dcc5

Subscribe to this mod's changes

my-skill is a skill published in the GitHub repository PentesterFlow/agent (1,316 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 84 tokens to every session and 302 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.