<!-- generated by epythet -->

# For AI agents

`i2` ships artifacts for coding agents alongside its code. This page lists
them, says where each lives in the repository, and points at the
machine-readable copies of this documentation.

## Skills

Skills are folders holding a `SKILL.md` (the [Agent Skills](https://agentskills.io) format): a description that tells an agent when to use it and a body with the procedure. Install one into your agent with `gh skill` (any host: `--agent claude-code`, `copilot`, `cursor`, `codex`, `gemini`), or use the copy bundled in the wheel.

### `i2-castgraph`

Routing data through a graph of type/representation conversions with i2.castgraph’s TransformationGraph — register pairwise transformers, then convert any source representation to any reachable target via multi-hop shortest-path routing. Trigger on “convert between many data representations”, “type conversion registry / service”, “transformation graph”, “filepath -> text -> record style pipeline”, “find a conversion path between two kinds”, “adapter / anti-corruption layer for external formats”, “cast a thing whose form varies but role is stable”.

Source: [`.claude/skills/i2-castgraph`](https://github.com/i2mint/i2/tree/HEAD/.claude/skills/i2-castgraph).

### `i2-multi-object`

Composing and combining a fixed collection of functions (or context managers) with i2.multi_object — Pipe (function composition), FuncFanout (apply many functions to the same input), ParallelFuncs (per-key dict-to-dict), FlexFuncFanout (shared argument pool), and ContextFanout (bundle context managers). Trigger on “compose functions into a pipeline”, “apply several functions to the same arguments”, “run a function per dict key”, “chain transformations”, “bundle multiple context managers as one”, “function pipeline”, “fan out / fan in”.

Source: [`.claude/skills/i2-multi-object`](https://github.com/i2mint/i2/tree/HEAD/.claude/skills/i2-multi-object).

### `i2-sig-arithmetic`

Building, merging, and editing function signatures with i2’s Sig — signature “+/-” arithmetic, changing parameter names/kinds/defaults/annotations, and giving a function a different signature (a la functools.wraps but signature-driven). Trigger on “merge two signatures”, “combine the parameters of several functions”, “give this function a new signature”, “rename/reorder function parameters”, “change a parameter’s default”, “make all params positional-or-keyword”, “add an optional keyword argument to a function”, “Sig() decorator”, “ch_func_to_all_pk”.

Source: [`.claude/skills/i2-sig-arithmetic`](https://github.com/i2mint/i2/tree/HEAD/.claude/skills/i2-sig-arithmetic).

### `i2-signatures`

Introspecting function signatures and binding call arguments to parameter names with i2’s Sig class — turning an arbitrary (\*args, \*\*kwargs) call into a named-argument dict (with defaults filled in), and back. Trigger on “bind args to parameter names”, “get the full kwargs of a call”, “apply defaults to a call”, “what are this function’s parameter names/kinds/defaults”, “call a function forgivingly / ignoring extra kwargs”, “normalize a call for caching/hashing”, “inspect.signature is not enough”, “Sig”, “map_arguments”.

Source: [`.claude/skills/i2-signatures`](https://github.com/i2mint/i2/tree/HEAD/.claude/skills/i2-signatures).

### `i2-wrapper`

Wrapping functions to transform their interface, inputs, and output with i2.wrapper — wrap, Ingress/Egress, ch_names, include_exclude, rm_params, arg_val_converter, partialx, and caller-based wrapping (Wrapx). Trigger on “wrap a function and change its signature”, “transform arguments before calling”, “rename/remove/reorder a function’s parameters but keep it working”, “convert/cast argument values”, “make a CLI/HTTP-friendly version of a function”, “currying with a clean signature”, “apply a function over an iterable of inputs (iterize)”, “ingress / egress”, “decorator factory”.

Source: [`.claude/skills/i2-wrapper`](https://github.com/i2mint/i2/tree/HEAD/.claude/skills/i2-wrapper).

## Instruction files

Files agents read before working in this repository.

- [`.claude/CLAUDE.md`](https://github.com/i2mint/i2/tree/HEAD/.claude/CLAUDE.md): read by Claude Code

## Machine-readable documentation

This site publishes the same documentation in forms that fit an agent’s context window:

- [`llms.txt`](https://i2mint.github.io/i2/llms.txt): an index of every page with a one-line description ([llms.txt](https://llmstxt.org) format)
- [`i2.md`](https://i2mint.github.io/i2/i2.md): the whole documentation as one Markdown file
- `<page>.html.md`: a rendered Markdown twin of every page, advertised from each page’s `<head>` with `<link rel="alternate" type="text/markdown">`
- [`objects.inv`](https://i2mint.github.io/i2/objects.inv): the Sphinx inventory: a symbol-to-URL index (`sphobjinv convert plain objects.inv -`)
