Install
$ agentstack add skill-owenlamont-agent-skills-python-libraries ✓ 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 Used
- ✓ 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
Python Libraries
Prefer well-supported libraries (and the standard library) over hand-rolled code — it is less to maintain and less to get wrong than reinventing a solved problem.
Don't reinvent the wheel
- Don't hand-roll retry or backoff loops — use
stamina(it wrapstenacitywith sane
defaults: capped attempts, jitter, and retrying only the exceptions you name). Set a timeout and exclude non-retryable errors, such as a 4xx that won't change on retry.
- Don't reimplement what
itertools(stdlib) ormore-itertoolsalready provide
(grouping, chaining, windowing, accumulating) — reach for them instead. See python-code-style for the broader "prefer stdlib idioms" rule.
- Don't parse HTML or XML with regex — use
parsel(XPath and CSS selectors).
HTTP
- Use an HTTP client with async support — this rules out
requestsandurllib. - Match the async client the repo already uses rather than introducing a second one, and
don't add another HTTP client as a (dev) dependency without a concrete reason.
- Set an explicit timeout on outbound requests; a single client-level default is fine,
but never rely on the library default, which is often None (waits forever).
JSON
- Use
orjsonover the standard libraryjsonfor serialising and deserialising — it is
faster and better-behaved.
- When a Pydantic model is involved, go straight to and from JSON bytes with
Model.model_validate_json(raw) and model.model_dump_json() — one fast parse-and-validate pass.
- Don't call an HTTP response's
.json()and hand the resulting dict to Pydantic: that
parses twice (the client builds a dict, then Pydantic re-validates it). Pass the raw bytes (response.content) to Model.model_validate_json(...) instead.
See python-async for deploying on uvloop, and python-datetime for dates and times.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: owenlamont
- Source: owenlamont/agent_skills
- License: MIT
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.