关于 mastergo
通过 Python 脚本获取并分析 MasterGo 文件中的设计数据,适用于需要查看页面结构、DSL 详情、组件文档和设计元数据的工作流。
主要功能
- 01分析页面节点树
- 02获取完整 DSL JSON
- 03抓取关联组件文档
- 04检查设计令牌与交互
- 05通过标准输出运行脚本
适用场景
- 01检查 MasterGo 页面结构
- 02提取设计数据用于代码生成
- 03查看组件文档链接
- 04检查导航与交互详情
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jeasonstudio/ mastergo-skills --skill mastergo安装后在 Claude Code 中输入/mastergo确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSE.gitignoreREADME.mdREADME.zh-CN.md.cursor/skills/skill-creator/LICENSE.txt.cursor/skills/skill-creator/references/output-patterns.mdworkflows.md.cursor/skills/skill-creator/scripts/package_skill.pyquick_validate.pyinit_skill.pyreferences/multi-page-workflow.mddsl-types.mddsl-structure.mdscripts/mastergo_analyze.pymastergo_get_dsl.pymastergo_utils.pymastergo_fetch_docs.py详细介绍
MasterGo 技能
使用独立的 Python 脚本从 MasterGo 文件中获取并分析设计数据。
前置条件
必需的环境变量:
export MASTERGO_TOKEN="mg_your_token_here"
获取令牌:MasterGo Settings > Security > Personal Access Token
要求:Team Edition 账户,文件位于 Team Projects(而非 Drafts)中。
重要:安全处理令牌
绝对不要这样做:
echo $MASTERGO_TOKEN- 会在输出中暴露密钥echo "Token: $MASTERGO_TOKEN"- 会暴露密钥printenv MASTERGO_TOKEN- 会暴露密钥- 任何会打印令牌值的命令
安全的验证方法:
test -n "$MASTERGO_TOKEN" && echo "Token is set" || echo "Token is NOT set"
此方法只会打印令牌是否存在,绝不会显示其值。
脚本位置
脚本位于相对于此 SKILL.md 文件的 scripts/ 目录中。执行时请使用绝对路径:
{this_skill_directory}/scripts/mastergo_*.py
工作流
步骤 1:分析 DSL 结构
务必先进行分析,以了解页面结构:
python scripts/mastergo_analyze.py "https://mastergo.com/goto/xxx"
输出包含:
- 节点树(类型、名称、尺寸)
- 文本内容
- 组件文档链接
- 导航目标
步骤 2:获取完整 DSL(如有需要)
获取详细的 DSL 数据:
python scripts/mastergo_get_dsl.py "https://mastergo.com/goto/xxx"
输出:包含 { dsl, componentDocumentLinks, rules } 的 JSON
步骤 3:获取组件文档
如果 componentDocumentLinks 不为空,请获取相关文档:
python scripts/mastergo_get_dsl.py URL | python scripts/mastergo_fetch_docs.py --from-dsl
或者逐个获取:
python scripts/mastergo_fetch_docs.py "https://example.com/button.mdx"
脚本参考
| 脚本 | 用途 | 输出 |
|---|---|---|
mastergo_analyze.py | 结构摘要 | 输出到 stdout 的易读树状结构 |
mastergo_get_dsl.py | 完整 DSL 数据 | 输出到 stdout 的 JSON |
mastergo_fetch_docs.py | 组件文档 | 输出到 stdout 的文档内容 |
mastergo_utils.py | 工具函数 | 作为模块导入 |
DSL 核心概念
token字段:颜色、阴影、字体的设计令牌(生成代码时转换为 CSS 变量)componentInfo:组件元数据,包括文档链接interactive字段:用户交互,包括页面导航目标rules数组:随 DSL 响应返回的指南
重要:不要污染用户项目
禁止的操作:
- 在用户项目中创建
.temp_dsl.json或任何 DSL 缓存文件 - 在用户项目中创建
analyze_dsl.py或任何分析脚本 - 在用户项目目录中创建任何临时文件
- 在技能目录之外写入任何与技能相关的文件
允许的操作:
- 运行脚本并捕获 stdout 输出
- 直接在内存中使用输出
- 读取用户现有的项目文件以了解上下文
所有脚本输出都只会写入 stdout。请直接使用输出;不要将中间文件保存到用户项目中。
参考资料
- references/dsl-types.md - 完整的 DSL 类型定义
- references/dsl-structure.md - 关键字段和模式
- references/multi-page-workflow.md - 多页面工作流
评论
支持 Markdown