用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/octos-org/octos --skill skill-creator命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | skill-creator |
| description | Create custom skill packages with instructions, tools, and assets. |
| version | 1.0.0 |
| author | octos |
Create skill packages that extend the agent with new knowledge and tools.
A skill package is a directory with at least a SKILL.md file:
my-skill/
SKILL.md # Required: agent instructions + frontmatter
manifest.json # Optional: declares tool executables
Cargo.toml # Optional: Rust crate (if tool is written in Rust)
src/main.rs # Optional: tool source code
package.json # Optional: Node.js dependencies
scripts/ # Optional: helper scripts
references/ # Optional: reference docs
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
author: your-name
always: false
requires_bins: docker,kubectl
requires_env: GITHUB_TOKEN
---
# Skill Title
Instructions for the agent on how to use this skill.
Include examples, tool usage patterns, and best practices.
| Field | Required | Description |
|---|---|---|
name | Yes | Skill identifier (lowercase, hyphens) |
description | Yes | One-line description (shown in skill index) |
version | No | Semver version (e.g. 1.0.0) |
author | No | Author name or org |
always | No | true to auto-load in every prompt (default: false) |
requires_bins | No | Comma-separated binaries that must be on PATH |
requires_env | No | Comma-separated env vars that must be set |
To provide executable tools that the agent can call, add a manifest.json:
{
"name": "my-skill",
"version": "1.0.0",
"tools": [
{
"name": "my_tool",
"description": "What this tool does (shown to the LLM)",
"input_schema": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "Search query"},
"limit": {"type": "integer", "description": "Max results", "default": 10}
The tool executable receives JSON on stdin and must output JSON on stdout:
stdin: {"query": "rust async", "limit": 5}
stdout: {"output": "Results here...", "success": true}
The PluginLoader looks for executables in this order:
<skill-dir>/main — pre-built binary (downloaded from registry or built locally)<skill-dir>/<skill-name> — named binary<skill-dir>/index.js — Node.js script (run via node)Add a Cargo.toml and src/main.rs. During octos skills install, the system will:
cargo build --release if no binary is available// src/main.rs
use serde::{Deserialize, Serialize};
use std::io::Read;
#[derive(Deserialize)]
struct Input {
query: String,
#[serde(default = "default_limit")]
limit: usize,
}
fn default_limit() -> usize { 10 }
#[derive(Serialize)]
struct Output {
output: String,
success: bool,
}
fn main() {
let mut input = String::new();
std::io::stdin().read_to_string(&mut input).unwrap();
let args: Input = serde_json::from_str(&input).unwrap();
// Your tool logic here
let result = format!("Searched for '{}', limit {}", args.query, args.limit);
let output = Output { output: result, success: true };
println!("{}", serde_json::to_string(&output).unwrap());
}
Add a package.json and index.js. During install, npm install runs automatically.
// index.js
const input = JSON.parse(require('fs').readFileSync('/dev/stdin', 'utf8'));
const result = { output: `Processed: ${input.query}`, success: true };
console.log(JSON.stringify(result));
A single repo can contain multiple skills as top-level directories:
my-skills-repo/
skill-a/
SKILL.md
skill-b/
SKILL.md
manifest.json
src/main.rs
shared-lib/ # Shared deps auto-detected
...
Install all: octos skills install user/my-skills-repo
Install one: octos skills install user/my-skills-repo/skill-a
always: true are included in every system promptread_filerequires_bins to gate skills needing external toolsalways: true sparingly (adds to every prompt)List and control smart-home devices (lights, thermostats, switches, covers, speakers) via the profile's configured bridge. Triggers: smart home, turn on/off, lights, thermostat, dim, brightness, temperature, unlock, devices, 智能家居, 开灯, 关灯, 空调, 窗帘, 灯光, 设备.
Batch ASR (via dedicated ASR_API_URL or OminiX fallback), preset-voice TTS with emotion/speed control, and model management via Qwen3 models on Apple Silicon. For voice cloning and custom voice profiles, use mofa-fm. Triggers: voice, transcribe audio, text to speech, speak this, read aloud, model management, download model, 语音识别, 语音合成, 模型管理.
Summarizes a text file into a compact report. Used as a third-party compatibility harness. Triggers: summarize, summary, compat-test, harness check.
基于 SOC 职业分类