# Qmen Yishenhuanjiang

> 化解/移神换将/解灾/转运/改运 - Transformation: dissolve 六害 via 合/泄/冲/补 instead of suppression

- Skill: `skyfiredao/qmen-yishenhuanjiang` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add skyfiredao/qmen-yishenhuanjiang`
- Raw SKILL.md: https://api.skillmd.com/api/skills/skyfiredao/qmen-yishenhuanjiang/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: skyfiredao (https://skillmd.com/u/skyfiredao)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/skyfiredao/qmen-yishenhuanjiang

---


# 移神换将 — 化解

> 基于奇门遁甲起局，诊断六害问题并计算化解路径——用转化式手法（合、泄、冲、补）消解凶象，而非直接压制。

## Trigger

仅当用户**明确**要求移神换将类化解时激活本技能：
- 移神换将、移星换斗、化解、转化
- "怎么化"、"有什么化法"、"怎么解"
- "入墓怎么办"、"击刑怎么化"、"庚怎么处理"
- 任何涉及用合/泄/冲/补手法消解凶象的奇门问断

**不要在以下情况激活本技能**：
- 用户只说"奇门遁甲"未明确方向 → 使用 `qmen_dunjia` 路由 skill
- 用户用纯起局动词（"排局"、"起局"、"起一卦"）但未明确分析方向 → 让位给 `qmen_dunjia`
- 用户要求布阵/灭象/压制类化解 → `qmen_huaqizhen`
- 用户需要财运/事业诊断 → `qmen_caiguan`
- 用户需要婚恋分析 → `qmen_hunlian`
- 用户需要性格分析 → `qmen_xingge`
- 用户需要问事局解局 → `qmen_event`
- 在意图模糊时 → 使用 `qmen_dunjia` 路由 skill

### 与化气阵（huaqizhen）的区别

| 维度 | 化气阵（布阵/灭象） | 移神换将（化解） |
|------|------|------|
| 哲学 | 压制——主动移走/遮盖凶象+布阵压制 | 转化——灭象先行+用合泄冲补消解凶气 |
| 操作 | 灭象（移走）+ 布阵（放置压制物） | 灭象（击刑/干墓/庚必须）+ 逐问题独立化解（补象/合象/冲象） |
| 范围 | 全八宫系统布局 | 只针对有问题的宫位 |
| 载体 | 物体为主 | 物体+行为+语言 |
| 引动 | 放好即生效 | 合法静物放好即生效；泄法动物需引动激活（声引/光引/气引/择时） |

---

## 🔒 核心契约：脚本输出完整性

执行 `bin/qimen*.sh` 脚本时：

**强制规则：**
1. 脚本必须实际执行，禁止凭记忆模拟输出
2. stdout 一字不漏原样输出，放在代码块内
3. 完整输出在前，分析文字在后，顺序不可颠倒
4. 多个脚本各自独立输出，不合并

**禁止行为（出现即违约）：**
- 省略："..."、"（省略N行）"、"（其余类似）"、"（以下省略）"
- 概括："输出如下"、"主要内容"、"关键部分"、"摘要"
- 借口："为节省篇幅"、"由于输出较长"
- 包装：折叠标签、翻译代替原文、只展示首尾
- 抢跑：输出前插入任何分析性文字

**自检：** 每次脚本执行后，确认"输出是否完整无遗漏"。如有遗漏，立即补贴，不重新执行。
**后果：** 截断或概括的输出视为无效，整个分析必须基于完整数据重来。

---

## 🔒 万物类象数据约束（不可越过）

所有万物类象（天干、九星、八门、八神的类象描述）**只能来自**以下两个数据源：
1. **本地数据文件** `data/wanwu_*.dat` 中的实际字段值
2. **脚本输出 JSON** 中 `paths[].objects` 字段的内容

**严禁**：
- 编造数据文件中不存在的类象内容
- 将某个天干/星/门/神的类象张冠李戴到另一个上
- 为了"符合现实情况"而凭空建立干门星神与具体事物的关联
- 使用"根据XXX推测"、"可以联想为"等话术绕过数据约束

**验证方法**：如果你要说"X代表Y"，必须能在 `data/wanwu_*.dat` 或 JSON `paths[].objects` 字段中找到这条对应关系。找不到就不说。

---

## 对话流程

### Step 1: 收集信息

向用户询问信息：

**必填：**
1. **出生时间** — 格式 `YYYY-MM-DD HH:MM`，完整的年月日时。必须提供完整出生时间，无默认值。
2. **当地经度和时区** — 用于计算真太阳时（化解择时必须用真太阳时）。经度精确到小数点后一位即可，时区默认东八区。

**选填：**
3. **具体想化解的方面** — 用户是否有明确问题（击刑太重、入墓困住、某方位不好等）。没有也行，脚本会自动检测所有问题。

示例对话：
```
AI: 移神换将化解需要以下信息：
    1. 出生时间（完整年月日时，例如：1973-04-24 19:30）
    2. 当前所在城市或经度（用于计算真太阳时，化解择时必须用真太阳时）
       例如：北京=116.4°、上海=121.5°、广州=113.3°、乌鲁木齐=87.6°
       如果在中国大陆以外，提供时区即可（如纽约=-5，伦敦=0）
       注：经度和时区二选一，中国大陆用经度，海外用时区
    另外，你是否有特别想化解的方面？没有的话我会检测所有问题。
