guardian-multisig-proposal-lifecycle

Implements and validates multisig proposal lifecycle changes across Rust and TypeScript SDKs.

Updated Aug 20, 2026
One-click install
npx skills add https://github.com/hduoc2003/leviathan-guardian --skill guardian-multisig-proposal-lifecycle-hduoc2003
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: guardian-multisig-proposal-lifecycle
Source: https://github.com/hduoc2003/leviathan-guardian/tree/main/.agents/skills/guardian-multisig-proposal-lifecycle
Command: npx skills add https://github.com/hduoc2003/leviathan-guardian --skill guardian-multisig-proposal-lifecycle-hduoc2003

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Multisig proposal changes in the Guardian repository span two SDK stacks (Rust and TypeScript) plus multiple example harnesses, so editing one stage in isolation risks breaking lifecycle invariants like threshold counting, offline signing, and export/import stability. ## Core Features & Use Cases - Cross-stack lifecycle guidance: Classifies work by proposal stage (creation, parsing, signing, readiness, execution, export/import, sync) and points to the exact Rust and TypeScript files for each stage. - Invariant guardrails: Enforces rules such as stable proposal identifiers across export/import, explicit online-to-offline fallback, fail-fast handling of malformed signatures, and special treatment of SwitchGuardian flows. - Validation workflow: Provides targeted test commands (cargo test, npm test, smoke harnesses) and a workflow matrix reference for deciding what else must be checked when one stage changes. - Use Case: When adding a new signature scheme to the multisig SDK, use this Skill to update both the Rust and TypeScript signing paths, verify threshold logic, and run the demo and smoke-web example surfaces. ## Quick Start Use the guardian-multisig-proposal-lifecycle skill to update proposal signing logic in both the Rust and TypeScript multisig SDKs and validate the change with the demo and smoke-web examples.

Frequently Asked Questions about guardian-multisig-proposal-lifecycle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I change multisig proposal signing logic in the Guardian SDK?▼

Classify the change as the signing stage, then inspect crates/miden-multisig-client/src/client/proposals.rs and packages/miden-multisig-client/src/multisig/signing.ts together. Preserve non-cosigner and already-signed rejection, and run cargo test -p miden-multisig-client plus the TypeScript npm tests.

How do I keep Rust and TypeScript multisig SDKs in sync?▼

Inspect both implementations for the same lifecycle stage before editing, and never change one stack without confirming whether the other must move. Use references/workflow-matrix.md as the checklist for parity in status mapping, proposal types, and threshold logic.

Does the multisig SDK support offline signing and proposal export/import?▼

Yes, offline signing lives in crates/miden-multisig-client/src/client/offline.rs and export in src/export.rs, with TypeScript offline helpers in packages/miden-multisig-client. Proposal identifiers and imported signatures must remain stable across export and import.

What tests should I run after changing proposal execution logic?▼

Start with cargo test -p miden-multisig-client and npm test in packages/miden-multisig-client. Expand to guardian-client tests, guardian-demo, smoke-web typecheck and build, and the Rust and TypeScript multisig smoke tests when the change crosses client boundaries.

When should SwitchGuardian flows be treated differently from normal proposals?▼

SwitchGuardian is a distinct execution path requiring special handling in execution.rs and the TypeScript execution module. Do not generalize offline execution claims beyond what the current code supports, and verify guardian ack inclusion and post-execution sync behavior.