ironclaw-reborn-orientation
GitHub提供IronClaw仓库架构导航,指导新功能放置、请求流程追踪及组件归属确认,解决文档过时或矛盾问题。
Trigger Scenarios
Install
npx skills add nearai/ironclaw --skill ironclaw-reborn-orientation -g -y
SKILL.md
Frontmatter
{
"name": "ironclaw-reborn-orientation",
"description": "Use when starting work in the IronClaw repo, deciding where a feature\/fix\/prompt\/doc belongs, tracing how a request flows, looking up which crate owns a subsystem, or when repo docs, the knowledge graph, or component names seem stale, missing, or contradictory."
}
IronClaw Reborn Orientation
The corrected map, verified against HEAD on 2026-07-02 by a full architecture audit. The repo's own docs drift; when this skill and a doc disagree, re-verify with the greps given here.
Where things go
- All new features: Reborn, in
crates/— which is now the whole tree, grouped into ten family directories (app,contracts,domains,events,extensions,kernel,lanes,loop,product,substrates). The v1src/monolith and its crates (ironclaw_engine,ironclaw_tui,ironclaw_gateway,ironclaw_oauth) have been deleted; if a doc still routes you to them, that doc is drift. Binary and package:ironclaw, built fromcrates/app/ironclaw_cli(pre-rename docs may say "reborn_cli"). For any endpoint/facade/capability work, use thereborn-featureskill. - The canonical request flow: Vite browser code (
crates/product/ironclaw_webui/frontend) → route descriptor and handler (ironclaw_webui) →ProductSurface/BoundProductSurface(ironclaw_product_contracts) → product views and capability descriptors (ironclaw_assistant) → composition-backed services. Turn execution:SessionThreadService(threads) →TurnCoordinator(turns) →TurnRunScheduler(turn_runner) claims →RebornTurnRunExecutor(turn_runner) →PlannedDriver→CanonicalAgentLoopExecutor(agent_loop) → host ports (loop_host) →CapabilityHost(capabilities) → dispatcher → runtime lanes. Boot:commands/serve.rs→build_reborn_runtime→webui_v2_app_with_lifecycle. - Current runner/lease names: turn claims and execution use
TurnRunScheduler+RebornTurnRunExecutor; expired lease is terminalFailed{lease_expired}(RecoveryRequiredis a legacy status). - Host-side product code (serve/delivery/setup for a channel): the model is
ironclaw_webuifor WebChat. Do not default it intoironclaw_composition— that crate is for assembly. - New prompt templates: a
.mdfile inside the owning Reborn crate, loaded viainclude_str!(the crates that own prompt files today:ls -d crates/*/*/prompts crates/extensions/packages/*/prompts→host_api,loop_contracts,skills,agent_loop,loop_host,assistant, plus per-extension packages). - New internal engineering docs (design notes, research, plans, QA maps):
docs/internal/— the only growing internal home underdocs/. The rest ofdocs/is the public Mintlify site; a page missing fromdocs.jsonnavigation is still published (hidden pages stay URL-reachable), and thedocs/.mintignorefence is frozen — never add entries. Verify placement:python3 scripts/ci/docs_publication_boundary.py.
There is no legacy enclave any more
Older guidance (including earlier versions of this skill) told you to avoid a "v1-only enclave" of ironclaw_engine / ironclaw_tui / ironclaw_gateway / ironclaw_oauth. Those crates no longer exist, and neither does the root src/ monolith or its ironclaw_legacy package. Every crate under crates/ is Reborn. If you hit a doc, comment, or skill that still names one of them, treat it as drift and re-verify rather than routing around a crate that isn't there. To check any crate's real consumers: grep -rl --include=Cargo.toml "<crate_name>" crates/ Cargo.toml (the family layout means crates/*/Cargo.toml no longer matches any crate manifest).
Discovery procedure (graph may be absent — don't stall)
bash scripts/codebase-graph.sh status— once. If FRESH and thecodebase-memory-mcpMCP tools are available, use graph recipes (CLAUDE.md).- If MISSING/stale or the MCP isn't connected (common): fall back immediately — the flow map above +
crates/AGENTS.mdrouting table + targeted grep. Note the fallback in your report; do not retry the graph. - Per-crate guidance: read the crate's
AGENTS.md/CLAUDE.mdfirst; when absent, fall back toCONTRACT.md/README.md,Cargo.toml, and the primarysrc/entrypoint. Treat thecrates/AGENTS.mdmap as a routing aid, not proof that an omitted crate is irrelevant. openwiki/is generated narrative — read for what/why, never edit (regenerated by CI).
Two skill systems (do not conflate)
.claude/skills/ = developer workflow (this skill). Top-level skills/ = product runtime skills compiled into the shipping binaries. Editing skills/ changes the product. See ironclaw-reborn-skill-maintainer before touching either.
Sibling skills
reborn-feature (build a feature) · ironclaw-reborn-architecture-review (boundaries/abstractions) · ironclaw-reborn-testing (tiers/harness) · ironclaw-reborn-skill-maintainer (guidance hygiene).
Version History
- 5380a32 Current 2026-08-20 07:08


