Create/Modify MIP Proposal

VerifiedCaution

This skill assists in creating or updating a Maker Improvement Proposal (MIP) by handling boilerplate code, chain-specific address configuration, and naming conventions. It enforces correctness by requiring compilation and test verification before committing. Helpful for developers working on MIP-related smart contract changes.

Sby Skills Guide Bot
DevelopmentIntermediate
2/28/2026
Claude CodeCursorCodex
#solidity#foundry#governance#smart-contracts#defi

Recommended for

Automated summary

Walks through creating or modifying a MIP (Moonwell Improvement Proposal) in a Foundry repository, enforcing naming conventions, per-chain address configuration, and build/test verification.

Strengths

  • Refuses to proceed on the main branch, forcing a dedicated working branch before any edits
  • Forbids hardcoded addresses: values must be loaded from the target chain's config files
  • Verifies every change with forge build followed by a targeted forge test on the proposal contract
  • Requires showing duration math explicitly and printing a diff summary before committing, keeping a human in the loop

Limitations

  • Assumes an existing repository layout (src/proposals/, chain configs, installed Foundry) and does not provide it
  • Specific to the MIP/Moonwell workflow: not applicable to other proposal formats or smart contract frameworks
  • Covers only compilation and targeted tests, with no security review or audit step
When to use it

Use it when drafting or adapting a MIP proposal contract in an existing Foundry repo where addresses come from chain config and changes must be validated by build and tests.

When not to use it

Avoid it for contract work outside proposals, for repos without Foundry, or when no working branch other than main is available.

Security analysis

Caution
Quality score78/100

The skill uses normal development tooling for a legitimate smart-contract workflow. Since it asks an agent to run shell commands and a build/test toolchain, it has some execution risk, but all commands are scoped to repository branch checking, file listing, compilation, and tests.

Findings
  • •Instructs executing shell commands (`git branch`, `ls`, `forge build`, `forge test`) in the repository, including running Solidity tests which can execute repo code. No destructive, exfiltration, or obfuscated actions are present.
How this analysis is made

Examples

Create a new MIP
Create MIP-42 for the Base chain. Use the existing MIP naming convention in src/proposals/, load the addresses from the Base chain config, then run forge build and forge test --match-contract MIP42 and show me the diff before committing.
Modify an existing proposal
Update the existing MIP-31 proposal to change the collateral factor, keeping storage variables initialized from the chain config addresses, and show the duration calculation math explicitly before running the tests.
Check proposal preconditions
I'm about to edit a MIP contract — first confirm the current git branch is not main, show me the existing proposal naming pattern, and point out which chain config file holds the addresses I need.

Create/Modify MIP Proposal

Steps

  1. Ask user for: MIP number, target chain, reference proposal (if any)
  2. Run git branch --show-current — refuse to proceed if on main
  3. Check existing MIP naming pattern: ls src/proposals/
  4. Load chain addresses from config files (never hardcode addresses)
  5. After code changes, run forge build to verify compilation
  6. Run forge test --match-contract <MIPName> to verify tests pass
  7. Show diff summary before committing

Rules

  • Storage variables in build() must be initialized from chain config addresses
  • Duration calculations: always show math explicitly for user verification
  • Follow existing naming convention exactly

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/create-modify-mip-proposal-mm5t899s/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/create-modify-mip-proposal-mm5t899s' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/create-modify-mip-proposal-mm5t899s/download' --output '.skill-downloads/create-modify-mip-proposal-mm5t899s/SKILL.md.part' && mv '.skill-downloads/create-modify-mip-proposal-mm5t899s/SKILL.md.part' '.skill-downloads/create-modify-mip-proposal-mm5t899s/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/create-modify-mip-proposal-mm5t899s/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills