> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kazzle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

> Dạy AI về ứng dụng của bạn và cung cấp cho nó các công cụ để gọi.

# Skills

Một skill là một **thư mục** cho AI biết nó biết gì và có thể làm gì với ứng dụng của bạn. Nó bao gồm:

* `SKILL.md` — hướng dẫn mà AI đọc (bắt buộc).
* `tools.ts` — danh sách các công cụ mà AI có thể gọi (tùy chọn).

`SKILL.md` mô tả ứng dụng và các công cụ của nó; `tools.ts` khai báo các công cụ; mỗi công cụ được triển khai bởi một tuyến HTTP trong một trong các thành phần của ứng dụng của bạn.

## Định nghĩa skills

Trỏ `kazzle.config.ts` đến `SKILL.md` của mỗi skill. Kazzle sử dụng thư mục của nó, vì vậy `tools.ts` bên cạnh nó sẽ được chọn tự động.

```typescript theme={"theme":"material-theme-darker"}
import { defineConfig } from '@kazzle/app';

export default defineConfig({
  components: [{ name: 'api', type: 'process', path: './components/api/index.ts' }],
  skills: [
    { name: 'API guide', path: './skills/api/SKILL.md' },
  ],
});
```

## SKILL.md

Markdown với frontmatter, sau đó là hướng dẫn mà AI nên tuân theo.

```markdown theme={"theme":"material-theme-darker"}
---
name: API guide
description: How to use this app's tools.
alwaysActive: true
---

Use `save_bookmark` to store a link. It returns a confirmation.
```

## tools.ts

`tools.ts` bên cạnh `SKILL.md` khai báo các công cụ mà skill đó có thể gọi. Hợp đồng công cụ đầy đủ — các loại khai báo, hình dạng yêu cầu/phản hồi của trình xử lý, và các kênh kết quả `content` so với `markdown` — nằm trong [Tools](/apps/tools).

```ts theme={"theme":"material-theme-darker"}
import { z } from 'zod';
import type { KazzleTool } from '@kazzle/app/tools';

export const tools = [
  {
    name: 'save_bookmark',
    displayName: 'Save bookmark',
    description: 'Save a bookmark URL and return a confirmation.',
    input: z.object({ url: z.string().url(), title: z.string().optional() }).strict(),
    target: {
      type: 'app',
      component: 'api',
      path: '/tools/save-bookmark',
      method: 'POST',
      body: '${input}',
    },
  },
] as const satisfies readonly KazzleTool[];
```

## Cách AI sử dụng skills

AI đọc `SKILL.md` theo yêu cầu (không phải tất cả các skills từ đầu) để làm cơ sở cho câu trả lời của nó, và có thể gọi các công cụ được khai báo trong `tools.ts`. Một công cụ không có tuyến phù hợp sẽ không làm gì; hãy thêm cả hai lại với nhau. `tools.json` không được hỗ trợ.
