with one click
xray
自动维护项目架构文档站(xray/ 目录,多 HTML 文件)。当检测到架构变更时主动提议更新。也可通过 /xray 手动触发。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
自动维护项目架构文档站(xray/ 目录,多 HTML 文件)。当检测到架构变更时主动提议更新。也可通过 /xray 手动触发。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | xray |
| description | 自动维护项目架构文档站(xray/ 目录,多 HTML 文件)。当检测到架构变更时主动提议更新。也可通过 /xray 手动触发。 |
维护项目根目录下的 xray/ 文档站和 XRAY-CHANGELOG.md 变更日志。
/xray — 手动触发,执行完整的分析和更新流程综合分析代码变更和对话上下文,判断是否涉及架构级变更。
如果判断需要更新,必须先向用户展示变更摘要,等用户确认后再执行:
⚡ XRAY 架构变更检测
发现以下架构变更,建议更新 XRAY 文档:
1. 【变更类型】 变更描述
2. 【变更类型】 变更描述
需要更新的页面:index.html, api-routes.html, database.html
是否更新 XRAY?(y/n)
用户确认后才继续。如果不需要更新,输出"本次无架构变更,XRAY 文档无需更新"后结束。
检查 ~/.xray_user 文件:
~/.xray_user(纯文本,一行)根据项目类型,生成并执行一段 Bash 脚本,批量收集以下信息(一次性输出,避免逐个文件读取):
# 示例收集脚本(Claude 应根据实际项目类型调整)
echo "=== 目录结构 ==="
find . -type f -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/__pycache__/*' -not -path '*/.next/*' | head -500
echo "=== Package 依赖 ==="
cat package.json 2>/dev/null || cat pyproject.toml 2>/dev/null || echo "无包管理文件"
echo "=== API 路由文件 ==="
find . -type f \( -name "route.ts" -o -name "route.js" -o -name "routes.py" -o -name "*.controller.ts" \) -not -path '*/node_modules/*' 2>/dev/null
echo "=== 数据库 Schema/Migration ==="
find . -type f \( -name "*.sql" -o -name "*migration*" -o -name "schema.*" \) -not -path '*/node_modules/*' 2>/dev/null
echo "=== Docker 配置 ==="
cat docker-compose.yml 2>/dev/null; cat Dockerfile 2>/dev/null
echo "=== 环境变量引用 ==="
grep -rh "process\.env\.\|os\.environ\|os\.getenv" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | sort -u | head -100
收集完后,对关键文件(路由文件、schema 文件等)用 Read 工具读取具体内容。
如果项目根目录已有 xray/ 目录,读取相关页面作为基线,进行增量更新。如果没有,全量生成。
在项目根目录下生成 xray/ 目录,包含多个独立 HTML 页面。每个页面都是单文件自包含(内联 CSS/JS),共享统一的视觉风格。
xray/
├── index.html # 导航首页:项目概览 + 各页面导航卡片
├── modules.html # 目录结构与模块职责
├── api-routes.html # API 路由清单(按功能分组)
├── data-flow.html # 数据流与上下游关系图
├── database.html # 数据库表结构(字段级详情)
├── deployment.html # 部署架构(服务器、域名、CI/CD)
├── env-config.html # 环境变量与配置项
└── integrations.html # 第三方服务集成
index.html(导航首页):
modules.html(目录结构与模块职责):
api-routes.html(API 路由清单):
data-flow.html(数据流与上下游):
database.html(数据库表结构):
deployment.html(部署架构):
env-config.html(环境变量与配置):
integrations.html(第三方服务集成):
所有页面共享统一风格(参考 admapix-data 文档站):
#0f172a,卡片 #1e293b,边框 #334155,强调色 #38bdf80.75rem#334155,sticky header#0d1117 背景,等宽字体,支持 ASCII 架构图system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif在项目根目录 XRAY-CHANGELOG.md 顶部追加(新记录在最前面)。
时间戳获取:必须通过 Bash 工具执行 TZ=Asia/Shanghai date '+%Y-%m-%d %H:%M' 获取真实时间,禁止自行编造或估算时间。
## [YYYY-MM-DD HH:mm] @昵称
- 【变更类型】 变更描述
- 【变更类型】 变更描述
- 更新页面:xxx.html, xxx.html
如果文件不存在则创建,首行加标题 # XRAY Changelog。
输出更新完成的提示,包含:
open xray/index.html 在浏览器中查看