agentsclimarketplace

Import not found python

Skill viditkbhatnagar/immunize/src/immunize/patterns/import-not-found-python

Use when writing Python imports to verify the module and symbol exist at the claimed path before committing the line.From its SKILL.md

Install
npx -y skills add viditkbhatnagar/immunize --skill import-not-found-python

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 1 command, including `pip show <module>`.

SKILL.md

1.9 KB, 415 tokens by cl100k_base, as published. Nobody here has run it

import-not-found-python

Before writing from X import Y, verify the module exists at that exact path and the symbol is exported. When AI drafts Python code from memory, it often invents plausible-sounding module names or guesses wrong sub-paths, and the first call explodes:

ModuleNotFoundError: No module named '_ghost_utils'
ImportError: cannot import name 'slugify' from 'myapp.utils'

Example

Wrong — module does not exist; lazy-imported inside a helper:

def make_slug(title: str) -> str:
    from _ghost_utils import slugify
    return slugify(title)

Right — use a real import. Stdlib often suffices:

import re

def make_slug(title: str) -> str:
    return re.sub(r"[^a-z0-9]+", "-", title.lower()).strip("-")

How to verify before committing

  • Check the module if it is third-party: pip show <module>.
  • Check the symbol is exported: read the module's __init__.py or __all__, or grep the source for def <symbol>.
  • Prefer explicit package paths (from myapp.utils.text import slugify) over guessable short names (from utils import slugify) — shorter paths collide across projects and invite hallucination.
  • If the symbol is genuinely internal, re-export it deliberately through __init__.py rather than reaching into implementation modules.

Don't paper over with try/except

try:
    from _ghost_utils import slugify
except ImportError:
    slugify = lambda s: s  # silent fallback — hides the typo forever

A silent fallback turns a crash at startup into a broken behavior at runtime. If the dependency is genuinely optional, raise a clear ConfigError naming what to install; never fall back to a stub that looks like success.

What ships with it: 5 files

4.9 KB alongside SKILL.md, 3 of them executable

fixtures/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.