```

### Step 2: 起局

**JSON 复用判断（按优先级）：**
1. 用户要求重新起局（"重新/再算/换时间/不对"等） → `rm -f ./qmen_birth.json`，重新起局
2. `./qmen_birth.json` 存在 → 用 Read 工具读取其顶层 `"datetime"` 值，与用户给的时间逐字符比对：
   - 一致 → 跳过，进入 Step 3
   - 不一致或损坏 → 删除，重新起局
   - 用户未给时间 → 问"检测到命盘 datetime=X，继续？"
3. 文件不存在 → 起局

---

**起局（入局仪轨已由路由完成）：**

```bash
# workdir: {SKILL_DIR}
bin/qimen_qiju.sh --type=birth "YYYY-MM-DD HH:MM"
```

**⚠️ 遵守核心契约：一字不漏原样输出。**

### Step 3: 化解分析

**必须执行**化解脚本。脚本自动读取 `./qmen_birth.json`，检测所有六害问题，计算每个问题的化解路径和对应物象。

```bash
# workdir: {SKILL_DIR}
bin/qimen_yishenhuanjiang.sh
```

**⚠️ 遵守核心契约：一字不漏原样输出。**

脚本默认读取 `./qmen_birth.json`（命盘），写入 `./qmen_yishenhuanjiang.json`。

### Step 4: 解读

**必须先完成 Step 2 和 Step 3 的脚本执行**，然后用 Read 工具读取 `./qmen_yishenhuanjiang.json`，逐字段确认数据后，按照「化解解读框架」生成化解方案。

```
Read: {SKILL_DIR}/qmen_yishenhuanjiang.json
```

**强制约束：生成解读前，必须先读取 `qmen_yishenhuanjiang.json` 并逐字段确认所有数据。禁止凭记忆或推测解读，所有分析内容必须来自 JSON 中的实际字段值。**

**禁止逐宫确认：用户既然要求化解，就是要解决所有问题。直接按优先级逐一给出方案，不要问"这个宫要不要解决？"、"是否继续？"之类的确认问题。一次性输出全部化解方案。**

### Step 5: 追问处理

解读完成后告诉用户可以继续提问。支持：
- "XX方位具体放什么？" → 从 JSON paths 中提取该宫化解物象
- "击刑怎么办？" → 定位到 jixing 类型的 problem，逐路径解释
- "能不能换个方法？" → 展示同一问题的备选路径
- "引动怎么做？" → 只对 `dynamic=true` 的泄法路径推荐引动方式，合法静物不需引动

---

## 化解解读框架

脚本已完成：问题检测、化解路径计算、物象映射、禁忌和引动输出。脚本文本输出已完整展示给用户，**禁止对脚本输出做任何形式的总结、概括、复述**（如"共检测到N个问题分布在…"、"禁忌如下…"）。AI 直接进入脚本不做的判断：

### 路径推荐

每个问题脚本给出多条路径，AI 负责推荐：
- 跳过 `viable=false`（文本中标记 `[冲突]`）的路径
- 从剩余路径中选最易操作的一条重点推荐
- 按问题严重程度排序，从最重到最轻逐一给出方案
- **一次性输出所有问题的化解方案**，不要分批、不要等用户确认

### 天盘干与地盘干解读原则（来源：bmhq L233）

**天盘干（重要），地盘干（修饰性可忽略）**

- 天盘干是该宫位的主要能量，是化解分析的核心对象
- 地盘干为修饰性背景，解读时可忽略或降权处理
- 所有六害检测（击刑/入墓/庚）以天盘干为准

### 具体选物

`objects` 字段混合了具体物品和抽象类目，AI 负责从类目中挑出日常易得的具体物品：
- 具体物品（锁、钥匙、铜铃）→ 直接可用
- 抽象类目（金属制品、白色物品、光亮之物）→ 该类别下所有具体物品均可选用
- 判断标准：物品的材质/形态/属性能归属于列表中某个条目即可用；无法归属则不可用
- **一物多用优先**：同一物品能满足多个路径需求时优先推荐（如铜铃既是金象泄土，又可声引）
- 庚优先选"柔软绿色植物"（乙象）和"红色烛火"（巳象）
- 空亡补象选与缺失天干属性最匹配的日常物品
- 入墓冲墓选该地支类象中最具体的物品

### 真太阳时计算（必须执行）

使用用户在 Step 1 提供的经度或时区，用反向模式查询目标时辰对应的钟表时间：

```bash
# workdir: {SKILL_DIR}
bin/qimen_zhentaiyangshi.sh --shichen={目标时辰} --longitude={用户经度} "YYYY-MM-DD"
```

根据化解建议的目标时辰（如申时泄土、午时火旺等），直接用反向查询输出用户当地钟表的执行时间窗口：
```
例：bin/qimen_zhentaiyangshi.sh --shichen=申时 --longitude=87.6 "2026-04-30"
    输出 → 钟表时间: 15:07 - 17:07
    告知用户：你在乌鲁木齐要在申时执行化解，对应钟表时间 15:07-17:07。
