用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/srbryers/Yumi --skill add-tool命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | add-tool |
| description | Scaffold a new Pi SDK tool for the YuBot agent runtime with TypeBox schema, implementation, and tests |
| invocation | user |
| user_invocation | /add-tool |
Scaffold a new tool for the YuBot agent runtime (Pi SDK).
The user provides:
get_user_profile)Create packages/agent-runtime/src/tools/{tool_name}.ts:
import { Type, Static } from '@sinclair/typebox';
import { Tool } from '../types';
export const {ToolName}Schema = Type.Object({
// parameters from user input
});
export type {ToolName}Input = Static<typeof {ToolName}Schema>;
const {toolName}Tool: Tool = {
name: '{tool_name}',
description: '{description}',
schema: {ToolName}Schema,
async execute(input: {ToolName}Input, { db, abortSignal }) {
// TODO: implement
throw new Error('Not implemented');
},
};
export default {toolName}Tool;
Create packages/agent-runtime/src/tools/{tool_name}.test.ts:
import { describe, it, expect, vi } from 'vitest';
import {toolName}Tool from './{tool_name}';
describe('{tool_name}', () => {
it('should have correct name and schema', () => {
expect({toolName}Tool.name).toBe('{tool_name}');
expect({toolName}Tool.schema).toBeDefined();
});
it('should execute successfully with valid input', async () => {
// TODO: mock db, test execution
});
it('should handle abort signal', async () => {
// TODO: test cancellation
});
});
Add the tool to packages/agent-runtime/src/tools/index.ts:
import {toolName}Tool from './{tool_name}';
// ... add to tools array
bun --filter agent-runtime typecheck to verify typesexecute functionbun --filter agent-runtime test to verify