Use when applying binary templates (.bt), running 010 Editor scripts (.1sc), or performing hex editing with SweetScape 010 Editor. Supports command-line batch processing of binary files with templates and scripts.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agent-skills-toolchain:010-editorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
SweetScape 010 Editor is a professional hex editor with a powerful Binary Template system for parsing structured binary data, and a C-like scripting language for automated binary manipulation. Use it for binary format reverse engineering, template-driven parsing, and batch hex editing.
SweetScape 010 Editor is a professional hex editor with a powerful Binary Template system for parsing structured binary data, and a C-like scripting language for automated binary manipulation. Use it for binary format reverse engineering, template-driven parsing, and batch hex editing.
010Editor.exe is in PATH or at C:\Program Files\010 Editor\010Editor.exe.010Editor.exe <file>.-script flag with a .1sc script.-noui mode with scripts..bt) to define structures and scripts (.1sc) for automation.| Command | Purpose |
|---|---|
010Editor.exe <file> | Open file in GUI |
010Editor.exe -script:<script.1sc> <file> | Run script on file |
010Editor.exe -template:<template.bt> <file> | Apply template to file |
010Editor.exe -noui -script:<script.1sc> <file> | Headless script execution |
010Editor.exe -compare:<file1> <file2> | Compare two files |
010Editor.exe -import:<format> <file> | Import hex/text data |
Binary Templates define how to parse structured binary data:
typedef struct {
char magic[4];
uint32 version;
uint32 fileSize;
uint32 numEntries;
} HEADER;
typedef struct {
uint16 id;
uint16 type;
uint32 offset;
uint32 length;
} ENTRY;
HEADER header;
ENTRY entries[header.numEntries];
Key differences from C:
uchar, char, uint16, int16, uint32, int32, uint64, int64, float, double, stringBigEndian(); / LittleEndian(); to switchFSeek(), FTell(), FRead(), FWrite() for file navigationPrintf() for output in scriptsSetBackColor(cLtGreen); before struct declarationScripts automate binary operations:
// Example: Extract all entries to separate files
local int i;
local HEADER h;
ReadBytes(h, 0, sizeof(HEADER));
for (i = 0; i < h.numEntries; i++) {
local ENTRY e;
ReadBytes(e, sizeof(HEADER) + i * sizeof(ENTRY), sizeof(ENTRY));
local int outFile = FileNew();
local uchar buf[e.length];
FileSelect(0);
ReadBytes(buf, e.offset, e.length);
FileSelect(outFile);
WriteBytes(buf, 0, e.length);
FileSave(SPrintf("entry_%04d.bin", i));
FileClose();
}
010 Editor has a built-in template repository accessible via:
https://www.sweetscape.com/010editor/repository/templates/Categories include: Archives, Audio, CAD, Database, Drives, Executables, Game files, Images, etc.
LittleEndian() or BigEndian() at the top of templates for non-native byte order.local keyword for script variables but not for template-only variables.FileSelect() when working with multiple open files in scripts.FSeek() to jump to specific offsets..bt templates for game formats discovered via Ghidra/IDA RE.| Function | Purpose |
|---|---|
FSeek(pos) | Seek to position |
FTell() | Get current position |
FileSize() | Get file size |
ReadByte(pos) | Read byte at position |
ReadInt(pos) | Read 32-bit int at position |
ReadString(pos) | Read null-terminated string |
WriteByte(pos, val) | Write byte |
Memcpy(dest, src, size) | Memory copy |
SPrintf(fmt, ...) | Format string |
Printf(fmt, ...) | Print to output |
FileNew() | Create new file |
FileOpen(name) | Open existing file |
FileSave(name) | Save current file |
FileClose() | Close current file |
FileSelect(index) | Switch active file |
npx claudepluginhub prekzursil/agent-skills-toolchain --plugin agent-skills-toolchainGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.