OT Forge¶
Create, validate, and install extension tools and skill stubs.
Short alias: forge
Highlights¶
- Single in-process extension template with full
ot.*access - Validation before reload catches errors early
- Best practices checking and warnings
- Skill stub installation for Claude, Codex, and OpenCode
Functions¶
| Function | Description |
|---|---|
ot_forge.create_ext(name, ...) |
Create a new in-process extension tool |
ot_forge.validate_ext(path) |
Validate an extension before reload |
ot_forge.install_skills(install, ...) |
Install a skill stub for an AI tool |
Key Parameters¶
create_ext¶
| Parameter | Type | Description |
|---|---|---|
name |
str | Extension name (used as directory and file name) |
pack_name |
str | Pack name for dot notation (default: same as name) |
function |
str | Main function name (default: run) |
description |
str | Module description |
function_description |
str | Function docstring description |
api_key |
str | API key secret name for optional config (default: MY_API_KEY) |
validate_ext¶
| Parameter | Type | Description |
|---|---|---|
path |
str | Full path to the extension file |
install_skills¶
| Parameter | Type | Description |
|---|---|---|
install |
str | Skill name to install, or "all" for all skills (default: "all") |
exclude |
list[str] | Skill names to skip when install="all" |
tool |
str | Target AI tool: "claude" (default), "codex", "opencode", "pi" |
Requires¶
No API key required.
Workflow¶
The recommended workflow for creating and activating extensions:
Configuration¶
Required¶
- No required
tools.ot_forgesettings.
Optional¶
- This pack does not define any pack-specific keys under
tools.ot_forge.
Defaults¶
- OneTool uses the built-in defaults for Forge.
Examples¶
# Create a new extension
ot_forge.create_ext(name="my_tool", function="search")
# Validate before reload
ot_forge.validate_ext(path=".onetool/tools/my_tool/my_tool.py")
# List available skills (use ot.skills, not ot_forge)
ot.skills()
# Install a skill stub for Claude Code
ot_forge.install_skills(install="ot-ref")
# Install for a different AI tool
ot_forge.install_skills(install="ot-ref", tool="codex")
# Install all skills at once (default)
ot_forge.install_skills()
# Install all skills except specific ones
ot_forge.install_skills(exclude=["ot-ref"])