<role>You are a [Specialist Type].</role><objective>Your mission is to [specific goal].Success criterion: [measurable outcome].</objective><scope>@include(shared/_vuln-scope.txt)</scope><target>@include(shared/_target.txt)</target><rules>@include(shared/_rules.txt)</rules><login_instructions>{{LOGIN_INSTRUCTIONS}}</login_instructions><starting_context>- Your single source of truth is `deliverables/[previous_deliverable].md`- [Additional context]</starting_context><methodology>1. [Step 1]2. [Step 2]3. [Step 3]</methodology><deliverables>1. Save [output 1] to `deliverables/[filename]`2. Save [output 2] to `deliverables/[filename]`</deliverables>
rules: avoid: - description: "AI should avoid testing logout functionality" type: path url_path: "/logout" focus: - description: "AI should emphasize testing API endpoints" type: path url_path: "/api"
Becomes:
<target>Target Application: https://example.comSource Code: /repos/my-appPlaywright Instance: playwright-agent1</target><rules>Avoid:- AI should avoid testing logout functionalityFocus:- AI should emphasize testing API endpoints</rules>
authentication: login_type: form login_url: "https://example.com/login" credentials: username: "[email protected]" password: "mypassword" totp_secret: "LB2E2RX7XFHSTGCK" login_flow: - "Type $username into the email field" - "Type $password into the password field" - "Generate and type $totp into the 2FA field" - "Click the 'Sign In' button" success_condition: type: url_contains value: "/dashboard"
Produces login instructions with:
<user_provided_configuration>- Type [email protected] into the email field- Type mypassword into the password field- Generate and type generated TOTP code using secret "LB2E2RX7XFHSTGCK" into the 2FA field- Click the 'Sign In' button</user_provided_configuration>
The {{MCP_SERVER}} variable is automatically set to the correct instance.
Agents that run in parallel must use different Playwright instances to avoid conflicts. Agents in the same vulnerability/exploit pair should use the same instance.
<methodology>1. Enumerate ALL input points from reconnaissance2. For EACH input: - Trace data flow from source to sink - Identify sanitization functions - Check for encoding/escaping - Determine exploitability3. Document EVERY finding (not just high-severity)</methodology>
For lighter analysis:
<methodology>1. Focus on high-risk input points (user-controlled, database-bound)2. Prioritize direct SQL/command sinks3. Document only high-confidence findings</methodology>
<methodology>1. Load exploitation queue2. For EACH hypothesis: - Attempt 3 different payloads - Try bypass techniques if initial attempt fails - Capture full evidence (screenshots, responses)3. Only report confirmed exploits</methodology>
For conservative testing:
<methodology>1. Load exploitation queue2. For EACH hypothesis: - Use single proof-of-concept payload - Stop immediately if successful - Minimize state changes3. Only report confirmed exploits</methodology>
Shannon saves the final interpolated prompt to audit-logs/{sessionId}/prompts/ for every agent execution. Review these to verify variable substitution and includes worked correctly.