Diagram Design
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
Enforce stack padding conventions for Miden Assembly (.masm) procedures based on invocation type (call vs exec).
$ npx skills add 0xMiden/protocol --skill masm-padding -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install 0xMiden/protocol masm-padding --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/0xMiden/protocol.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/masm-padding .claude/skills/masm-padding && rm -rf skills-srcUse ~/.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/
Install the "masm-padding" agent skill from https://github.com/0xMiden/protocol/tree/next/.claude/skills/masm-padding into .claude/skills/masm-padding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "masm-padding", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/0xMiden/protocol/tree/next/.claude/skills/masm-paddingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add 0xMiden/protocol --skill masm-padding -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install 0xMiden/protocol masm-padding --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xMiden/protocol.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/masm-padding .agents/skills/masm-padding && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "masm-padding" agent skill from https://github.com/0xMiden/protocol/tree/next/.claude/skills/masm-padding into .agents/skills/masm-padding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "masm-padding", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 0xMiden/protocol --skill masm-padding -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install 0xMiden/protocol masm-padding --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xMiden/protocol.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/masm-padding .cursor/skills/masm-padding && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "masm-padding" agent skill from https://github.com/0xMiden/protocol/tree/next/.claude/skills/masm-padding into .cursor/skills/masm-padding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "masm-padding", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/0xMiden/protocol.git --path .claude/skills/masm-padding--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add 0xMiden/protocol --skill masm-padding -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install 0xMiden/protocol masm-padding --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xMiden/protocol.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/masm-padding .gemini/skills/masm-padding && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "masm-padding" agent skill from https://github.com/0xMiden/protocol/tree/next/.claude/skills/masm-padding into .gemini/skills/masm-padding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "masm-padding", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install 0xMiden/protocol masm-paddingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add 0xMiden/protocol --skill masm-padding -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/0xMiden/protocol.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/masm-padding .github/skills/masm-padding && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "masm-padding" agent skill from https://github.com/0xMiden/protocol/tree/next/.claude/skills/masm-padding into .github/skills/masm-padding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "masm-padding", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 0xMiden/protocol --skill masm-padding -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install 0xMiden/protocol masm-padding --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xMiden/protocol.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/masm-padding .opencode/skills/masm-padding && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "masm-padding" agent skill from https://github.com/0xMiden/protocol/tree/next/.claude/skills/masm-padding into .opencode/skills/masm-padding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "masm-padding", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
masm-paddingEnforce stack padding conventions for Miden Assembly (.masm) procedures based on invocation type (call vs exec).
Masm Padding is an agent skill from 0xMiden/protocol. Enforce stack padding conventions for Miden Assembly (.masm) procedures based on invocation type (call vs exec). Use when editing, reviewing, or creating .masm procedures, especially those with Invocation annotations.
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Technical documentation. The repository describes itself as: Core components of the Miden protocol. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 474c88e. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are masm).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
PUB_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Masm Padding loads about 1.2k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 484 words of instructions outside code blocks.
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.
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.
The full file from 0xMiden/protocol at commit 474c88e, republished under its MIT licence (© 0xMiden). 484 words, ~1,223 tokens.
.claude/skills/masm-padding/SKILL.md (or your agent's skills folder).Padding requirements differ based on procedure invocation type:
| Invocation | Padding Required | Input/Output Elements |
|---|---|---|
call | Explicit padding in comments | Exactly 16 |
exec | No explicit padding | No requirement |
Miden VM enforces a minimum operand-stack depth of 16 elements (MIN_STACK_DEPTH = 16 in the VM core). When an operation would naively shrink the stack below 16, the VM auto-fills the missing positions with zeros via the overflow-table mechanism. The actual depth stays exactly 16; only the visible content shrinks.
This invariant applies at the entry boundary of:
call procedures,dyncall at depth 16).It does NOT apply to mid-chain exec procedures, which share the caller's stack and can drop the visible count below 16 by consuming caller elements (see Danger Zone).
When the naive math would put the stack below 16, the # => tracker must reflect the actual auto-padded depth, not the naive count.
# entry at depth 16: [VALUE, pad(12)]
dropw
# => [pad(16)] # correct: VALUE replaced with zeros, depth still 16Not:
# => [pad(12)] # wrong: depth is still 16, only the visible content shrankThis shows up most often at the start of note scripts that don't use their input arguments:
@note_script
pub proc main(args: NoteArgs)
dropw
# => [pad(16)]
...
endProcedures invoked with call must have explicit padding in:
#!) for Inputs/Outputs#) showing stack stateUse pad(N) notation where N + other elements = 16:
#! Inputs: [ASSET, pad(12)]
#! Outputs: [pad(16)]
#!
#! Invocation: call
pub proc receive_assetTrack padding through the procedure:
exec.native_account::set_item
# => [OLD_VALUE, pad(12)]
dropw
# => [pad(16)] auto-padded to 16 elements Procedures invoked with exec should NOT have explicit padding:
#! Inputs: [PUB_KEY]
#! Outputs: []
#!
#! Invocation: exec
pub proc authenticate_transactionexec procedures share the caller's stack directly. Explicit padding would be misleading because:
If an exec procedure's stack falls below the specified stack elements, it will consume stack items from its caller, potentially leading to unexpected behavior. This is a bug and should be fixed by ensuring the procedure maintains sufficient stack depth and avoiding dropping more stack elements than available.
# => [num_approvers, threshold]
dropw # dropw drops 4 elements, which will result in "negative" stack consumption (consuming 2 elements from the caller's stack)Inside a procedure, the stack may temporarily exceed 16 elements:
# => [num_approvers, threshold, MULTISIG_CONFIG, pad(12)]
# ^--- 18 elements total, must be reduced before returnThese extra elements must be explicitly dropped before the procedure returns (directly or via called procedures).
Use the event-based procedures in miden::core::debug to inspect VM state. These are ordinary procedure calls: they emit print events whenever invoked, affect the program being executed, and consume cycles (print_stack costs 3 cycles). Remove them from production programs.
use miden::core::debug
begin
exec.debug::print_stack
sdepth push.16 eq assert.err="depth must be 16 here"
endFor all invocation types:
# => trackers reflect the post-auto-pad depth (never below 16) at boundaries that enforce the floor (call, note scripts, tx scripts)miden::core::debug procedure call is left in production MASMFor call procedures:
pad(N)pad(N)# => format with pad(N) notationFor exec procedures:
pad(N) in Inputs/Outputs doc comments© 0xMiden, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/masm-padding of 0xMiden/protocol.
Open the folder on GitHubat commit 474c88e
Masm Padding 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Masm Padding this skill0xMiden/protocol | 133 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Diagram Designcathrynlavery/diagram-design | 45k | 1 repos | ~7.5k | Automated safety check: Pass | MIT | |
| Simple Englishmoeru-ai/airi | 50k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Get API Docs with chubandrewyng/context-hub | 14k | 2 repos | ~775 | Automated safety check: Pass | MIT | |
| Doc SyncJetBrains/ideavim | 10k | 2 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Mailspring App ScreenshotsFoundry376/Mailspring | 18k | — | ~1.5k | Automated safety check: Pass | GPL-3.0 |
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
andrewyng/context-hub
Fetches current documentation for third-party APIs and SDKs with the chub CLI before the agent writes code against them, instead of relying on remembered API shapes.
JetBrains/ideavim
Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.
Foundry376/Mailspring
Captures screenshots of the running Mailspring dev app for docs, PRs or visual checks by launching it with a debugging port, driving the UI and clipping to an element.
Agents365-ai/drawio-skill
Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.
0xMiden/protocol
A skill your agent uses when writing kernel, account, or note MASM code that reads from or writes to the advice provider (advice stack / advice map) — validate advice data.
0xMiden/protocol
A skill your agent uses when writing or reviewing MASM hot paths or loops — prefer the cheaper equivalent: loop counters and pointers on the operand stack instead of procedure locals, neq.0 over…
0xMiden/protocol
Keep CHANGELOG.md entries to a single concise sentence. An agent skill from 0xMiden/protocol.
0xMiden/protocol
Keep PR and issue descriptions short and decision-focused. An agent skill from 0xMiden/protocol.
0xMiden/protocol
A skill your agent uses when naming a conversion or accessor method in Rust — follow the Rust API naming conventions for the method's cost and ownership.
0xMiden/protocol
A skill your agent uses when writing a generic MASM utility that accesses a caller-selected account storage slot — receive the slot as a parameter so the utility is portable across storage layouts.
Categories
Enforce stack padding conventions for Miden Assembly (.masm) procedures based on invocation type (call vs exec). Masm Padding is an agent skill from 0xMiden/protocol.masm) procedures based on invocation type (call vs exec).
Masm Padding fits situations like: creating .masm procedures; especially those with Invocation annotations.
Run `npx skills add 0xMiden/protocol --skill masm-padding -a claude-code`. Or copy the skill folder (.claude/skills/masm-padding in 0xMiden/protocol) into .claude/skills/masm-padding in your project. Claude Code loads it when a task matches its description.
Run `npx skills add 0xMiden/protocol --skill masm-padding -a codex`. Or copy the skill folder (.claude/skills/masm-padding in 0xMiden/protocol) into .agents/skills/masm-padding in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add 0xMiden/protocol --skill masm-padding -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/masm-padding, .gemini/skills/masm-padding, .github/skills/masm-padding and .opencode/skills/masm-padding in your project.
Going by SKILL.md and its folder, Masm Padding needs credentials named PUB_KEY. Our summary lists: A credential in PUB_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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.
Masm Padding is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Masm Padding: Diagram Design (cathrynlavery/diagram-design, 45k stars), Simple English (moeru-ai/airi, 50k stars), Get API Docs with chub (andrewyng/context-hub, 14k stars) and Doc Sync (JetBrains/ideavim, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
0xMiden (a GitHub organization) maintains it in 0xMiden/protocol, which has 133 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 7, 2026.
Source: 0xMiden/protocol on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.