69868a0ab6
## Summary - Remove the \"Apps are currently in alpha\" warning from 8 pages under `developers/extend/apps/` (getting-started, architecture/building, data-model, layout, logic-functions, front-components, cli-and-testing, publishing). - Keep the warning on the Skills & Agents page only, and reword it to scope it to that feature: \"Skills and agents are currently in alpha. The feature works but is still evolving.\" ## Test plan - [ ] Preview docs build and confirm the warning banner no longer appears on the 8 pages above. - [ ] Confirm the warning still renders on the Skills & Agents page with the updated wording. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
70 lines
2.6 KiB
Plaintext
70 lines
2.6 KiB
Plaintext
---
|
|
title: Skills & Agents
|
|
description: Define AI skills and agents for your app.
|
|
icon: "robot"
|
|
---
|
|
|
|
<Warning>
|
|
Skills and agents are currently in alpha. The feature works but is still evolving.
|
|
</Warning>
|
|
|
|
Apps can define AI capabilities that live inside the workspace — reusable skill instructions and agents with custom system prompts.
|
|
|
|
<AccordionGroup>
|
|
<Accordion title="defineSkill" description="Define AI agent skills">
|
|
|
|
Skills define reusable instructions and capabilities that AI agents can use within your workspace. Use `defineSkill()` to define skills with built-in validation:
|
|
|
|
```ts src/skills/example-skill.ts
|
|
import { defineSkill } from 'twenty-sdk/define';
|
|
|
|
export default defineSkill({
|
|
universalIdentifier: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
|
|
name: 'sales-outreach',
|
|
label: 'Sales Outreach',
|
|
description: 'Guides the AI agent through a structured sales outreach process',
|
|
icon: 'IconBrain',
|
|
content: `You are a sales outreach assistant. When reaching out to a prospect:
|
|
1. Research the company and recent news
|
|
2. Identify the prospect's role and likely pain points
|
|
3. Draft a personalized message referencing specific details
|
|
4. Keep the tone professional but conversational`,
|
|
});
|
|
```
|
|
|
|
Key points:
|
|
- `name` is a unique identifier string for the skill (kebab-case recommended).
|
|
- `label` is the human-readable display name shown in the UI.
|
|
- `content` contains the skill instructions — this is the text the AI agent uses.
|
|
- `icon` (optional) sets the icon displayed in the UI.
|
|
- `description` (optional) provides additional context about the skill's purpose.
|
|
|
|
</Accordion>
|
|
<Accordion title="defineAgent" description="Define AI agents with custom prompts">
|
|
|
|
Agents are AI assistants that live inside your workspace. Use `defineAgent()` to create agents with a custom system prompt:
|
|
|
|
```ts src/agents/example-agent.ts
|
|
import { defineAgent } from 'twenty-sdk/define';
|
|
|
|
export default defineAgent({
|
|
universalIdentifier: 'b3c4d5e6-f7a8-9012-bcde-f34567890123',
|
|
name: 'sales-assistant',
|
|
label: 'Sales Assistant',
|
|
description: 'Helps the sales team draft outreach emails and research prospects',
|
|
icon: 'IconRobot',
|
|
prompt: 'You are a helpful sales assistant. Help users with their questions and tasks.',
|
|
});
|
|
```
|
|
|
|
Key points:
|
|
- `name` is the unique identifier string for the agent (kebab-case recommended).
|
|
- `label` is the display name shown in the UI.
|
|
- `prompt` is the system prompt that defines the agent's behavior.
|
|
- `description` (optional) provides context about what the agent does.
|
|
- `icon` (optional) sets the icon displayed in the UI.
|
|
- `modelId` (optional) overrides the default AI model used by the agent.
|
|
|
|
</Accordion>
|
|
</AccordionGroup>
|