Skip to content
Agentmart
Submit a tool

skill-converter

Convert a Claude-style skill into a macher-agent compatible skill.

Skill by elij

IndexedGPL-3.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/elij-skill-converter

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Convert a Claude-style skill into a macher-agent compatible skill. Translates instructions, extracts bundled scripts into Emacs Lisp tools, and updates the frontmatter format.

Use cases: agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/skill-converter

What's inside

Skill name
skill-converter
Description
Convert a Claude-style skill into a macher-agent compatible skill. Translates instructions, extracts bundled scripts into Emacs Lisp tools, and updates the frontmatter format.
License
GPL-3.0
Instructions
67 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • allowed-tools: must be a space-separated string

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Skill Converter

Your objective is to convert an existing Claude-style skill into a macher-agent compatible skill.

## Differences between Claude and macher-agent skills

1. **Frontmatter:**
   - Claude uses `name` and `description`.
   - macher-agent uses `name`, `description`, `allowed-tools` (a YAML list of tool names the skill has access to), and optionally `model` (to specify the LLM to use, e.g., `model: claude-3-5-sonnet-20241022`).

2. **Tools and Scripts:**
   - Claude skills often bundle standalone Python or bash scripts in a `scripts/` directory and instruct the model to run them via shell commands.
   - macher-agent provides tools as Emacs Lisp files in `skills/scripts/<tool_name>.el` or as built-in emacs tools. The orchestrator maps the names in `allowed-tools` to these ELisp functions. To convert scripts, you must rewrite the Claude bash/python scripts into `.el` scripts.
   - Use `macher-agent-make-tool` for tools that need access to the file system (this macro automatically syncs the agent's virtual edits into a physical sandbox before executing shell commands). Use `gptel-make-tool` for pure Emacs operations.

### Tool Creation Examples

#### File System Tool (`macher-agent-make-tool`)
For tools executing shell scripts against the workspace, use `macher-agent-make-tool`. It supports `:command-fn`, `:output-filter`, and `:success-fn`:

```elisp
(macher-agent-make-tool macher-agent-cargo-test-tool
  "Run 'cargo test' to test the project."
  :category "rust"
  :args nil
  :command-fn (lambda (_payload)
                (make-macher-agent-process-response
                 :payload "rtk cargo test </dev/null 2>&1"))
  :success-fn (lambda (output)
                (concat "SUCCESS: The tests ran perfectly with no errors.\n\n=== TEST OUTPUT ===\n" output)))
```

#### Pure Emacs Tool
For tools interacting with Emacs buffers directly without running shell commands on the physical filesystem:

```elisp
(macher-agent-make-tool macher-agent-get-current-datetime-tool
  "Fetch the current system date and time. Use this when you need to know the current date, time, or day of the week to answer a time-sensitive query."
  :category "system"
  :args nil
  :command-fn (lambda (_payload)
                (make-macher-agent-lisp-result-response
                 :payload (format-time-string "%A, %d %B %Y, %T %Z"))))
```

3. **Execution Model:**
   - Claude skills often just augment a general conversation.
   - macher-agent skills are explicitly loaded as presets or spawned as distinct sub-agents (e.g., `macher-agent-plan` spawning `macher-agent-worker` via `spawn_subagent`).

## Conversion Workflow

1. **Analyse the Claude Skill:**
   - Read the Claude `SKILL.md`. Extract its core role, workflow, and instructions.
   - Identify any bundled scripts it relies on.

2. **Translate Scripts to Tools:**
   - If the Claude skill has bundled scripts, rewrite them as standalone Emacs Lisp tools using the macher-agent script format (e.g., `(macher-agent-make-tool :name ... :command-fn ...)` for shell scripts, or `gptel-make-tool` for pure Emacs operations).
   - Save these tools in the `skills/scripts/` directory.

3. **Draft the macher-agent SKILL.md:**
   - Create a YAML frontmatter block with `name`, `description`, and `allowed-tools` containing the new tools and any standard workspace tools needed (like `read_file_in_workspace`, `write_buffer_in_workspace`).
   - Rewrite the body instructions. Remove references to running Python scripts or shell commands. Instead, instruct the agent to call the specific `allowed-tools` you provided.
   - Ensure the instructions dictate a clear role, critical directives, and a structured execution workflow.

4. **Output:**
   - Place the converted `SKILL.md` in `skills/<new-skill-name>/SKILL.md`.

From elij/macher-agent-skills, GPL-3.0.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 10, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
GPL-3.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from elij

Cite this page

skill-converter. Agent Mart. https://agentmart.dev/skills/elij-skill-converter (last updated 2026-10-24)