# Celestchart Daily

> 通过 CelestChart 星盘占星 API 获取每日个人星盘运势，包括月亮行运、情绪基调、今日重点和行星相位解读。需要 CelestChart VIP 账号和 API Key。

- Skill: `dvcrn/celestchart-daily` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add dvcrn/celestchart-daily`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/celestchart-daily/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/celestchart-daily

---


# CelestChart 每日运势 Skill

当用户问到以下类型的问题时，使用本 Skill 获取并解读每日运势数据：

- "今日运势"、"今天运势"
- "每日运势"、"今天星盘"
- "今天运气怎么样"、"今天适合做什么"
- "我今天的星象如何"

## 调用方式

执行以下命令获取运势数据：

```bash
bash $SKILL_DIR/run.sh
```

---

## 完整结果解读规则

拿到 JSON 响应后，**必须输出所有模块**，字段为空或缺失时显示"无"。

### 1. 📅 运势日期

显示 `target_date` 字段，格式：`YYYY-MM-DD`，并在日期后追加固定时间"0时0分"。
若缺失，显示"无"。

示例：
```
📅 运势日期：2026-03-12 0时0分
```

---

### 2. 🌙 月亮行运

来源字段：`moon_transit`

输出格式：
```
🌙 月亮行运
月亮位置：**[moon_transit.position.formatted]**（若缺失显示"无"）
落入宫位：**第 [moon_transit.house] 宫** - **[moon_transit.house_name]**（若缺失显示"无"）
```

示例：
```
🌙 月亮行运
月亮位置：**射手座 23°58'22"**
落入宫位：**第 3 宫** - **沟通、学习、短途旅行、兄弟姐妹**
```

---

### 3. 😊 情绪基调

来源字段：`emotional_tone`

直接输出字段内容，若为空则输出"情绪平稳"。

示例：
```
😊 情绪基调
情绪乐观，追求自由
```

---

### 4. 🎯 今日重点

来源字段：`daily_focus`

直接输出字段内容，若为空则输出"无"。

示例：
```
🎯 今日重点
今天月亮落在第3宫（沟通、学习、短途旅行、兄弟姐妹），这是今天的重点领域。
```

---

### 5. ⏰ 最佳时机

来源字段：`best_timing`

若字段存在且非空，输出其内容；若为 null 或缺失，输出"无"。

示例：
```
⏰ 最佳时机
03:10 - 月亮六分相水星，适合沟通交流、学习思考、处理文书、签署协议
```

---

### 6. 🌙 月亮相位

来源字段：`moon_aspects`（数组）

若数组为空，输出"无月亮相位"。

**时间换算规则**（`days_started` 和 `days_until_end` 单位为天）：
- 小于 1 天：换算为小时，公式 `round(值 × 24)` 小时
- 大于等于 1 天：保留一位小数，显示为 X.X 天

**每条相位输出格式：**
```
· **月亮 [aspect_name] 本命[birth_planet]**（容许度：[orb保留2位小数]°）[入/出相位标记] [精确标记]
  已持续：[days_started 换算后]
  [若 is_applying=true]  距离精确相位：[days_until_end 换算后]
  [若 is_applying=false] 距离离开容许度：[days_until_end 换算后]
  解读：[interpretation]（若为空显示"无"）
```

**标记规则：**
- `is_applying = true` → 标注"(入相位)"
- `is_applying = false` → 标注"(出相位)"
- `is_exact = true` → 额外标注"⭐精确"
- `days_started` 为 null 或缺失 → 该行省略
- `days_until_end` 为 null 或缺失 → 该行省略

**示例（基于用户提供的JSON）：**
```
🌙 月亮相位
· **月亮 六分相 本命水星**（容许度：1.57°）(入相位)
  已持续：约 1 小时
  距离精确相位：约 3 小时
  解读：思维清晰，适合学习、沟通和表达想法。
```

---

### 7. ✨ 内行星相位

来源字段：`inner_planet_aspects`（数组）

若数组为空，输出"无内行星相位"。

**每条相位输出格式：**
```
· **[transit_planet] [aspect_name] 本命[birth_planet]**（容许度：[orb保留2位小数]°）[入/出相位标记] [精确标记]
  已持续：[days_started 换算后]
  [若 is_applying=true]  距离精确相位：[days_until_end 换算后]
  [若 is_applying=false] 距离离开容许度：[days_until_end 换算后]
  解读：[interpretation]（若为空显示"无"）
```

规则与月亮相位相同，区别在于行星名称来自 `transit_planet` 字段而非固定"月亮"。

**示例（基于用户提供的JSON）：**
```
✨ 内行星相位
· **金星 对分相 本命太阳**（容许度：1.00°）(入相位)
  已持续：约 19 小时
  距离精确相位：约 19 小时
  解读：今天情感、关系、美感与自我、目标、生命力形成对立、平衡，注意情感平衡，避免过度要求或冲突。

· **金星 三分相 本命土星**（容许度：1.11°）(出相位)
  已持续：约 21 小时
  距离离开容许度：约 17 小时
  解读：今天情感、关系、美感与责任、限制、成熟形成和谐、顺畅，情感和谐，适合社交、享受美好事物和表达爱意。

· **火星 四分相 本命土星**（容许度：1.77°）(出相位)
  已持续：约 2.2 天
  距离离开容许度：约 7 小时
  解读：今天行动、冲动、能量与责任、限制、成熟形成挑战、冲突，注意控制冲动，避免急躁和冲突。
```

---

### 8. 结尾

用一句温暖的今日箴言收尾，结合当日月亮星座特点，风格温柔专业。

---

## 错误处理

如果 API 返回 `error` 字段，友好提示用户：
- 401：API Key 无效或已失效，请前往 CelestChart 官网 https://xp.broad-intelli.com 用户中心检查。
- 403：VIP 已过期，请续费后重试。
- 其他：服务暂时不可用，请稍后再试。

