Method 1: Write instructions manually
Go to Skills in the sidebar and click Add Skill, then select Write skill instructions. Fill in the following fields:| Field | Required | Limit | Description |
|---|---|---|---|
| Name | Yes | 64 characters | A short, human-readable title, for example “Weekly Status Report”. |
| Handle | No | 100 characters | The internal identifier for the Skill. Auto-generated from the name as lowercase letters, numbers, and dashes. You can set it manually if needed. |
| Description | No | 1,024 characters | One or two sentences describing when this Skill should be used. The AI reads this to decide whether to activate the Skill. |
| Instructions | Yes | 50,000 characters | The actual content: what to do, how to format the output, what to include or avoid. Plain text or Markdown. |
| Integrations | No | Optionally attach integrations whose actions become available when this Skill is active. See Skills and Integrations. |
The description field
The description is critical. The AI reads it on every message to decide whether this Skill is relevant. A vague description causes the Skill to activate at the wrong time, or not at all.| Example | |
|---|---|
| Too vague | Status reports. |
| Effective | Use when asked for a status update, progress summary, or weekly report. |
Method 2: Create with chat
Go to Skills, click Add Skill, then select Create with chat. Describe what you want in plain language and Langdock generates the name, description, and instructions for you. This is the fastest starting point if you are not sure how to phrase the instructions. You can review and edit everything the AI generates before saving.Method 3: Upload a SKILL.md file or ZIP bundle
Skills can be packaged as aSKILL.md file or a .zip archive for Skills that include supporting files.
Go to Skills, click Add Skill, then select Upload a skill and drag in your file.
SKILL.md format
ASKILL.md file is a Markdown file with a YAML frontmatter block at the top:
| Field | Required | Description |
|---|---|---|
name | Yes | Display name, up to 64 characters. |
slug | No | The handle. Auto-generated from the name if not provided. Lowercase letters, numbers, and dashes only. |
description | No | Up to 1,024 characters. |
license | No | Optional license field. |
ZIP bundle
A ZIP archive can contain aSKILL.md file plus supporting files such as scripts, references, or assets.
Structure: The SKILL.md must be at the root of the archive or inside a single top-level directory.
Allowed file types: .md, .mdx, .txt, .py, .sh, .js, .ts, .json, .yaml, .yml, .toml, .csv, .xml, .xsd, .html, .css, .svg, .pdf, .docx, .xlsx, .pptx, .png, .jpg, .jpeg, .gif, .webp
Size limits:
| Limit | Value |
|---|---|
| ZIP file size | 25 MB |
| Uncompressed total | 10 MB |
| Individual file | 5 MB |
| Maximum file count | 200 files |
Writing good instructions
The quality of a Skill depends almost entirely on the quality of its instructions.- Be specific about the output. Do not say “summarize things.” Say “write a three-section summary with: (1) key decisions made, (2) open questions, (3) next steps. Each section should be 3 to 5 bullet points.”
- Write the description as if explaining to a new colleague. Vague descriptions cause the AI to activate the Skill at the wrong time, or not at all.
- Test before sharing. Install the Skill, start a new chat, and see if the AI behaves as expected. Adjust based on what you observe.
- Keep instructions focused. A Skill that does one thing well is more reliable than one that tries to cover many cases.
- Include concrete trigger phrases in the description. Examples: “when asked for updates,” “when drafting a reply to a customer,” “when summarizing a meeting.”
Limitations
| What | Limit |
|---|---|
| Active Skills per user | 20 |
| Workspace-applied Skills | 8 |
| Skill name | 64 characters |
| Description | 1,024 characters |
| Instructions | 50,000 characters |
| ZIP file size | 25 MB |
| Uncompressed bundle size | 10 MB |
- Skills do not have memory across sessions. Instructions are re-read fresh at the start of each conversation. For persistent memory, use Chat Memory.
- Skills cannot access live data on their own. Unless linked to an integration, a Skill only provides instructions and does not fetch real-time information.
- No version history. When you update a Skill’s instructions, the previous version is not saved.