```

### 动静与引动

JSON `paths[].dynamic` 字段标示该路径物品的动静属性：
- `dynamic=false`（合法/补象/冲墓/合出/用乙）→ 静物：安放不动即生效，**不需要引动**
- `dynamic=true`（泄化）→ 动物：需要引动激活才能持续发挥泄气效果
- `dynamic=null`（灭象/避让）→ 不涉及物品放置

泄法动物的引动方式（从脚本 yindong 输出中选取对应方式推荐）：
- 声引：响铃、乐器（偶尔响一下即可）
- 光引：亮灯、焚香、反光镜
- 气引：通风、开窗
- 择时：在真太阳时的对应时辰执行引动

合法静物只要放好就生效，不要给合法路径推荐引动方式。

### 注意事项

- 合法静物放好后不再移动，不需引动
- 泄法动物放好后需定期引动（不是每天，偶尔一次即可）
- 用则为信，持续三个月以上
- 当前提和环境发生重大变化时可重新排局评估
- 不可急于求成同时**执行**所有化解——建议用户先做最重的一个，稳定后再做下一个（但方案一次性全部给出）

---

## 工作目录

**所有 Bash 命令必须使用 `workdir` 参数**，指向项目根目录。

**获取 `{SKILL_DIR}`**：本 SKILL.md 所在目录下 `bin` 是指向项目 `bin/` 的相对软链接。通过以下方式解析项目根目录：
```bash
cd -P <本SKILL.md所在目录>/bin && cd .. && pwd
```
将输出赋值给 `{SKILL_DIR}`，后续所有命令使用 `workdir: {SKILL_DIR}`。

技能目录下的相关文件：
```
skill_qmenpowers/
├── bin/qimen_qiju.sh                # 起局脚本
├── bin/qimen_yishenhuanjiang.sh     # 移神换将化解脚本
├── bin/qimen_zhentaiyangshi.sh      # 真太阳时计算工具
├── qmen_birth.json                  # 命盘输出（运行后生成）
├── qmen_yishenhuanjiang.json        # 化解分析输出（运行后生成）
├── lib/                             # 引擎库（不需要直接调用）
└── data/                            # 数据文件（不需要直接调用）
```

