ix

GitHub

Ix用于代码库结构分析,通过持久化图数据库查询符号、调用链、影响范围及代码异味,辅助理解代码架构与依赖关系。

skills/ix/SKILL.md ix-infrastructure/Ix

Trigger Scenarios

分析代码库结构 追踪函数调用流 评估变更影响范围 查找符号调用者或被调用者 检测代码异味

Install

npx skills add ix-infrastructure/Ix --skill ix -g -y
More Options

Use without installing

npx skills use ix-infrastructure/Ix@ix

指定 Agent (Claude Code)

npx skills add ix-infrastructure/Ix --skill ix -a claude-code -g -y

安装 repo 全部 skill

npx skills add ix-infrastructure/Ix --all -g -y

预览 repo 内 skill

npx skills add ix-infrastructure/Ix --list

SKILL.md

Frontmatter
{
    "name": "ix",
    "license": "Apache-2.0",
    "metadata": {
        "source": "https:\/\/github.com\/ix-infrastructure\/Ix",
        "version": "1.0.0"
    },
    "description": "This skill should be used when answering structural questions about a codebase: understanding what a symbol is, tracing flows, measuring change impact, finding callers\/callees\/imports, or detecting code smells. It drives the Ix CLI (ix map\/explain\/trace\/impact\/search\/rank\/smells) against a persistent code graph stored in a local backend, instead of grepping or guessing. Run scripts\/bootstrap.sh once to install the CLI and start the backend, then ix map on the repo root."
}

Ix — Persistent Codebase Map

Overview

Ix parses a repository with tree-sitter (26 languages), builds a graph of its symbols, calls, and imports, and stores it in a local backend (ArangoDB via Docker). Query that graph with ix commands to answer bounded, structural questions instead of reading files blindly. The graph persists between sessions.

Use this skill whenever the question is about structure, relationships, or impact: what a symbol is, what calls it, what it calls, how data flows, what breaks if a change lands, which files are most depended-on, or where the smells are.

When to Use

  • Answering "what is this / what does it touch" questions about a symbol, class, or module.
  • Tracing how a flow moves through the system.
  • Estimating blast radius before a change.
  • Finding callers, callees, imports, and dependents.
  • Detecting smells, ranking hotspots, and scoring subsystems.
  • Onboarding to an unfamiliar codebase.

Do not use this skill for prose-style or history questions — use it for structural, graph-backed answers.

Quick Start (first run)

Map the target repo with the bootstrap script:

bash scripts/bootstrap.sh [repo-root] [--no-map]                                            # Bash / Git Bash / macOS / Linux
powershell -ExecutionPolicy Bypass -File scripts/bootstrap.ps1 [repo-root] [-NoMap]         # Windows PowerShell

The bootstrap checks Node >= 22, git, Docker, and ripgrep; installs the ix CLI if missing; starts the local Docker backend; and maps the repo by default. Re-run scripts/bootstrap.sh on each new repo to register and map it.

Refresh the graph after code changes:

ix map --silent

Core Workflow

Map → Explain → Trace → Impact

Step Command Example
Build/refresh the graph ix map ix map .
Understand a component ix explain ix explain IngestionService
Bounded deterministic context ix context ix context IngestionService --max-entities 20
Trace a flow ix trace ix trace user_login_flow
Analyze impact ix impact ix impact verify_token --format llm

Using the Skill

  1. Start with high-level commands for one-shot answers: ix overview, ix impact, ix rank.
  2. Drill down with primitives — ix search, ix callers, ix callees, ix contains, ix imports, ix imported-by, ix depends — reusing exact entity IDs from prior JSON output.
  3. Prefer --format llm when reading output yourself (token-minimal); use --format json when chaining commands or extracting a field. See references/output-formats.md.
  4. For the full command surface, decomposition recipes, and best practices, load references/commands.md; for a command's complete flag list, load references/flags.md.
  5. If the backend is unreachable or a command fails, load references/troubleshooting.md.

Rules

  1. Before answering codebase questions, run targeted ix commands. Do not answer from training data alone.
  2. After noticing contradictory information, run ix conflicts and present the results.
  3. Never guess codebase facts — if Ix has structured data, use it.
  4. Immediately after modifying code, run ix map --silent to re-ingest.
  5. When Ix reports low confidence, mention the uncertainty to the user, suggest re-running ix map, and never present low-confidence data as established fact.

