code-runner
Run code snippets in 30+ programming languages including JavaScript, Python, TypeScript, Java, C, C++, Go, Rust, Ruby, PHP, and more. Use when the user wants to execute code, test algorithms, verify output, run scripts, or check code behavior. Supports both interpreted and compiled languages.
$ 설치
git clone https://github.com/formulahendry/agent-skill-code-runner /tmp/agent-skill-code-runner && cp -r /tmp/agent-skill-code-runner/.github/skills/code-runner ~/.claude/skills/agent-skill-code-runner// tip: Run this command in your terminal to install the skill
name: code-runner description: Run code snippets in 30+ programming languages including JavaScript, Python, TypeScript, Java, C, C++, Go, Rust, Ruby, PHP, and more. Use when the user wants to execute code, test algorithms, verify output, run scripts, or check code behavior. Supports both interpreted and compiled languages.
Code Runner Skill
This skill enables you to run code snippets in multiple programming languages directly from the command line.
When to Use This Skill
Use this skill when:
- The user wants to run or execute a code snippet
- Testing algorithm implementations or logic
- Verifying expected output of code
- Running quick scripts or one-liners
- Checking syntax or runtime behavior
- Demonstrating code functionality
Supported Languages
The following languages are supported (requires the interpreter/compiler to be installed):
| Language | Command | File Extension |
|---|---|---|
| JavaScript | node | .js |
| TypeScript | ts-node | .ts |
| Python | python | .py |
| Java | java (compile & run) | .java |
| C | gcc (compile & run) | .c |
| C++ | g++ (compile & run) | .cpp |
| Go | go run | .go |
| Rust | rustc (compile & run) | .rs |
| Ruby | ruby | .rb |
| PHP | php | .php |
| Perl | perl | .pl |
| Lua | lua | .lua |
| R | Rscript | .r |
| Swift | swift | .swift |
| Kotlin | kotlin | .kts |
| Scala | scala | .scala |
| Groovy | groovy | .groovy |
| Dart | dart | .dart |
| Julia | julia | .jl |
| Haskell | runhaskell | .hs |
| Clojure | clojure | .clj |
| F# | dotnet fsi | .fsx |
| C# | dotnet script | .csx |
| PowerShell | pwsh | .ps1 |
| Bash | bash | .sh |
| Batch | cmd /c | .bat |
| CoffeeScript | coffee | .coffee |
| Crystal | crystal | .cr |
| Elixir | elixir | .exs |
| Nim | nim compile --run | .nim |
| OCaml | ocaml | .ml |
| Racket | racket | .rkt |
| Scheme | scheme | .scm |
| Lisp | sbcl --script | .lisp |
See references/LANGUAGES.md for detailed language configuration.
How to Run Code
Step 1: Identify the Language
Determine the programming language from:
- User's explicit request (e.g., "run this Python code")
- File extension if provided
- Code syntax patterns
Step 2: Execute Using the Runner Script
⚠️ Important for AI Agents: Use stdin to avoid escaping issues with quotes, backslashes, and special characters.
Recommended Method (stdin):
echo "<code>" | node scripts/run-code.cjs <languageId>
Alternative Method (CLI argument - for simple code only):
node scripts/run-code.cjs <languageId> "<code>"
Example - JavaScript:
echo "console.log('Hello, World!')" | node scripts/run-code.cjs javascript
Example - Python:
echo "print('Hello, World!')" | node scripts/run-code.cjs python
Example - Java (multi-line):
echo "public class Test {
public static void main(String[] args) {
System.out.println(\"Hello from Java!\");
}
}" | node scripts/run-code.cjs java
Example - Multi-line code from variable:
# In bash
CODE='import math
print("Pi:", math.pi)
print("Result:", math.factorial(5))'
echo "$CODE" | node scripts/run-code.cjs python
# In PowerShell (inline here-string)
@"
import math
print("Pi:", math.pi)
print("Result:", math.factorial(5))
"@ | node scripts/run-code.cjs python
Step 3: Return Results
- Show the output (stdout) to the user
- If there are errors (stderr), explain what went wrong
- Suggest fixes for common errors
Platform Notes
Windows
- Use
cmd /cfor batch scripts - PowerShell scripts require
pwshorpowershell - Path separators use backslash
\
macOS / Linux
- Bash scripts work natively
- Swift available on macOS
- Use
#!/usr/bin/envshebang for portable scripts
Error Handling
Common issues and solutions:
-
Command not found: The language interpreter is not installed or not in PATH
- Suggest installing the required runtime
- Provide installation instructions
-
Syntax errors: Code has syntax issues
- Show the error message
- Point to the line number if available
-
Runtime errors: Code runs but fails during execution
- Display the stack trace
- Explain the error type
-
Timeout: Code takes too long (default: 30 seconds)
- Warn about infinite loops
- Suggest optimizations
Security Considerations
⚠️ Important: Running arbitrary code can be dangerous. Always:
- Review the code before execution
- Be cautious with code that:
- Accesses the file system
- Makes network requests
- Executes system commands
- Modifies environment variables
- Consider running in a sandboxed environment for untrusted code
Examples
Example 1: Run a JavaScript calculation
echo "console.log(Array.from({length: 10}, (_, i) => i * i))" | node scripts/run-code.cjs javascript
Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Example 2: Run Python with imports
echo "import math; print(math.factorial(10))" | node scripts/run-code.cjs python
Output: 3628800
Example 3: Test a Go function
echo 'package main; import "fmt"; func main() { fmt.Println("Hello from Go!") }' | node scripts/run-code.cjs go
Output: Hello from Go!
Repository
