Skip to main content
You can extend Strix’s capabilities by creating custom skills that provide specialized knowledge for your specific testing scenarios. This guide shows you how to structure, write, and contribute skills.

Skill Anatomy

A skill is a Markdown file that contains:
  1. YAML frontmatter with metadata
  2. Structured content with testing knowledge
  3. Practical examples and techniques
  4. Validation guidance for confirming findings

Basic Structure

What Makes a Good Skill?

Effective skills include:

Advanced Techniques

Focus on non-obvious methods specific to the domain:
  • Modern exploitation variants
  • Framework-specific patterns
  • Bypass techniques for common defenses
  • Context-dependent edge cases
Good example (from SQL injection skill):

Practical Examples

Provide working payloads and test cases: Good example (from XSS skill):

Validation Methods

Explain how to confirm findings and avoid false positives: Good example (from IDOR skill):

Context-Specific Insights

Include environment nuances and configuration details: Good example (from FastAPI skill):

File Organization

Skills are organized by category in the strix/skills/ directory:

Naming Conventions

  • File names: Use snake_case.md (e.g., sql_injection.md, firebase_firestore.md)
  • Skill names in frontmatter: Use kebab-case (e.g., sql-injection, firebase-firestore)
  • Titles: Use proper capitalization (e.g., “SQL Injection”, “Firebase / Firestore”)

Frontmatter Requirements

Every skill must include YAML frontmatter:
Guidelines:
  • name: kebab-case identifier matching the intended usage
  • description: One concise sentence (ideally under 100 characters) describing what the skill covers
Examples:

Writing Style

Active Voice

Use direct, actionable language:
  • Good: “Verify routes enforce authorization at the service layer”
  • Avoid: “Authorization should be enforced by routes”

Second Person

Write as if instructing the agent directly:
  • Good: “Start with context classification, not payload brute force”
  • Avoid: “One should start with context classification”

Concise and Dense

Pack maximum information into minimum space:
  • Use bullet points for lists
  • Avoid filler words
  • Prefer specific examples over general statements

Technical Precision

Be specific about:
  • Version-specific behavior
  • Platform-dependent techniques
  • Configuration requirements
  • Exact syntax and payloads

Example: Creating a Technology Skill

Let’s create a skill for testing Auth0 applications:

Rules and Actions Bypass

Vulnerabilities
  • Rules disabled or failing silently
  • Action execution order bypassed
  • Context manipulation via client metadata
  • Asynchronous execution gaps
Tests
  • Test flows with rules disabled vs enabled
  • Attempt to bypass enrichment by using alternate flows
  • Manipulate user.user_metadata and user.app_metadata if writable

Testing Methodology

  1. Enumerate tenant - Identify Auth0 domain, client IDs, connections
  2. Capture tokens - Collect tokens for multiple roles and flows
  3. Verify claims - Check iss, aud, azp, custom claims
  4. Test isolation - Attempt cross-tenant, cross-API token use
  5. Probe extensibility - Test rules/actions/hooks for bypass or abuse

Validation

  1. Show token from Tenant A accepted by Tenant B’s API
  2. Demonstrate bypass of rule/action enforcement
  3. Prove privilege escalation via custom claim manipulation
  4. Confirm cross-API audience validation failures

Pro Tips

  1. Auth0 tenants are isolated by issuer—verify apps check iss claim
  2. Test both Management API and user-facing APIs for token validation
  3. Rules run in order—test if early failures allow bypass of later checks
  4. Custom database scripts have access to user context—test for injection
  5. MFA can be bypassed if not enforced in rules/actions for all flows

Contributing Skills

To contribute a skill:
  1. Fork the repository at github.com/usestrix/strix
  2. Create your skill in the appropriate category directory
  3. Test the skill by loading it in Strix
  4. Submit a pull request with:
    • Clear description of what the skill covers
    • Examples of when to use it
    • Any dependencies or requirements

Pull Request Checklist

  • Skill file is in the correct category directory
  • Frontmatter includes name and description
  • Content follows the recommended structure
  • Examples are practical and tested
  • Writing style is active voice, second person
  • Technical details are accurate and current
  • No sensitive information or credentials included

Skill Categories

Choose the appropriate category:
  • vulnerabilities/ - Core vulnerability classes (SQLi, XSS, IDOR, etc.)
  • frameworks/ - Web frameworks (FastAPI, Next.js, Django, Express, etc.)
  • technologies/ - Third-party services (Supabase, Firebase, Auth0, Stripe, etc.)
  • protocols/ - Communication protocols (GraphQL, WebSocket, gRPC, etc.)
  • cloud/ - Cloud providers (AWS, Azure, GCP, Kubernetes, etc.)
  • reconnaissance/ - Information gathering techniques
  • custom/ - Specialized or industry-specific skills

Best Practices

Focus on Depth

Skills should provide specialized knowledge that goes beyond general security testing:
  • Include framework/technology-specific techniques
  • Cover modern variants and bypass methods
  • Provide context-dependent insights
  • Address common misconfigurations

Provide Actionable Guidance

Agents need clear, executable instructions:
  • Step-by-step testing methodologies
  • Concrete validation criteria
  • Specific tools and commands
  • Clear success/failure indicators

Stay Current

Keep skills updated with:
  • Latest framework/technology versions
  • New exploitation techniques
  • Updated defense mechanisms
  • Current best practices

Avoid Duplication

Before creating a skill:
  • Check if similar skills exist
  • Consider enhancing existing skills
  • Focus on unique knowledge and techniques

Getting Help

If you need assistance creating a skill:
  • Review existing skills in the same category
  • Ask questions in GitHub Discussions
  • Open an issue describing the skill you want to create
  • Join the community for feedback and guidance
Skills are a key part of Strix’s extensibility. Well-crafted skills significantly enhance agent capabilities and benefit the entire community.