reborn-extension-surfaces

Guides adding tool, channel, and auth surfaces to Reborn extension manifests.

12.6k|1.5k|Updated Feb 3, 2026
One-click install
npx skills add https://github.com/nearai/ironclaw --skill reborn-extension-surfaces
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: reborn-extension-surfaces
Source: https://github.com/nearai/ironclaw/tree/main/.claude/skills/reborn-extension-surfaces
Command: npx skills add https://github.com/nearai/ironclaw --skill reborn-extension-surfaces

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Adding a new integration to IronClaw's Reborn runtime requires knowing exactly which manifest sections, crates, adapter traits, and test gates apply — and the retired taxonomy (connectable channels, extension kind strings) is actively pinned at zero by architecture tests, so guessing wrong fails CI. This Skill maps the unified extension model (NEA-25, manifest schema v3) to the exact files and seams you need to touch.

Core Features & Use Cases

  • Tool surfaces: Declare [[tools]] entries with credentials, schemas, and prompt docs, including standard-op-bound messaging tools.
  • Channel surfaces: Add the single [channel] section with ingress verification recipes, egress allowlists, and conversation models, plus the ChannelAdapter behavior contract.
  • Auth providers: Define [auth.<vendor>] recipes (oauth2_code or api_key) shared across extensions, with scope-union and conflict rules.
  • Hosted-MCP extensions: Configure [mcp] discovery sections with optional static tool pins.
  • Use Case: You are adding a Telegram channel integration — the Skill points you to the Slack manifest as the worked example, the conformance test suites to extend, and the retired-taxonomy gate that will reject reintroduced patterns.

Quick Start

Ask the assistant to walk you through adding a new channel surface to a Reborn extension manifest using the Slack package as the reference example.

Frequently Asked Questions about reborn-extension-surfaces

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new channel to a Reborn extension?

Add a single [channel] section to the extension manifest with id, display_name, inbound/outbound flags, and a required conversation_model, plus ingress, verification, connection, egress, and presentation subsections. Implement behavior in a ChannelAdapter and supply it through the RebornHostBindings composition seam.

How do I add a tool surface to an IronClaw extension?

Declare each capability as a [[tools]] entry with id, description, effects, default_permission, input_schema_ref, and a [[tools.credentials]] block naming vendor, audience, and injection. Messaging-shaped tools bind a standard_op instead of declaring their own schemas.

Can multiple extensions share one auth provider in Reborn?

Yes, extensions share a vendor id when the credential authority is the same, such as google across gmail, drive, and calendar. Recipes for one vendor must be identical except scopes and display_name, and scopes union across active extensions.

What is the difference between a channel and an extension in Reborn?

The extension is the top-level product object with one manifest and one installed identity. A channel is just one capability surface declared in that manifest, alongside tools and auth — it is not a sibling product type.

Why does my Reborn change fail the retired-taxonomy architecture test?

The reborn_retired_taxonomy.rs gate pins deleted vocabulary like connectable channels, slack_bot, and extension kind strings at zero. Tripping it means your change reintroduces a removed model; express the concept through manifest surfaces instead.

How do hosted-MCP extensions declare tools in Reborn?

A hosted-MCP extension declares one [mcp] section with server, namespace, max_tools, effects, and credentials instead of [runtime] and usually instead of [[tools]]. It may also pin static [[tools]] entries that a successful tools/list discovery later replaces.