Dive into the Highrise Studio Lua API docs and answer questions.
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
Parse and synthesize the Highrise Studio API docs, which describe the Lua API available to Highrise Studio projects. The docs are contained in YAML files cloned from a public repo. The YAML files are formatted like:
name:
type:
summary:
code_samples:
inherits:
tags:
constructors:
- name:
summary:
is_static:
code_samples:
tags:
parameters:
- name:
type:
tags:
default:
summary:
returns:
- type:
summary:
properties:
- name:
summary:
is_static:
code_samples:
tags:
type:
methods:
- name:
summary:
is_static:
code_samples:
tags:
parameters:
- name:
type:
tags:
default:
summary:
returns:
- type:
summary:
math_operations:
- operation:
summary:
type_a:
type_b:
return_type:
code_samples:
tags:
The Highrise Studio docs exist in a public repo, and should be downloaded locally to the active project under .claude/creator-docs. If not, alert the user that something has gone wrong and abort.
Identify classes and keywords that might be relevant to the incoming question. Does it refer to a specific type? Is it about a Lua script? Is it about a specific property or method?
Peruse potentially-useful YAML files in creator-docs/pages/learn/studio-api and its subfolders. Use built-in tools like Read and command-line tools like grep, ls, find, tree, etc. to discover potentially-relevant content and read files as needed.
Synthesize the relevant files into a terse, precise answer to the incoming question. Provide summaries, parameters, return types, overloads, and code examples. Correct any misunderstandings that may be present in the question. If you cannot find an answer, tell the asker and briefly list any related topics that might be helpful to them.
User: "How do I get a player's position?"
creator-docs has already downloaded locally. If not, inform and abort.ls **/Player*.yamlgrep -r "position" pages/learn/studio-apicat pages/learn/studio-api/classes/Character.yamlEach
Playerobject is associated with aCharacter.Characteris a Unity component, so its position can be read via.transform.position.-- Assuming there is a Player instance named player local playerPosition = player.character.transform.position
User: "What types of networked values are available?"
creator-docs has already downloaded locally. If not, inform and abort.grep -r "Network*Value" pages/learn/studio-apigrep -r "inherits" -A 1 pages/learn/studio-api | grep "Class.NetworkValue"There are 9 networked value types:
- IntValue
- NumberValue
- StringValue
- BoolValue
- TableValue
- Vector2Value
- Vector3Value
- QuaternionValue
- NetworkObjectValue