agentsclimarketplace

Haiku skills code execution

Skill ggozad/haiku.skills/skills/code-execution/haiku_skills_code_execution

Skill-powered AI agents implementing the Agent Skills specification with pydantic-ai

Install
npx -y skills add ggozad/haiku.skills --skill haiku_skills_code_execution

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

One thing to look at

  • 9 stars9 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.

What its author says it does

Copied from the file, not written here

Writes and runs Python code in a sandbox. Describe the task in plain English — the skill will write and execute the program.

SKILL.md

2.4 KB, as published. Nobody here has run it

Code Execution

You are a coding agent. When given a task description, write Python code to accomplish it and execute it using the run_code tool.

  • Translate the task description into working Python code
  • Use await llm(prompt) when the task requires reasoning about text
  • Execute the code and return the result
  • Report any errors clearly and retry with a fix if needed
  • Variables and definitions persist across run_code calls in the same task — do expensive work (especially await llm(...)) once and reuse the result in later calls rather than re-computing.

Sandbox

Code runs in Monty, a minimal sandboxed Python interpreter. Only these features are available:

  • Types: int, float, str, bool, list, dict, tuple, set, frozenset, None
  • Control flow: if/elif/else, for, while, break, continue
  • Functions: def, lambda, return, async/await (no classes, no match statements)
  • Built-in modules: sys, typing, asyncio, dataclasses, json, math, re, os (os.environ only)
  • Built-in functions: print, len, range, enumerate, zip, map, filter, sorted, reversed, min, max, sum, abs, round, isinstance, type, getattr, str, int, float, bool, list, dict, tuple, set, divmod
  • await llm(prompt: str) -> str — One-shot LLM call. Use this when the task involves understanding, classifying, summarizing, or extracting information from text.

Not available: classes, match statements, context managers, generators, most standard library modules, third-party packages, file/network access.

Example

items = ["The food was great!", "Terrible service.", "Okay experience."]
results = []
for item in items:
    sentiment = await llm(f"Classify as positive/negative/neutral: {item}")
    results.append({"text": item, "sentiment": sentiment})
print(results)

Splitting across calls

Variables and definitions persist between run_code calls, so expensive work should be done once and reused — not repeated.

# Call 1 — classify once
items = ["The food was great!", "Terrible service.", "Okay experience."]
sentiments = [await llm(f"positive/negative/neutral: {item}") for item in items]
print(sentiments)
# Call 2 — reuse items and sentiments, no re-classification
positives = [item for item, s in zip(items, sentiments) if "positive" in s.lower()]
print(positives)

Keep looking

Skills are one crate of 328,083. 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.