skillet
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 18 GitHub stars
Code Pass
- Code scan — Scanned 4 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This tool acts as a wrapper for Claude, allowing users to run AI agent "skills" as local shell scripts. It parses skill files and formats the model's output into clean, readable terminal interfaces.
Security Assessment
Overall Risk: Medium. The tool inherently executes shell commands by acting as an interface for the Claude CLI. The most significant security consideration is its ability to execute remote skills directly from a URL. If a malicious remote source is used, it could easily exfiltrate data or modify local files. The developers acknowledge this risk directly in their documentation. A light code scan found no hardcoded secrets or hidden malicious patterns within the base application itself, and it does not request inherently dangerous OS permissions. The risk scales entirely with the user executing trusted versus untrusted skill files.
Quality Assessment
The project is in active development, with its latest changes pushed today. It uses the highly permissive MIT license and is written in Go. It has a small but appreciable level of community interest with 18 GitHub stars, and basic CI/build pipelines appear to be active. The README is thorough, providing clear installation and usage instructions.
Verdict
Use with caution—the core application is safe and transparent, but users must be highly selective about the external skill files they choose to run.
🍳 Run SKILLs as Shell Scripts. Cook with Claude without the mess.
Claude skills as shell scripts with clean, beautiful output. :chefkiss:
# Runs .claude/skills/<skill-bame> as a command
skillet skill-name
# See all the files, commands, and output.
skillet skill-name --verbose
# Run a remote skill (e.g. the test skill from this repo)
skillet https://raw.githubusercontent.com/martinemde/skillet/refs/heads/main/.claude/skills/test-skill/SKILL.md
So What?
Skillet makes claude scripting simple and beautiful.
I've made many throw-away headless claude scripts. None of them ever work on the first try. They always suck. There's an ugly prompt buried in the middle. It uses the wrong CLI flags, wrong permissions, or just skips permissions entirely. When you get it to run, your feedback is either nothing or an unreadable flood of json.
Skills solve many of these problems by setting allowed tools, model, and more in the frontmatter. Skillet reads and parses skills directly, just like claude. Allowed tools, model, and other frontmatter gets fed to claude with the correct permissions for the skill.
Instead of the unpleasant or absent output, Skillet uses Charm to glam up the markdown hidden in claude's json streams and history logs. Skillet formats claude output beautifully, showing code, commands, and even errors in a sleek minimal interface with controllable verbosity.
Installation
brew install martinemde/tap/skillet
Or download a pre-built release.
Quick start
If you run a skill in claude: /review this commit
You can run it as a shell script: skillet review "this commit"
Cooking with Skillet
# See which skills and commands you can run
skillet --list
# By skill name (looks in all .claude/skills/<skill-name>/SKILL.md paths)
skillet skill-or-command-name
# Run a remote URL
skillet https://raw.githubusercontent.com/user/repo/main/skill.md
[!NOTICE]
Skills are a security risk. Skills can execute commands, exfiltrate data, and modify files. Only use skills from sources you trust.
Convert a Command to a Skill
Commands are deprecated.
Easily convert your existing commands to skills with Skillet:
# Non-destructive (you'll need to clean up the old commands yourself)
skillet command --convert-to-skill
Parse or Review History
- Review past Claude sessions
- Browse conversation history logs in
~/.claude/projects/ - Pipe live Claude output through Skillet's formatter
# Format a saved JSONL file
skillet --parse conversation.jsonl
# Pipe directly from Claude Code
claude -p "explain this code" --verbose --output-format stream-json | skillet --parse
# Read from stdin
cat session.jsonl | skillet --parse
Browsing Claude History
With fzf we can make a simple history browser.
Claude stores conversation logs in ~/.claude/projects/.
# Browse history for current project with live preview
find ~/.claude/projects/$(pwd | tr '/' '-') -name '*.jsonl' | \
fzf --preview 'go run ./cmd/skillet --parse {} --verbose --color=always'
You can brew install fzf if you don't already have it.
Using Task Lists
Start a skill with a pre-existing task list. This is useful when one agent creates tasks for another to complete.
# Run a skill with a specific task list
skillet --task-list=f766aec0-6085-46cb-9810-320278fd08a2 my-skill
# The task list ID is passed via CLAUDE_CODE_TASK_LIST_ID environment variable
# Claude will pick up and work on tasks from that list
This enables workflows where a planning agent creates a task list, then skillet runs a specialized skill to complete those tasks autonomously.
Advanced Shell Scripting
You can use skillet in a bash for loop to run many times in parallal:
for file in transcripts/*.txt; do
skillet summarize-transcript "summarize $file and output to meetings/${file%.txt}.md" &
done
Developing Skillet
Nerd shit (I love you nerds. Let's fry up some eggs or break some shells)
Make contributions:
- All tests pass:
go test ./... - Code follows Go conventions:
go fmt ./... - New features include tests
- Documentation is updated
- Make concise changes
- Make a second and third pass to ensure your change is focused and clean
- Test it manually to make sure it looks good (with human eyes)
Requirements
- Go 1.21 or later
- Claude CLI installed and configured
License
See LICENSE file for details.
References
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found