Skip to main content

ix-plan

Generate a risk-ordered implementation plan for a set of targets. Assesses blast radius per target, finds data flows between them, and produces a safe change sequence.

설치로 이동

소스 정보

저장소
ix-infrastructure/ix-claude-plugin
최근 소스 활동
2026년 9월 5일 18:46
감지된 SKILL.md 언어
영어
스타
7
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
ix-plan
description
Generate a risk-ordered implementation plan for a set of targets. Assesses blast radius per target, finds data flows between them, and produces a safe change sequence.
argument-hint
<symbol1> [symbol2...] or "description of what you want to change" [--save [path]]
> [ix-claude-plugin shared model](../shared.md) Check `command -v ix` first. If unavailable, use Grep + Read to manually assess blast radius per target. ## Argument parsing Strip `--save` and any following path token from `$ARGUMENTS` before resolving targets. - If `--save <path>` is present, set `SAVE_PATH` to that path. - If `--save` is present without a path, auto-generate `ix-plan-<target-slug>.md` in cwd (target slug = the first target or first three words of the description with spaces and slashes replaced by `-`). - If `--save` is absent, `SAVE_PATH` is empty — do not write a file. ## Pro check (optional) Run once at the start: ```bash ix briefing --format json 2>&1 ``` If it returns JSON with a `revision` field, Pro is available. Extract `activeGoals`, `activePlans`, and `openBugs` for use in Pro steps below. If it errors, skip all **[Pro]** labeled steps. ## Goal Answer: *in what order should these changes be made, what will break, and what needs testing?* ## Phase 1 — Scope (always) If `$ARGUMENTS` contains symbol names, proceed. If `$ARGUMENTS` is a description (no identifiable symbols), first run: ```bash ix text "$ARGUMENTS" --limit 10 --format llm ix locate "$ARGUMENTS" --format llm ``` Identify the 1–4 most relevant symbols and treat those as targets. ## Phase 2 — Impact per target (parallel) For each identified target, run simultaneously: ```bash ix impact <target> --format llm ix callers <target> --limit 10 --format llm ``` Rank targets by risk level: critical > high > medium > low. **Fast path — all low risk:** If every target is `low` risk AND has < 3 dependents, skip Phases 3–5. Go directly to Output with verdict "SAFE — all targets low risk; no additional data-flow, shared-dependent, or project-context analysis needed." **Delegation gate — high-complexity path:** If the fast path did not trigger, check for high complexity: 1. From Phase 2 results: does any target have **dependents > 20**? 2. If not already known, run `ix subsystems --format llm` (reads cached data — cheap) and check if any non-low-risk target's region has **coupling > 5** 3. If either condition is true: - Spawn `ix-safe-refactor-planner` with pre-filled context: - **TARGETS**: the resolved symbol list from Phase 1 - **RISK_TABLE**: the ranked table from Phase 2 (agent skips its own Steps 1–3) - **SUBSYSTEMS**: subsystems output from step 2 - Stop — the agent produces the full sequenced plan Otherwise continue inline with Phases 3–5. ## Phase 3 — Data flow (only if 2+ targets AND at least one is medium/high/critical) Find how the targets connect: ```bash ix trace <highest-risk-target> --to <second-target> --depth 2 --format llm ``` Run for the most architecturally significant pair. Skip if targets are in independent subsystems. ## Phase 4 — Shared dependents (only if high/critical targets exist; skip if all low risk) ```bash ix depends <highest-risk-target> --depth 2 --format llm ``` Identify if any third symbol depends on multiple targets (shared blast radius — highest testing priority). ## Phase 5 — Project context and plan tracking **[Pro]** If Pro is available (detected above): Check for existing plans and goals that overlap with this change: ```bash ix plans --format json ix goal list --format json ``` Cross-reference `activePlans` from the briefing to avoid duplicate work. If an existing plan covers these targets, reference it. If `activeGoals` exist, note which goal this change serves. At the end of the output, suggest the user create a plan to track execution: ``` ix plan create "<change title>" --goal <goal-id> ``` (Only suggest if no existing plan already covers this work.) ## Output ``` # Change Plan ## Targets & Risk | Target | Risk | Dependents | Key Callers | |--------|------|------------|-------------| | <A> | high | 12 | X, Y, Z | | <B> | low | 2 | P | ## Change Order Edit in this sequence to minimize breakage: 1. [target] — [reason: lowest risk / most-depended-upon first] 2. ... ## Data Flow [A → trace path → B — or "targets are independent"] ## Shared Risk [Symbols affected by changes to multiple targets — these need testing after every change] ## Test Checkpoints After [target A]: verify [specific callers] After [target B]: verify [specific callers] ## Red Flags - [any critical/high target needing extra care] - [any cross-subsystem boundary being crossed] ## Project context **[Pro]** - Goal this serves: [from `ix goal list` — omit if Pro unavailable] - Existing plan to track against: [plan ID + title, or "none — suggest creating one"] ``` Do not read source code in this skill unless a target cannot be resolved by `ix locate`. **Save step (only if `SAVE_PATH` is non-empty):** - Write the full output above to `SAVE_PATH` using the Write tool. - Confirm to the user: `Saved to <SAVE_PATH>`. - Do not write the file if `--save` was not passed.
GitHub에서 보기