Agent skill

Symbolic Execution Assistant

by ArabelaTso in ArabelaTso/Skills-4-SE

Performs symbolic execution to detect potential errors by exploring execution paths, solving path constraints, and generating test inputs.

Apache-2.0Auto-check passedTesting & QA

Install Symbolic Execution Assistant

skills CLI
$ npx skills add ArabelaTso/Skills-4-SE --skill symbolic-execution-assistant -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ArabelaTso/Skills-4-SE symbolic-execution-assistant --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/symbolic-execution-assistant .claude/skills/symbolic-execution-assistant && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
symbolic-execution-assistant
GitHub stars
253
Token cost
~3.5k tokens
SKILL.md length
671 words
Files
4 (incl. references)
Skills in repo
170
Repo updated
First seen
Licence
Apache-2.0

At a glance

Performs symbolic execution to detect potential errors by exploring execution paths, solving path constraints, and generating test inputs.

  • Works in 7 steps: Identify the Function to Analyze → Set Up Symbolic Variables → Execute Symbolically and Build Path Tree → …
  • You need to analyze code for bugs like null dereferences
  • SKILL.md covers What is Symbolic Execution?, Workflow, Symbolic Execution Tools and Handling Path Explosion, plus 3 more sections
  • Calls pip

What it does

Symbolic Execution Assistant is an agent skill from ArabelaTso/Skills-4-SE. Performs symbolic execution to detect potential errors by exploring execution paths, solving path constraints, and generating test inputs. Use when you need to analyze code for bugs like null dereferences, division by zero, buffer overflows, or assertion violations. Also use to generate test inputs that exercise different code paths, find edge cases, or explore all reachable program states. Supports Python, Java, and C/C++ through manual symbolic execution techniques and integration with tools like KLEE, angr…

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/constraint_solving.md`, `references/path_exploration.md` and `references/tool_integration.md`).

It sits in Testing & QA, covering Test generation. It works with Java, Python and C++. The repository describes itself as: A curated list of 180+ useful Claude Skills for Software Engineering and resources for customizing AI for SE workflows. The licence is Apache-2.0.

When your agent uses it

  • You need to analyze code for bugs like null dereferences
  • Division by zero
  • Buffer overflows
  • Assertion violations

Example prompts

  • “Use the symbolic-execution-assistant skill to perform symbolic execution to detect potential errors by exploring execution paths, solving path…”
  • “/symbolic-execution-assistant”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Identify the Function to Analyze
  2. Set Up Symbolic Variables
  3. Execute Symbolically and Build Path Tree
  4. Identify Error Conditions
  5. Solve Constraints for Test Inputs
  6. Generate Test Cases
  7. Report Findings

What it can do on your machine

Read from SKILL.md and the folder at commit 4f38503. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Symbolic Execution Assistant loads about 3.5k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 143 tokens; SKILL.md has 671 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~143
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ArabelaTso/Skills-4-SE at commit 4f38503, republished under its Apache-2.0 licence (© ArabelaTso). 671 words, ~3,455 tokens.

Download SKILL.mdSave it as .claude/skills/symbolic-execution-assistant/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
symbolic-execution-assistant
description
Performs symbolic execution to detect potential errors by exploring execution paths, solving path constraints, and generating test inputs. Use when you need to analyze code for bugs like null dereferences, division by zero, buffer overflows, or assertion violations. Also use to generate test inputs that exercise different code paths, find edge cases, or explore all reachable program states. Supports Python, Java, and C/C++ through manual symbolic execution techniques and integration with tools like KLEE, angr, Z3, and Symbolic PathFinder.

Symbolic Execution Assistant

Perform symbolic execution analysis to detect errors and generate test inputs by exploring program paths with symbolic variables.

What is Symbolic Execution?

Symbolic execution executes code with symbolic values (representing any possible value) instead of concrete values. This allows exploring multiple execution paths simultaneously and detecting errors that might only occur with specific inputs.

Key Concepts:

  • Symbolic variables: Variables with unknown values (e.g., α, β instead of 5, 10)
  • Path constraints: Conditions accumulated along each execution path
  • Path explosion: Number of paths grows exponentially with branches
  • Constraint solver: Tool (like Z3) that finds concrete values satisfying constraints

Workflow

Step 1: Identify the Function to Analyze

Select the function and determine what to analyze for.

Questions to ask:

  • What bugs might this function have? (null refs, div by zero, overflows, assertions)
  • What inputs could trigger errors?
  • Which execution paths are critical?
  • Are there complex conditionals that need exploration?

Example:

python
def calculate_discount(price, customer_type):
    """Calculate discount based on customer type."""
    if customer_type == "premium":
        discount = price * 0.2
    elif customer_type == "regular":
        discount = price * 0.1
    else:
        discount = 0

    final_price = price - discount
    return final_price

Analysis goals:

  • Explore all three branches (premium, regular, other)
  • Check for potential arithmetic errors
  • Generate test inputs for each path
Step 2: Set Up Symbolic Variables

Replace concrete inputs with symbolic variables.

Manual Symbolic Execution:

Input: price = α (symbolic), customer_type = β (symbolic)
Initial constraints: α ∈ ℝ, β ∈ String
Initial state: { price: α, customer_type: β }

Using Python with Z3:

python
from z3 import *

# Create symbolic variables
price = Real('price')
customer_type = String('customer_type')

# Create solver
solver = Solver()

Using Java with Symbolic PathFinder (SPF):

java
// Annotate symbolic inputs
public static void calculate_discount(double price, String customer_type) {
    // SPF will make these symbolic via configuration
}

Using C with KLEE:

c
#include <klee/klee.h>

int main() {
    float price;
    char customer_type[20];

    klee_make_symbolic(&price, sizeof(price), "price");
    klee_make_symbolic(customer_type, sizeof(customer_type), "customer_type");

    calculate_discount(price, customer_type);
    return 0;
}
Step 3: Execute Symbolically and Build Path Tree

Trace through code, tracking constraints for each branch.

Manual Execution Example:

State 0: { price: α, customer_type: β }
Path constraint: (none)

Branch 1: customer_type == "premium"
  State 1a: { discount: α * 0.2, final_price: α - (α * 0.2) }
  Path constraint: β = "premium"

Branch 2: customer_type == "regular"
  State 1b: { discount: α * 0.1, final_price: α - (α * 0.1) }
  Path constraint: β ≠ "premium" ∧ β = "regular"

Branch 3: else
  State 1c: { discount: 0, final_price: α }
  Path constraint: β ≠ "premium" ∧ β ≠ "regular"

Path Tree Visualization:

                    [Initial State]
                     price = α
                  customer_type = β
                         |
        +----------------+----------------+
        |                |                |
  β = "premium"    β = "regular"      else
        |                |                |
  discount=α*0.2   discount=α*0.1    discount=0
  Path 1           Path 2            Path 3

For detailed path tree construction techniques, see references/path_exploration.md.

Step 4: Identify Error Conditions

Look for states where errors could occur.

Common Error Patterns:

Error TypeCheck ForExample Constraint
Division by zerodenominator == 0x / y where y = 0
Null dereferencevariable == nullobj.method() where obj = null
Buffer overflowindex >= array.lengtharr[i] where i ≥ len(arr)
Assertion violationassertion condition falseassert x > 0 where x ≤ 0
Integer overflowresult > MAX_INTa + b > 2³¹-1
Negative array indexindex < 0arr[i] where i < 0

Example with Division by Zero:

python
def safe_divide(a, b):
    if b != 0:
        return a / b
    else:
        return None

Symbolic execution:

State 0: { a: α, b: β }

Branch 1: b != 0
  Path constraint: β ≠ 0
  Result: α / β (safe)

Branch 2: b == 0
  Path constraint: β = 0
  Result: None (safe)

ERROR CHECK: Division by zero?
  Constraint: β = 0 AND execution reaches "a / b"
  Result: NO (the if-check prevents it)

Example with Null Dereference:

java
public int getLength(String str) {
    if (str != null) {
        return str.length();
    }
    return 0;
}

Symbolic execution:

State 0: { str: α }

Branch 1: str != null
  Path constraint: α ≠ null
  Result: α.length() (safe)

Branch 2: str == null
  Path constraint: α = null
  Result: 0 (safe)

ERROR CHECK: Null dereference?
  Constraint: α = null AND execution reaches str.length()
  Result: NO (protected by null check)
Step 5: Solve Constraints for Test Inputs

Use constraint solver to find concrete values that exercise each path or trigger errors.

Manual Constraint Solving:

For simple constraints, solve manually:

Path 1 constraint: β = "premium"
Solution: price = 100, customer_type = "premium"

Path 2 constraint: β ≠ "premium" ∧ β = "regular"
Solution: price = 100, customer_type = "regular"

Path 3 constraint: β ≠ "premium" ∧ β ≠ "regular"
Solution: price = 100, customer_type = "guest"

Using Z3 Solver (Python):

python
from z3 import *

# Define symbolic variables
price = Real('price')
customer_type = String('customer_type')

# Solve for Path 1: premium customer
solver = Solver()
solver.add(customer_type == StringVal("premium"))
solver.add(price > 0)  # Add reasonable constraints

if solver.check() == sat:
    model = solver.model()
    print(f"Test input for Path 1: price={model[price]}, customer_type={model[customer_type]}")

# Solve for Path 2: regular customer
solver2 = Solver()
solver2.add(customer_type == StringVal("regular"))
solver2.add(price > 0)

if solver2.check() == sat:
    model = solver2.model()
    print(f"Test input for Path 2: price={model[price]}, customer_type={model[customer_type]}")

Using Z3 for Error Detection:

python
# Check for division by zero
a = Int('a')
b = Int('b')

solver = Solver()
solver.add(b == 0)  # Error condition: divisor is zero
solver.add(a > 0)   # Additional context

if solver.check() == sat:
    model = solver.model()
    print(f"ERROR: Division by zero possible with a={model[a]}, b={model[b]}")

For comprehensive constraint solving techniques, see references/constraint_solving.md.

Step 6: Generate Test Cases

Convert solved constraints into executable test cases.

Test Case Template:

python
import pytest

class TestCalculateDiscount:
    # Path 1: Premium customer
    def test_premium_customer(self):
        """Test premium customer path."""
        # Generated from constraint: customer_type = "premium"
        result = calculate_discount(100, "premium")
        assert result == 80  # 100 - 20% discount

    # Path 2: Regular customer
    def test_regular_customer(self):
        """Test regular customer path."""
        # Generated from constraint: customer_type = "regular"
        result = calculate_discount(100, "regular")
        assert result == 90  # 100 - 10% discount

    # Path 3: Other customer type
    def test_other_customer(self):
        """Test other customer type path."""
        # Generated from constraint: customer_type ∉ {"premium", "regular"}
        result = calculate_discount(100, "guest")
        assert result == 100  # No discount

Java Test Cases:

java
import org.junit.Test;
import static org.junit.Assert.*;

public class TestCalculateDiscount {
    @Test
    public void testPremiumCustomer() {
        // Path 1: Premium customer
        double result = calculateDiscount(100.0, "premium");
        assertEquals(80.0, result, 0.01);
    }

    @Test
    public void testRegularCustomer() {
        // Path 2: Regular customer
        double result = calculateDiscount(100.0, "regular");
        assertEquals(90.0, result, 0.01);
    }

    @Test
    public void testOtherCustomer() {
        // Path 3: Other customer
        double result = calculateDiscount(100.0, "guest");
        assertEquals(100.0, result, 0.01);
    }
}
Step 7: Report Findings

Document discovered paths, errors, and generated tests.

Report Template:

markdown
# Symbolic Execution Report: calculate_discount

## Function Analyzed
`calculate_discount(price, customer_type)`

## Paths Discovered
- **Path 1**: Premium customer (customer_type = "premium")
  - Constraint: β = "premium"
  - Behavior: 20% discount applied
  - Test input: price=100, customer_type="premium"

- **Path 2**: Regular customer (customer_type = "regular")
  - Constraint: β ≠ "premium" ∧ β = "regular"
  - Behavior: 10% discount applied
  - Test input: price=100, customer_type="regular"

- **Path 3**: Other customer types
  - Constraint: β ∉ {"premium", "regular"}
  - Behavior: No discount
  - Test input: price=100, customer_type="guest"

## Errors Detected
None. All paths are safe.

## Generated Test Cases
3 test cases generated (see test_calculate_discount.py)

## Coverage
- Branch coverage: 100% (all 3 branches)
- Path coverage: 100% (all 3 paths)

## Recommendations
- Consider validating customer_type against known values
- Add explicit error handling for negative prices

Symbolic Execution Tools

Python Tools

Z3 Theorem Prover:

bash
pip install z3-solver

angr (Binary Analysis Framework):

bash
pip install angr

Crosshair (Symbolic Testing):

bash
pip install crosshair-tool
Java Tools

Symbolic PathFinder (SPF):

  • Extension of Java PathFinder
  • Symbolic execution for Java bytecode
  • Configuration via .jpf files

JDart:

  • Dynamic symbolic execution for Java
  • Integrates with DART framework
Show full SKILL.md (296 more words)Show less
C/C++ Tools

KLEE:

bash
# Uses LLVM bitcode
clang -emit-llvm -c program.c -o program.bc
klee program.bc

Symbolic Execution Engine (SEE):

  • Symbolic execution for C programs
  • Built on top of LLVM

For detailed tool setup and usage, see references/tool_integration.md.

Handling Path Explosion

Path explosion occurs when the number of paths grows exponentially.

Mitigation Strategies:

  1. Bounded Execution: Limit search depth

    python
    # Limit loop iterations
    for i in range(min(len(array), 10)):  # Max 10 iterations
        process(array[i])
  2. Path Pruning: Eliminate infeasible paths early

    python
    if not is_feasible(path_constraint):
        prune_path()
  3. State Merging: Combine similar states

    python
    # Merge states with same program counter
    if state1.pc == state2.pc:
        merged_state = merge(state1, state2)
  4. Selective Exploration: Focus on critical paths

    python
    # Prioritize paths with error conditions
    if contains_error_check(path):
        explore_first(path)
  5. Concolic Execution: Mix concrete and symbolic execution

    python
    # Start with concrete value, switch to symbolic when needed
    x = 5  # Concrete initially
    if complex_condition(x):
        x = make_symbolic(x)  # Switch to symbolic

Tips

  1. Start small: Analyze simple functions before complex ones
  2. Focus on critical code: Prioritize security-sensitive or error-prone code
  3. Use tools when possible: Manual symbolic execution is labor-intensive
  4. Set time limits: Path explosion can make analysis impractical
  5. Combine techniques: Use both manual analysis and automated tools
  6. Validate generated tests: Ensure tests actually run and make sense
  7. Document assumptions: Note any simplifications or constraints

Common Use Cases

1. Bug Detection

  • Find null pointer dereferences
  • Detect division by zero
  • Identify buffer overflows
  • Catch assertion violations

2. Test Generation

  • Generate inputs for full path coverage
  • Create edge case tests
  • Produce regression test suites

3. Security Analysis

  • Find exploitable vulnerabilities
  • Detect integer overflows
  • Identify injection points

4. Equivalence Checking

  • Verify refactored code behaves identically
  • Check optimization correctness

References

For detailed information on specific topics:

© ArabelaTso, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/symbolic-execution-assistant of ArabelaTso/Skills-4-SE.

  • SKILL.md
  • references/constraint_solving.md
  • references/path_exploration.md
  • references/tool_integration.md

Open the folder on GitHubat commit 4f38503

Compare with similar skills

Symbolic Execution Assistant next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Symbolic Execution Assistant compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Symbolic Execution Assistant this skillArabelaTso/Skills-4-SE253—~3.5kAutomated safety check: PassApache-2.0
Crap Analyzerswingerman/engineer154—~1.2kAutomated safety check: PassMIT
Approval Testing Toolkitlexler/skill-factory239—~1.2kAutomated safety check: PassApache-2.0
TDD GuideLeoYeAI/openclaw-master-skills2.2k—~1.4kAutomated safety check: PassMIT
Polyglot Test Agentboshi-xixixi/TraeSkill276—~1.7kAutomated safety check: PassMIT
Fory Version Bumpapache/fory4.6k—~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • Crap Analyzer

    swingerman/engineer

    A skill your agent uses to produce a risk-based refactor + test plan for recently-changed code on a diff/branch/PR by computing CRAP (complexity × untested) on changed methods.

    154 GitHub stars~1.2k tokensUpdated 17 days ago
    Testing & QAAuto-check passed
  • Approval Testing Toolkit

    lexler/skill-factory

    Writes snapshot-style approval tests in Python, JavaScript, TypeScript or Java, comparing output against an approved file instead of writing individual assertions.

    239 GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • TDD Guide

    LeoYeAI/openclaw-master-skills

    Test-driven development skill for writing unit tests, generating test fixtures and mocks, analyzing coverage gaps, and guiding red-green-refactor workflows across Jest, Pytest, JUnit, Vitest, and…

    2.2k GitHub stars~1.4k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Polyglot Test Agent

    boshi-xixixi/TraeSkill

    Generates comprehensive, workable unit tests for any programming language using a multi-agent pipeline.

    276 GitHub stars~1.7k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Bump Apache Fory release or post-release development versions across Java, Kotlin, Scala, Python, Rust, Go, C++, C, Dart, JavaScript, Swift, integration tests, examples, and source docs.

    4.6k GitHub stars~1.1k tokensUpdated today
    MobileAuto-check passed
  • CodeQL Security Scan

    trailofbits/skills

    Official

    Scans a codebase for vulnerabilities with CodeQL's data flow and taint tracking in run-all or important-only modes, including data extensions for project-specific sources and sinks.

    7.5k GitHub stars~4.6k tokensUpdated today
    SecurityAuto-check: notes

More from ArabelaTso/Skills-4-SE

All 170 skills in this repo
  • Framework Migration Assistant

    ArabelaTso/Skills-4-SE

    Automatically migrate Python web applications between frameworks (Flask → FastAPI, Django → FastAPI).

    253 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Metamorphic Test Generator

    ArabelaTso/Skills-4-SE

    Generate test cases using metamorphic testing by applying transformations based on metamorphic properties.

    253 GitHub stars~798 tokensUpdated 1 mo ago
    Auto-check passed
  • Reproduction Trace Instrumenter

    ArabelaTso/Skills-4-SE

    Instruments programs to capture execution traces specifically for reproducing reported bugs, enabling consistent replay and diagnosis of failures.

    253 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Spring Mvc To Boot Migrator

    ArabelaTso/Skills-4-SE

    Automatically migrate Spring MVC applications to Spring Boot.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • State Snapshot Instrumenter

    ArabelaTso/Skills-4-SE

    Instrument programs (Python, C/C++, Java) to capture snapshots of key program states at runtime, including variables, memory, and call stacks.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Symbolic Execution Assistant

What does Symbolic Execution Assistant do?

Performs symbolic execution to detect potential errors by exploring execution paths, solving path constraints, and generating test inputs. Symbolic Execution Assistant is an agent skill from ArabelaTso/Skills-4-SE. Performs symbolic execution to detect potential errors by exploring execution paths, solving path constraints, and generating test inputs.

When should I use Symbolic Execution Assistant?

Symbolic Execution Assistant fits situations like: you need to analyze code for bugs like null dereferences; division by zero; buffer overflows; assertion violations.

How do I install Symbolic Execution Assistant in Claude Code?

Run `npx skills add ArabelaTso/Skills-4-SE --skill symbolic-execution-assistant -a claude-code`. Or copy the skill folder (skills/symbolic-execution-assistant in ArabelaTso/Skills-4-SE) into .claude/skills/symbolic-execution-assistant in your project. Claude Code loads it when a task matches its description.

How do I install Symbolic Execution Assistant in Codex?

Run `npx skills add ArabelaTso/Skills-4-SE --skill symbolic-execution-assistant -a codex`. Or copy the skill folder (skills/symbolic-execution-assistant in ArabelaTso/Skills-4-SE) into .agents/skills/symbolic-execution-assistant in your project. Codex loads it when a task matches its description.

Can I use Symbolic Execution Assistant in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ArabelaTso/Skills-4-SE --skill symbolic-execution-assistant -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/symbolic-execution-assistant, .gemini/skills/symbolic-execution-assistant, .github/skills/symbolic-execution-assistant and .opencode/skills/symbolic-execution-assistant in your project.

What does Symbolic Execution Assistant need to run?

Going by SKILL.md and its folder, Symbolic Execution Assistant needs the command-line tools its instructions call (pip). Our summary lists: Python 3.

Does Symbolic Execution Assistant access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Symbolic Execution Assistant safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Symbolic Execution Assistant use?

Symbolic Execution Assistant is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Symbolic Execution Assistant use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.7k tokens, read only when the agent opens those files.

What are the alternatives to Symbolic Execution Assistant?

Skills that share tags, products or a category with Symbolic Execution Assistant: Crap Analyzer (swingerman/engineer, 154 stars), Approval Testing Toolkit (lexler/skill-factory, 239 stars), TDD Guide (LeoYeAI/openclaw-master-skills, 2.2k stars) and Polyglot Test Agent (boshi-xixixi/TraeSkill, 276 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Symbolic Execution Assistant?

ArabelaTso (a GitHub user) maintains it in ArabelaTso/Skills-4-SE, which has 253 GitHub stars. The repository holds 170 skills in this directory. The repository was last updated on August 21, 2026.

Source: ArabelaTso/Skills-4-SE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.