---- import "mind/core/framework/skill" Package skill provides an interface to be implemented by the robot part of a Skill. This function must be implemented in your skill package: func NewSkill() skill.Interface
Scanned 2/12/2026
Install via CLI
openskills install Vincross/mind-documentation# skill
----
import "mind/core/framework/skill"
Package skill provides an interface to be implemented by the robot part of a
Skill.
This function must be implemented in your skill package:
func NewSkill() skill.Interface
## Usage
#### func SkillDataPath
```go
func SkillDataPath() (string, error)
```
Get skill's data path on robot.
#### type Base
```go
type Base struct{}
```
struct Base implements the base Skill interface
#### func (*Base) OnClose
```go
func (b *Base) OnClose()
```
#### func (*Base) OnConnect
```go
func (b *Base) OnConnect()
```
#### func (*Base) OnDisconnect
```go
func (b *Base) OnDisconnect()
```
#### func (*Base) OnRecvJSON
```go
func (b *Base) OnRecvJSON(data []byte)
```
#### func (*Base) OnRecvString
```go
func (b *Base) OnRecvString(data string)
```
#### func (*Base) OnStart
```go
func (b *Base) OnStart()
```
#### type Interface
```go
type Interface interface {
OnStart() // Called when Skill is started.
OnConnect() // OnConnect is called when robot has connected to remote.
OnClose() // OnClose is called when Skill is closed. You have 1 second to do clean up before Skill is force terminated.
OnRecvJSON([]byte) // OnRecvJSON is called when remote send JSON data to robot. Use json.Unmarshal to parse.
OnRecvString(string) // OnRecvString will be called when remote send string data ro robot.
OnDisconnect() // OnDisconnect is called when remote disconnected from robot.
}
```
Interface must be implemented in every skill.
#### type Robotinfo
```go
type Robotinfo struct {
Battery float32 `json:"battery"` // Battery is during 0~1 and 1 means the battery is full of power.
Temperature float32 `json:"temperature"` // The unit of temperature is centigrade.
DiskSpace uint64 `json:"disk_space"` // The unit of diskspace is byte(B).
IsCharging bool `json:"is_charging"`
SN string `json:"sn"`
Nickname string `json:"nickname"`
Owner string `json:"owner"`
Version string `json:"version"`
}
```
Robotinfo is the information of robot.
#### func RobotInfo
```go
func RobotInfo() (Robotinfo, error)
```
Function RobotInfo is used to get the robot's information.
No comments yet. Be the first to comment!