Agent skill

Create Mre

by Nuitka in Nuitka/Nuitka

Create or reduce a Minimally Reproducible Example (MRE) for a Nuitka bug from a larger reproducer.

AGPL-3.0Auto-check passed

Install Create Mre

skills CLI
$ npx skills add Nuitka/Nuitka --skill create-mre -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Nuitka/Nuitka create-mre --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Nuitka/Nuitka.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/create-mre .claude/skills/create-mre && rm -rf skills-src

Use ~/.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/

Facts

Skill name
create-mre
GitHub stars
15k
Token cost
~1.7k tokens
SKILL.md length
860 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Create or reduce a Minimally Reproducible Example (MRE) for a Nuitka bug from a larger reproducer.

  • Works in 5 steps: Setup and Verification → Analysis → Iterative Reduction Loop → …
  • The user asks to isolate
  • SKILL.md covers 1. Setup and Verification, 2. Analysis, 3. Iterative Reduction Loop and 4. Final Polish, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Create Mre is an agent skill from Nuitka/Nuitka. Create or reduce a Minimally Reproducible Example (MRE) for a Nuitka bug from a larger reproducer. Use when the user asks to isolate, minimize, or shrink Python code while preserving a compiler, optimization, or packaging issue.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Python. The repository describes itself as: Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4-3.14. You feed it your Python app, it does a lot of clever things, and spits out an… The licence is AGPL-3.0.

When your agent uses it

  • The user asks to isolate
  • Shrink Python code while preserving a compiler
  • Packaging issue

Example prompts

  • “/create-mre”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Setup and Verification
  2. Analysis
  3. Iterative Reduction Loop
  4. Final Polish
  5. Report

What it can do on your machine

Read from SKILL.md and the folder at commit 30b5b77. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Create Mre loads about 1.7k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 860 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from Nuitka/Nuitka at commit 30b5b77, republished under its AGPL-3.0 licence (© Nuitka). 860 words, ~1,709 tokens.