Harness install seam

The skill installer (scripts/install-skill.sh) reads an explicit, small harness table from ix-cli/scripts/skill-harnesses.mjs — claude, agents, codex and cursor only. Each entry's skills directory is verified against what that harness actually reads (Cursor uses ~/.cursor/skills-cursor, not ~/.cursor/skills); gemini, opencode, openclaw and vscode have no skills convention, so they are deliberately not install targets. Adding a harness is a one-line edit in that table, after checking where the harness really looks. ix mcp install uses the separate MCP host registry (ix-cli/src/mcp/hosts.ts) — a different table answering a different question.

When TOOLSCAN_PATH is set, both surfaces consult its discovery output so a harness CLI installed outside PATH can still be found — and ix mcp install executes the absolute path toolscan reports, so the off-PATH harness is inspected and registered through the binary toolscan found. Toolscan is optional and additive: if it is unset or fails, the embedded PATH and config-directory probes remain authoritative. TOOLSCAN_PATH is opt-in: neither surface ever looks toolscan up on PATH (the CLI executes whatever TOOLSCAN_PATH names, so only set it to a binary you trust).

The probe battery has two environment seams:

Seam Used by Default
TOOLSCAN_PATH skill-harnesses.mjs --probe, ix mcp install Unset — no toolscan, embedded probes decide
HARNESS_HOME skill-harnesses.mjs --probe os.homedir(); install-skill.sh uses the shell's $HOME

For a hermetic probe with no real user configuration:

HARNESS_HOME="$(mktemp -d)" \
  node ix-cli/scripts/skill-harnesses.mjs --probe

To drive the same probe with a local or npm-installed toolscan bundle:

TOOLSCAN_PATH=/path/to/toolscan/dist/toolscan.mjs \
  HARNESS_HOME="$(mktemp -d)" \
  node ix-cli/scripts/skill-harnesses.mjs --probe

--probe emits id|label|bin|config-dir|skill-dir|present|detectedVia, where present is 1 or 0 and detectedVia names the probe that decided (toolscan | path | config-dir | none). scripts/install-skill.sh --dry-run --json emits the same per-harness view as machine-readable JSON: one object per host with action (would-install | would-refuse | installed | refused | skip), dest, and detectedVia — so CI can assert how a harness was found, not just that it was. A would-refuse in the preview exits 1, matching the real run's conflict exit, so scripts can rely on the two agreeing.

The install report's --format json|llm output carries detectedVia per host (toolscan | path | config-dir | none), so a consumer can see which probe decided presence — a host toolscan found reads toolscan even when its CLI also happens to be on PATH, and a host found by the PATH probe reads path rather than being misattributed to its config directory.

References

  • references/commands.md — full command routing tables, decomposition recipes, best practices, and the do-not-use list. Load before running any command beyond the core four above.
  • references/flags.md — every flag the CLI registers, per command, with values and defaults. Load when a command needs shaping beyond the examples in commands.md, or to check whether a flag exists before guessing.
  • references/output-formats.md--format llm|json|text rules, commands that do not implement llm, and Pro-gated commands. Load when formatting output or when a "requires Ix Pro" error appears.
  • references/troubleshooting.md — prerequisites, backend health checks, ix doctor, and environment flags. Load when a command fails or the backend is unreachable.

Scripts

  • scripts/bootstrap.sh — cross-platform first-run setup (bash; works on macOS, Linux, and Windows under Git Bash / MSYS2 / WSL).
  • scripts/bootstrap.ps1 — native Windows PowerShell first-run setup.

Version History

  • d3d95cb Current 2026-09-08 19:46

    更新技能安装脚本以支持多Agent平台自动发现与部署;修复API文档与客户端调用的漂移问题并增加校验门禁。

  • 043bc68 2026-08-16 15:58

    新增 ix context 命令,用于生成确定性的有界上下文包,包含版本化输出模式及可恢复的调查状态管理。

  • fa6ad7b 2026-08-12 09:08

Metadata

Files
0
Version
d3d95cb
Hash
88ac0d14
Indexed
2026-08-12 09:08

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-09 18:43
浙ICP备14020137号-1 $Гость$