MasterGo Skill
Retrieve and analyze design data from MasterGo files using self-contained Python scripts.
Prerequisites
Environment variable required:
export MASTERGO_TOKEN="mg_your_token_here"
Get token: MasterGo Settings > Security > Personal Access Token
Requirements: Team Edition account, files in Team Projects (not Drafts).
CRITICAL: Secure Token Handling
NEVER do this:
echo $MASTERGO_TOKEN- exposes secret in outputecho "Token: $MASTERGO_TOKEN"- exposes secretprintenv MASTERGO_TOKEN- exposes secret- Any command that prints the token value
Secure verification method:
test -n "$MASTERGO_TOKEN" && echo "Token is set" || echo "Token is NOT set"
This only prints whether the token exists, never its value.
Script Location
Scripts are in scripts/ relative to this SKILL.md file. Use absolute path when executing:
{this_skill_directory}/scripts/mastergo_*.py
Workflow
Step 1: Analyze DSL Structure
Always analyze first to understand the page structure:
python scripts/mastergo_analyze.py "https://mastergo.com/goto/xxx"
Output shows:
- Node tree (type, name, size)
- Text contents
- Component doc links
- Navigation targets
Step 2: Get Full DSL (if needed)
For detailed DSL data:
python scripts/mastergo_get_dsl.py "https://mastergo.com/goto/xxx"
Output: JSON with { dsl, componentDocumentLinks, rules }
Step 3: Fetch Component Docs
If componentDocumentLinks is non-empty, fetch relevant docs:
python scripts/mastergo_get_dsl.py URL | python scripts/mastergo_fetch_docs.py --from-dsl
Or fetch individually:
python scripts/mastergo_fetch_docs.py "https://example.com/button.mdx"
Scripts Reference
| Script | Purpose | Output |
|---|---|---|
mastergo_analyze.py | Structure summary | Human-readable tree to stdout |
mastergo_get_dsl.py | Full DSL data | JSON to stdout |
mastergo_fetch_docs.py | Component docs | Doc content to stdout |
mastergo_utils.py | Utility functions | Import as module |
DSL Key Concepts
tokenfields: Design tokens for colors, shadows, fonts (convert to CSS variables when generating code)componentInfo: Component metadata including documentation linksinteractivefields: User interactions including page navigation targetsrulesarray: Guidelines returned with DSL response
CRITICAL: Do NOT Pollute User Projects
FORBIDDEN actions:
- Creating
.temp_dsl.jsonor any DSL cache file in user project - Creating
analyze_dsl.pyor any analysis script in user project - Creating any temporary files in user project directory
- Writing any skill-related files outside of skill directory
ALLOWED:
- Running scripts and capturing stdout output
- Using output directly in memory
- Reading user's existing project files for context
All script output goes to stdout only. Use the output directly; do not save intermediate files to user's project.
References
- references/dsl-types.md - Complete DSL type definitions
- references/dsl-structure.md - Key fields and patterns
- references/multi-page-workflow.md - Multi-page workflow