semgrep-rule-variant-creator

by trailofbits 6.6k CC-BY-SA-4.0 Updated Aug 18, 2026
semgrep-rule-variant-creator skill by trailofbits
semgrep-rule-variant-creator — Testing skill by trailofbits

semgrep-rule-variant-creator is an open-source testing skill for Claude Code and compatible agents, published by trailofbits. Its author describes it as: “Creates language variants of existing Semgrep rules. Use when porting a Semgrep rule to specified target languages. Takes an existing rule and target languages as input, produces independent rule+test directories for…”. The project has 6.6k stars on GitHub and is available under the CC-BY-SA-4.0 license. Add it to your setup with `/plugin marketplace add trailofbits/skills`.

What semgrep-rule-variant-creator does

Port an existing Semgrep rule to other languages, one independent test-driven cycle per language.

Installation

Add semgrep-rule-variant-creator to your agent with:

/plugin marketplace add trailofbits/skills

Always review a skill's source before installing it. This command comes from the skill's public repository; the linked repo is the source of truth for exact setup steps.

What's inside

The SKILL.md for semgrep-rule-variant-creator is organised into these sections:

  • Run it as a workflow
  • The four phases
  • Output
  • Scope and reporting
  • Rationalizations to Reject
  • Quick Reference
  • Documentation

When to use it

Reach for semgrep-rule-variant-creator when you want testing help from your agent without writing the same instructions every session. Load the skill and the agent picks it up automatically for relevant tasks.

Strengths

  • Clear CC-BY-SA-4.0 license — safe to read and adapt
  • Ships in trailofbits/skills, an established project with 6,646 GitHub stars
  • Actively maintained (recent commits)

Topics

agent-skills

Frequently asked questions

What does semgrep-rule-variant-creator do?
Creates language variants of existing Semgrep rules. Use when porting a Semgrep rule to specified target languages. Takes an existing rule and target languages as input, produces independent rule+test directories for each language.
How do I install semgrep-rule-variant-creator?
Run /plugin marketplace add trailofbits/skills in your agent, then reload your skills. Review the source at https://github.com/trailofbits/skills before installing.
Is semgrep-rule-variant-creator free to use?
Yes. semgrep-rule-variant-creator is free and open source under the CC-BY-SA-4.0 license, so you can read, run, and adapt it within that license's terms.
Where does semgrep-rule-variant-creator come from?
semgrep-rule-variant-creator ships inside trailofbits/skills, a repository that contains 41 catalogued skills in total. The repository's 6,646 GitHub stars apply to that whole collection, not to this skill on its own.

Related skills

More Testing →

Systematic code maturity assessment using Trail of Bits' 9-category framework. Analyzes codebase for arithmetic safety, auditing practices, access controls, complexity, decentralization, documentation, MEV risks, low-level code, and testing. Produces professional scorecard with evidence-based ratings and actionable recommendations.

6.6k trailofbits CC-BY-SA-4.0

Performs security-focused differential review of code changes (PRs, commits, diffs). Adapts analysis depth to codebase size, uses git history for context, calculates blast radius, checks test coverage, and generates comprehensive markdown reports. Automatically detects and prevents security regressions.

6.6k trailofbits CC-BY-SA-4.0

Configures mewt or muton mutation testing campaigns — scopes targets, tunes timeouts, and optimizes long-running runs. Use when the user mentions mewt, muton, mutation testing, or wants to configure or optimize a mutation testing campaign.

6.6k trailofbits CC-BY-SA-4.0

Writes, reviews, and debugs property-based tests — Hypothesis, fast-check, proptest, jqwik, rapid, and Echidna or Medusa for Solidity invariants. Use whenever tests should cover a whole input domain instead of a hand-picked list of examples: encode/decode and serialize/deserialize pairs, parsers, canonicalizers and normalizers, validators, numeric and Decimal types, comparators and sort order, data structures, and smart-contract state invariants. Also use when adding cases to an existing @given, fast-check, or proptest suite, when judging whether existing property tests assert anything real, and when a generator has shrunk a counterexample and you need to tell a wrong property from a genuine bug. Not for coverage-guided binary fuzzing (libFuzzer, AFL), mutation-testing campaigns, static analysis, benchmarking, or end-to-end UI tests.

6.6k trailofbits CC-BY-SA-4.0

Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures.

5.8k antfu MIT