Download SKILL.mdSave it as .claude/skills/create-mre/SKILL.md (or your agent's skills folder).
name
create-mre
description
Create or reduce a Minimally Reproducible Example (MRE) for a Nuitka bug from a larger reproducer. Use when the user asks to isolate, minimize, or shrink Python code while preserving a compiler, optimization, or packaging issue.

MRE Extraction Workflow

This workflow guides the process of reducing a source file to its absolute minimum while preserving a specific bug (e.g., a compiler crash).

1. Setup and Verification

  • Identify the target file to reduce. If this file is deep inside an installed library (e.g., in site-packages), copy it to tests/scratch/ (e.g. tests/scratch/MRE.py) to avoid accidentally corrupting your Python environment during the destructive reduction process and to keep temporary reduction artifacts out of the repository root.
  • Identify the specific command that triggers the issue if possible.
  • For macOS issues that may depend on Python distribution or CI packaging, establish the Python flavor matrix before reducing. Follow .agents/skills/reproduce-macos-python-flavors/SKILL.md.
  • Augment the reproduction command so it always writes --report=tests/scratch/compilation-report.xml. If the command already uses --report=..., redirect it to this path. Keep the rest of the invocation as close as possible to the original failure as you can.
  • Define the reproduction oracle before reducing. For crash bugs, this can be the same exception type, the same failing statement location, or the same relevant <exception> entry in tests/scratch/compilation-report.xml. For non-crash bugs, this should be a specific preserved signal such as an output line, warning text, optimization message, exit code, or diff against expected output. The oracle does not need to be byte-for-byte identical output; it needs to reliably indicate that the same bug is still present. For example, an extra-pass bug may use Module(s) '__main__' necessitate pass 3 as the oracle.
  • Run the reproduction command to confirm the issue. If the crash occurs during a massive standalone build, it's highly recommended to pipe the output to a file (> tests/scratch/out.txt 2>&1) to easily search for the crash location while also inspecting tests/scratch/compilation-report.xml.
Handling Standalone Optimization Crashes

If the crash happens during optimization in standalone mode (often a Python traceback below nuitka/optimizations):

  1. Check the output or tests/scratch/out.txt for lines starting with Problem with statement at ..., or inspect the <exception> tag in tests/scratch/compilation-report.xml.
  2. Identify the filename involved.
  3. Copy that file to tests/scratch/ (e.g. cp /path/to/ProblematicFile.py tests/scratch/MRE.py).
  4. Run Nuitka in module mode on that copied file (e.g., bin/nuitka --mode=module --generate-c-only --report=tests/scratch/compilation-report.xml tests/scratch/MRE.py). Preserve the original failing invocation as closely as possible while reducing, while keeping the report output in tests/scratch/. Note: Use --generate-c-only to skip the C compilation phase, which is unnecessary if the crash occurs during Nuitka's optimization (Python) phase. This significantly speeds up the reduction cycle.
  5. If the oracle still matches, specific reduction in module mode as described below is the best path forward.

2. Analysis

  • Read the target file.
  • Identify the core components suspected to be involved in the bug (e.g., specific imports like ctypes, specific Python constructs like classes or conditionals).
Show full SKILL.md (418 more words)Show less

3. Iterative Reduction Loop

Repeat this process until the file is minimal:

  1. Propose a reduction: Select a block of code to remove or simplify.
    • Strategy 1: Remove unused imports and helper functions.
    • Strategy 2: Mock external dependencies (e.g., replace import other_package with a dummy class/function) to allow removing the dependency.
    • Strategy 3: Simplify control flow (replace if complex_condition: with if True: or removing the branch entirely if possible, replace complex objects with simple ones).
    • Strategy 4: Rename long functions/variables to single letters (e.g., original_name -> f) once context is lost.
    • Strategy 5: For optimization issues, prioritize reducing the number of functions and methods. This is often crucial for isolating issues that occur during inter-procedural optimization or complex scope analysis.
    • Strategy 6: Remove default arguments from functions. This simplifies the function signature and can help isolate issues related to default value evaluation or parameter handling.
    • Strategy 7: Structural and Scoping Mutations. When dealing with compiler/optimization crashes, the bug is sometimes tied to the shape of the AST or variable scoping. Test subtle structural changes:
      • Replace attribute lookups in decorators (e.g., @module.decorator) with direct names (@decorator).
      • Remove or simplify locals() or globals() updates.
      • Simplify variable capturing in lambda functions, especially inside list/dict comprehensions.
      • Replace generator expressions with equivalent for loops to see if the implicit function scope is the trigger.
    • Consider Simplification: Don't assume the entire block must be removed.
      • Replace complex expressions with constants/literals.
      • Replace variable usage with direct values.
      • Replace function bodies with pass or a simple valid statement.
    • Avoid Confounding Variables: Ensure you are changing only one thing at a time. (e.g., don't remove an import and a global assignment in one step).
  2. Apply the change.
  3. Run the reproduction command and re-check the same reproduction oracle.
  4. Evaluate result:
    • If the oracle still matches: Great! The removed code was irrelevant.

    • If the oracle no longer matches, disappears, or becomes ambiguous: The removed code was relevant. IMMEDIATELY REVERT the change to the scratch copy only. Never reset unrelated repository changes.

    • Validation:

      • Maximize Reduction: Even if you think a construct (like a function or loop) is needed, try to remove it or flatten it to verify.
      • Renaming: Always rename functions, variables, and classes to single short letters (e.g., f, x, C) to remove semantic meaning and ensure no special string-based handling is at play.

4. Final Polish

  • Ensure the code is self-contained (no external requirements beyond standard library if possible).
  • Format clean.
  • Verify one last time.

5. Report

  • Present the final MRE code block to the user.

© Nuitka, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/create-mre of Nuitka/Nuitka.

Open the folder on GitHubat commit 30b5b77

Compare with similar skills

Create Mre 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.

Create Mre compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Mre this skillNuitka/Nuitka15k—~1.7kAutomated safety check: PassAGPL-3.0
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
PDF Processinganthropics/skills180k48 repos~2kAutomated safety check: PassProprietary
NotebookLM Research AssistantPleasePrompto/notebooklm-skill7.8k14 repos~2.4kAutomated safety check: NotesMIT
Manim Video Productionbrowser-use/video-use28k6 repos~3kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 48 repos~2k tokens
    Documents & OfficeAuto-check passed
  • NotebookLM Research Assistant

    PleasePrompto/notebooklm-skill

    Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.

    7.8k GitHub starsUsed in 14 repos~2.4k tokens
    Knowledge ManagementAuto-check: notes
  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    28k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • PPT Master

    hugohe3/ppt-master

    Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.

    58k GitHub starsUsed in 1 repo~2.5k tokens
    Documents & OfficeAuto-check passed

More from Nuitka/Nuitka

  • Diagnose and fix ModuleNotFoundError in Nuitka standalone binaries caused by missing implicit imports.

    15k GitHub stars~519 tokensUpdated today
    Auto-check passed
  • Reproduce macOS Nuitka issues across Python distributions and GitHub Actions Python packaging.

    15k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Setup PR Branch

    Nuitka/Nuitka

    Set up a local branch that tracks a fork PR and can be pushed back to it, without fetching the whole fork.

    15k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Create a Nuitka planning document under .planning/ from the standard template.

    15k GitHub stars~468 tokensUpdated today
    Auto-check passed
  • Obs Build Logs

    Nuitka/Nuitka

    Access and diagnose openSUSE Build Service (OBS) package build logs.

    15k GitHub stars~849 tokensUpdated today
    Auto-check passed

Works with

Questions about Create Mre

What does Create Mre do?

Create or reduce a Minimally Reproducible Example (MRE) for a Nuitka bug from a larger reproducer. Create Mre is an agent skill from Nuitka/Nuitka. Create or reduce a Minimally Reproducible Example (MRE) for a Nuitka bug from a larger reproducer.

When should I use Create Mre?

Create Mre fits situations like: the user asks to isolate; shrink Python code while preserving a compiler; packaging issue.

How do I install Create Mre in Claude Code?

Run `npx skills add Nuitka/Nuitka --skill create-mre -a claude-code`. Or copy the skill folder (.agents/skills/create-mre in Nuitka/Nuitka) into .claude/skills/create-mre in your project. Claude Code loads it when a task matches its description.

How do I install Create Mre in Codex?

Run `npx skills add Nuitka/Nuitka --skill create-mre -a codex`. Or copy the skill folder (.agents/skills/create-mre in Nuitka/Nuitka) into .agents/skills/create-mre in your project. Codex loads it when a task matches its description.

Can I use Create Mre in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Nuitka/Nuitka --skill create-mre -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-mre, .gemini/skills/create-mre, .github/skills/create-mre and .opencode/skills/create-mre in your project.

What does Create Mre need to run?

SKILL.md names no scripts, command-line tools or credentials: Create Mre is instructions for the agent only. Our summary lists: Python 3.

Does Create Mre access the network?

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.

Is Create Mre safe to install?

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.

What licence does Create Mre use?

Create Mre is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Create Mre use?

About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Create Mre?

Skills that share tags, products or a category with Create Mre: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Mre?

Nuitka (a GitHub organization) maintains it in Nuitka/Nuitka, which has 15,181 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 8, 2026.

Source: Nuitka/Nuitka on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.