Chalk Labs
Need help deploying agent-tools?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/will-ness-ai-agent-tools
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/agent-tools
What's inside
- Skill name
agent-tools- Description
- Build commands for agents in AXI style. Use when writing or changing a script or CLI whose reader is an agent, or when an agent runs a chain or loop of tool calls toward one answer.
- License
- MIT
- Instructions
- 112 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# Agent tools
An **agent tool** is a command whose reader is an agent, not a person. Its cost is **turns**
(every call is another round trip through the model) and **tokens** (every line it prints stays
in the window; count them as output bytes, `wc -c`). Its job is to collapse a **chain**: the run of tool calls an agent makes toward
one answer, where each call's **intermediate result** passes through the window only to pick the
next call. A loop is a chain whose links repeat (poll, check, sleep, poll); a **one-way chain**
doesn't (read a config, query a service, filter the answer, open a file). The tool runs the chain itself
and prints the **minimally relevant context**: what the agent would have gone on to use, and
nothing else.
Two pieces of Anthropic's research name this. [Writing effective tools for
agents](https://www.anthropic.com/engineering/writing-tools-for-agents) builds one tool for
"frequently chained, multi-step tasks" (`schedule_event` over list-then-create, `search_logs`
over `read_logs`) and tracks tool calls to reveal the workflows agents keep chaining. [Code
execution with MCP](https://www.anthropic.com/engineering/code-execution-with-mcp) keeps
intermediate results out of the window by running the chain in code, so the agent sees "five
rows instead of 10,000". A chain that recurs across sessions earns a tool built here; a one-off
chain is still one call when the agent writes a short script that runs it and prints only the
answer, and that script, written a second time, is a tool waiting to be built.
The style is AXI ([axi.md](https://axi.md); the upstream spec is
[kunchenguid/axi's skill](https://raw.githubusercontent.com/kunchenguid/axi/main/.agents/skills/axi/SKILL.md)),
adapted below. When the repo already has agent tools (an `axi` or `qa` script, a file that opens
by naming this skill), read the closest one before starting. The rules below are the contract:
follow them in a new tool, and bring an old one in line in the part you touch.
## Steps
1. **Name the chain.** Write down the calls an agent makes today to answer the question
the tool is for (from the session or retro that asked for it): each command, what it printed,
what the agent kept of it. Done when you can say which of those calls the tool replaces, and
the turns and output bytes (`wc -c`) before and after.
2. **Shape the commands.** One entry point with subcommands, run the way the package runs
scripts (`pnpm --silent <name>` in a Node package, `python tools/<name>.py` in Python). Write
each command's `--help` first, from the rules below. Done when each chain from step 1 is one
command that runs its links inside, and the bare run's output is sketched.
3. **Build it** to the rules below, with tests for its parsing and row formatting. Done when every rule is met or its absence is
a deliberate choice you can name, and the tests pass.
4. **Run it as the agent will.** In a fresh shell: the bare run, each command's happy path, an
empty result, a misspelt flag, a missing argument and a dependency failure (network down,
process not running). Done when each output alone tells the agent its next step, nothing
leaks a stack trace, and the chain from step 1 takes the turns and bytes you promised while
its output still holds every fact step 1 marked as kept.
5. **Point at it.** Add one line where agents working in that area already look (the package's
`AGENTS.md`, the `docs/` page, the skill that drives the work), naming the command and when to
run it; its `--help` carries the rest. Invoke the Skill tool for `writing-for-agents`, and word
that line by it. Done when an agent starting cold on that area's work would reach the line
before building its own chain.
## Rules
**Output**
- **Rows, not prose.** Lists print as a [TOON](https://toonformat.dev/)-shaped header and rows:
`matches[3]{id,state,players}:` then one comma-separated line each, quoting any value that
holds a comma, a colon or a quote. Detail views print `key: value` lines. Plain text, no
colour, no space-padded tables.
- **Few fields, enough rows.** A list row carries what lets the agent pick the next call: a
name and a state it reasons with, and an id only where a next command takes one. Everything
else waits for the detail view or `--full`. Default limits cover the common case in one call.
- **Intermediate results stay inside.** Each lookup, filter and join happens in the tool and
stays out of stdout; a result the agent may need later goes to a file, and its path prints.
- **Cut long text with its size.** A long value prints its first 500-1500 characters and
`… (truncated, 8432 chars total; use --full)`. Images and other files are written to disk and
printed as paths for the agent to read.
- **Answer the next question too.** Include the totals and summaries the agent would otherwise
fetch next: `count: 30 of 847`, `checks: 3/3 passed`, `errors: 2`. Only what is cheap to
compute.
- **Say nothing found.** An empty result is a line that says so, with its scope:
`faults: none on 14 pages at 4 sizes`.
- **Only what is wrong.** A check prints its failures and a one-line pass summary, never every
passing case.
**Flow**
- **Home view.** Run bare, the tool prints live state (what is running, what is set up, what
needs doing), then its commands. A usage page is for when there is no state to show.
- **Next steps.** End list, mutation and error output with a `help[N]:` block of complete
commands that follow from it, carrying the flags in use and `<id>`-style placeholders for
values the agent must fill. Offer a few directions, not a fixed sequence. A detail view that
fully answers leaves it out.
- **Waits are commands.** When the agent would otherwise poll (a log line, a message, a window),
give it a `wait <pattern>` that returns when it matches and says so when it times out.
- **Mutations repeat safely.** Asking for a state that already holds succeeds with `(no-op)`.
**Errors and channels**
- **stdout is for the agent.** Data, errors and next steps all go to stdout, in the same shape;
progress and debug go to stderr. Exit 0 for success and no-ops, 1 for a failure, 2 for a usage
error (an unknown command or flag, a missing argument).
- **Errors say the fix.** `error: no test server yet` then the `help[1]:` command that starts
one. Translate a dependency's error into the tool's own terms and commands.
- **Reject what you don't know.** An unknown command or flag is a usage error naming it and
listing that command's flags, checked before anything runs. A renamed flag names its
replacement.
- **Flags only.** Every input comes from arguments; a missing one fails at once with the flag
it needs. Nothing waits on stdin.
**Help**
- `<command> --help` prints that command's flags with defaults and two or three examples, and
nothing about the other commands.
- The file opens with a comment saying it is for agents and follows the `agent-tools` skill,
so a later editor keeps the contract. The rules live here, not restated per tool.
**Left out of AXI.** A tool that runs from a checkout, not a global install, skips AXI's session
hooks, installable skill, `bin:` line and `--version` fast path; step 5's pointer does the hooks'
job. A tool whose state every session in an area needs could earn a `SessionStart` hook in
`.claude/settings.json`; ask the user before adding one, since it loads on every session.From will-ness-ai/skills, MIT.
More from will-ness-ai/skills
- 0.742score
sandcastle
will-ness-ai
Run a Sandcastle lane — a sandboxed implement→review loop over a fixed batch of work in its own worktree, ended by an agent-authored PR.
SkillBFreshness: B★ 170Claude Code +9 - 0.739score
code-story
will-ness-ai
Build a wizard-style HTML page that teaches how and why a change works.
SkillBFreshness: B★ 170Claude Code +9 - 0.739score
cmux
will-ness-ai
Drive the local cmux app — workspaces, panes, surfaces, terminal input, agent sessions, and browser surfaces.
SkillBFreshness: B★ 170Claude Code +9 - 0.734score
grill-design
will-ness-ai
Converge on a frontend look through rounds of prototypes and grilling verdicts.
SkillBFreshness: B★ 170Claude Code +9 - 0.733score
flashlight
will-ness-ai
Shine a light into a wayfinder map's fog — work one direction now, out of frontier order, or redraw the map itself.
SkillBFreshness: B★ 170Claude Code +9 - 0.607score
test-a-skill
will-ness-ai
Field-test a skill by running it cold in parallel agent sessions, then turn what they hit into edits.
SkillBFreshness: B★ 170Claude Code +9 - 0.352score
find-standards
will-ness-ai
No description from the publisher yet.
SkillBFreshness: B★ 170Claude Code +9 - 0.349score
grilling-frontend-prototyping
will-ness-ai
No description from the publisher yet.
SkillBFreshness: B★ 170Claude Code +9
Signals
- Stars
- 170
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Oct 18, 2026 (21 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/will-ness-ai/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from will-ness-ai
- 0.742score
sandcastle
will-ness-ai
Run a Sandcastle lane — a sandboxed implement→review loop over a fixed batch of work in its own worktree, ended by an agent-authored PR.
SkillBFreshness: B★ 170Claude Code +9 - 0.739score
cmux
will-ness-ai
Drive the local cmux app — workspaces, panes, surfaces, terminal input, agent sessions, and browser surfaces.
SkillBFreshness: B★ 170Claude Code +9 - 0.739score
code-story
will-ness-ai
Build a wizard-style HTML page that teaches how and why a change works.
SkillBFreshness: B★ 170Claude Code +9 - 0.734score
grill-design
will-ness-ai
Converge on a frontend look through rounds of prototypes and grilling verdicts.
SkillBFreshness: B★ 170Claude Code +9 - 0.733score
flashlight
will-ness-ai
Shine a light into a wayfinder map's fog — work one direction now, out of frontier order, or redraw the map itself.
SkillBFreshness: B★ 170Claude Code +9 - 0.607score
test-a-skill
will-ness-ai
Field-test a skill by running it cold in parallel agent sessions, then turn what they hit into edits.
SkillBFreshness: B★ 170Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get agent-tools running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
agent-tools skill. Agent Mart. https://agentmart.dev/skills/will-ness-ai-agent-tools (last updated 2026-10-24)