> ## 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

> Lehre die KI über deine App und gib ihr Tools zum Aufrufen.

# Skills

Ein Skill ist ein **Ordner**, der der KI mitteilt, was sie über deine App weiß und damit tun kann. Er enthält:

* `SKILL.md` — Anweisungen, die die KI liest (erforderlich).
* `tools.ts` — eine Liste von Tools, die die KI aufrufen kann (optional).

`SKILL.md` beschreibt die App und ihre Tools; `tools.ts` deklariert die Tools; jedes Tool wird durch eine HTTP-Route in einer der App-Komponenten implementiert.

## Skills definieren

Verweise `kazzle.config.ts` auf die `SKILL.md` jedes Skills. Kazzle nutzt seinen Ordner, daher wird `tools.ts` daneben automatisch erkannt.

```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 mit Frontmatter, gefolgt von Anweisungen, die die KI befolgen soll.

```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` neben einer `SKILL.md` deklariert die Tools, die dieser Skill aufrufen kann. Der vollständige Tool-Vertrag — Deklarationstypen, die Handler-Request/Response-Form und die `content`- vs. `markdown`-Ergebnis-Kanäle — befindet sich in [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[];
```

## Wie die KI Skills nutzt

Die KI liest `SKILL.md` bei Bedarf (nicht alle Skills im Voraus), um ihre Antworten zu fundieren, und kann die in `tools.ts` deklarierten Tools aufrufen. Ein Tool ohne entsprechende Route tut nichts; füge beide zusammen hinzu. `tools.json` wird nicht unterstützt.
