Install
$ agentstack add skill-viditkbhatnagar-immunize-import-not-found-python ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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 'ghostutils' 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. - Check the symbol is exported: read the module's
__init__.pyor
__all__, or grep the source for def .
- 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.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: viditkbhatnagar
- Source: viditkbhatnagar/immunize
- License: Apache-2.0
- Homepage: https://pypi.org/project/immunize/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.