Skip to main content

0xMiden/protocol

SkillsMP has collected 33 skills from 0xMiden/protocol. Open a skill to review its source and details.

Latest recorded source activity
SkillsMP catalog refreshed
skills collected
33
GitHub stars
132
GitHub forks
165

Skills in this repository

Showing 33 of 33 collected skills.

occupation
unclassified
description

Use when writing kernel, account, or note MASM code that reads from or writes to the advice provider (advice stack / advice map) — validate advice data.

updated
occupation
unclassified
description

Keep PR and issue descriptions short and decision-focused. Use when writing or editing a pull request body or a GitHub issue.

updated
occupation
Software Developers
description

Keep CHANGELOG.md entries to a single concise sentence. Use when adding or editing entries in CHANGELOG.md.

updated
occupation
Software Developers
description

Use 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 `gt.0` for non-zero checks, `cdrop` over an `if/else` selecting between two…

updated
occupation
Software Developers
description

Use when a MASM procedure needs temporary scratch storage — keep it in procedure-local memory so it cannot collide in a shared global region.

updated
occupation
Software Developers
description

Enforce type-signature conventions for public Miden Assembly (.masm) procedures. Use when adding, editing, or reviewing a `pub proc` signature — parameter and return types, semantic type aliases, struct/array/tuple types, and how the signature maps onto the…

updated
occupation
Software Developers
description

Enforce inline commenting conventions for Miden Assembly (.masm) files. Use when editing, reviewing, or creating .masm files.

updated
occupation
Software Developers
description

Enforce doc comment conventions for Miden Assembly (.masm) procedures. Use when editing, reviewing, or creating .masm procedures, especially when documenting inputs, outputs, panic conditions, or invocation types.

updated
occupation
Software Quality Assurance Analysts & Testers
description

Use when writing a Rust test that exercises a failure path or a MASM test that expects a `panic` / `assert` — assert on the specific expected error variant or error code.

updated
occupation
Software Developers
description

Use when writing Rust arithmetic on amounts or other quantities derived from external/user input — guard against silent overflow.

updated
occupation
Software Developers
description

Use when naming a conversion or accessor method in Rust — follow the Rust API naming conventions for the method's cost and ownership.

updated
occupation
Software Developers
description

Use when writing a MASM procedure inside a reusable account component that accesses account storage — receive the storage slot as a parameter so the component is portable across storage layouts.

updated
occupation
Software Developers
description

Use when introducing API parameters, struct fields, or return types that carry a domain value — represent them with a domain newtype that enforces their invariants.

updated
occupation
Software Developers
description

Use when constructing a `Felt` from a numeric value in Rust — avoid silently truncating values that may exceed the field modulus.

updated
occupation
Software Developers
description

Use when writing or editing a Rust doc comment that references a type, method, or module — link the reference so renames are caught by rustdoc.

updated
occupation
Software Developers
description

Use when writing or editing a Rust error message, panic/assert string, or MASM `ERR_*` constant — follow the Rust convention for error-message casing and punctuation.

updated
occupation
Software Developers
description

Use when adding or editing MASM `assert*` / `panic` instructions — give every assertion a descriptive named error code.

updated
occupation
Software Developers
description

Use when defining the interface for a new MASM procedure — keep its inputs explicit on the stack so the signature reflects what it consumes.

updated
occupation
Software Developers
description

Use when writing or editing MASM or Rust code that contains meaningful numeric literals — promote them to named constants with a single source of truth.

updated
occupation
Software Developers
description

Use when changing a numeric or string constant in Rust or MASM that has a counterpart on the other side — keep the two definitions from drifting apart.

updated
occupation
Software Developers
description

Use when defining a public `enum` or `struct` in a library crate that may gain variants or fields later — keep future additions from being breaking changes.

updated
occupation
Software Quality Assurance Analysts & Testers
description

Use when writing two or more tests that differ only by inputs or expected outputs — collapse the duplication into parameterized cases.

updated
occupation
Software Developers
description

Use when defining a new error variant or wrapping a lower-level error — keep the underlying error's source chain intact.

updated
occupation
Software Developers
description

Use when adding a public struct or changing a field's visibility in a Rust library crate — keep fields encapsulated so the layout can evolve without breaking callers.

updated
occupation
Software Developers
description

Use when writing a public Rust API, a deserialization path, or any code reachable from untrusted input — surface recoverable failures as a `Result`.

updated
occupation
Software Developers
description

Use when writing MASM `u32*` instructions on values from user input or untrusted sources — ensure the operands are valid u32s first.

updated
occupation
Software Developers
description

Use when introducing a Rust type whose constructor takes more than ~3 optional or named parameters — give it a generated builder instead of hand-written boilerplate.

updated
occupation
Software Quality Assurance Analysts & Testers
description

Use when a Rust or MASM test needs to construct an account, note, transaction, or other domain object — build it with the existing test fixtures.

updated
occupation
Software Developers
description

Use when writing or reviewing a Rust constructor, `try_new`, or builder `build` — centralize validation so every instance is valid by construction.

updated
occupation
Software Developers
description

Use when adding or modifying a dependency in a crate's `Cargo.toml` that is or may become shared by multiple workspace crates — keep its version defined in one place.

updated
occupation
Software Developers
description

Enforce constant definition and organization conventions for Miden Assembly (.masm) files. Use when editing, reviewing, or creating .masm files that define or use constants.

updated
occupation
Software Developers
description

Enforce file structure and section ordering for Miden Assembly (.masm) files. Use when editing, reviewing, or creating .masm files.

updated
occupation
Software Developers
description

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.

updated
Showing 33 of 33 collected skills.