From asi
Runs zero-install Python one-liners and scripts with UV/UVX, comma-syntax deps, Justfile patterns, PEP 723. Use for instant data, web, AI, math, viz prototyping.
npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
> `uv run --python 3.11 --with pkg1,pkg2 script.py` — zero install, instant execution
Runs Python scripts with uv supporting PEP 723 inline dependencies, temporary --with packages, and ephemeral uvx tools. Use for quick script execution without virtualenvs.
Manages Python projects with Astral's uv: dependencies via pyproject.toml, PEP 723 scripts, virtualenvs, Python versions, tool installs, pip/poetry migrations, CI/CD, Docker setup.
Share bugs, ideas, or general feedback.
uv run --python 3.11 --with pkg1,pkg2 script.py— zero install, instant execution
py := "uv run --python 3.11"
deps := "--with aiohttp,textual,duckdb,aptos-sdk"
default: play
play: && {{py}} {{deps}} server.py
tui: && {{py}} --with textual,httpx tui.py
# Data
uv run --with duckdb -c "import duckdb;print(duckdb.sql('SELECT 42').fetchone())"
uv run --with polars -c "import polars as pl;print(pl.DataFrame({'x':[1,2,3]}))"
# Web
uv run --with httpx -c "import httpx;print(httpx.get('https://httpbin.org/ip').json())"
uv run --with fastapi,uvicorn -m uvicorn app:app --reload
# AI
uv run --with google-genai -c "from google import genai;print(genai.Client().models.generate_content(model='gemini-2.5-flash',contents='hi').text)"
uv run --with anthropic -c "from anthropic import Anthropic;print(Anthropic().messages.create(model='claude-sonnet-4-20250514',max_tokens=99,messages=[{'role':'user','content':'hi'}]).content[0].text)"
# Math
uv run --with sympy -c "from sympy import*;x=Symbol('x');print(integrate(sin(x),x))"
uv run --with networkx -c "import networkx as nx;print(nx.petersen_graph())"
# Viz
uv run --with rich -c "from rich import print;print('[bold green]✓[/]')"
uv run --with matplotlib,numpy -c "import matplotlib.pyplot as plt,numpy as np;plt.plot(np.sin(np.linspace(0,6.28,100)));plt.savefig('/tmp/sin.png')"
uvx ruff check --fix . # lint
uvx black . # format
uvx pytest # test
uvx mypy . # typecheck
uvx duckdb # sql repl
uvx jupyter lab # notebook
uvx marimo edit nb.py # reactive nb
#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.11"
# dependencies = ["httpx", "rich"]
# ///
import httpx; from rich import print
print(httpx.get("https://httpbin.org/ip").json())
uv run --python 3.11 --with tomllib ... # 3.11+ stdlib
uv run --python 3.10 --with aptos-sdk ... # 3.10+ for | unions
uv run --with jax,flax,optax,orbax-checkpoint ml.py
uv run --with transformers,tokenizers,datasets nlp.py
uv run --with httpx,beautifulsoup4,lxml scrape.py
uv run --with aptos-sdk,web3,eth-account chain.py
uv run --with discopy,catgrad,networkx cat.py
uv run --with numpy -c "
for t in [-1,0,1]: print(f'trit={t:+d} hue={[270,180,30][t+1]}°')
print('sum=0 ✓')
"
uv-discohy (toolchain + operad)
│
┌─────────┼─────────┐
│ │ │
uv-oneliners │ ruff/black
(execution) │ (linting)
│
pyproject.toml
| Skill | Trit | Role |
|---|---|---|
| uv-oneliners | 0 | Coordinator (execution) |
| acsets | 0 | Coordinator (schema) |
| gay-mcp | +1 | Generator (colors) |
Needs -1 skill to balance: three-match, skill-validation-gf3
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj