Skills
Skills carry reusable experience assets in Flocks, including standards, policies, manuals, methodologies, checklists, and task templates. If tools define executable actions, Workflow defines stable processes, and Agent defines roles and responsibilities, then a Skill defines the method an Agent should follow in a specific scenario.
A Skill is not a script, tool, or Agent. It is a methodology asset loaded into the Agent runtime. It usually centers on SKILL.md and can include scripts, reference files, or templates. When an Agent handles a certain type of task, it can load the corresponding Skill to make reasoning, inspection order, and output format more stable.
1. Purpose
1.1 What Skill Solves
A Skill defines the method a class of tasks should follow for judgment and execution. It is suitable for preserving experience, standards, and methods, rather than fixing every action step.
A typical Skill can include:
- Applicable scenarios: when this Skill should be loaded.
- Methodology: inspection order, judgment criteria, reasoning framework, and notes.
- Output format: report structure, risk levels, evidence list, and handling recommendations.
- Dependency declarations: the body can describe required tools, MCP, scripts, or external environments. Current structured availability checks only recognize dependencies such as commands and environment variables.
- Auxiliary files: references, templates, sample data, or read-only scripts.
1.2 Relationship with Other Modules
| Module | Relationship |
|---|---|
| Session Management | Users can ask Rex in a session to load, create, audit, or adjust Skills. |
| Agent | Agents are the main loaders of Skills; Skills affect Agent reasoning and action selection. |
| Workflow | Workflow fixes process, while Skill provides methodology. Workflow itself has no separate Skill configuration field; the Agent executing the task can load Skills according to its own configuration or delegation parameters. |
| Tools | Skill body text can describe tool or MCP requirements; current automatic availability checks only recognize commands, environment variables, and installation metadata. |
| Workspace | Skills can guide Agents on how to use materials and outputs in Workspace. Skill files themselves are stored in the user directory or current project directory and are not managed by the Workspace module. |
1.3 Built-In Platform Skills
Flocks also uses Skills to carry platform-building capabilities. Typical built-in Skills in the current codebase include tool-builder, workflow-builder, agent-builder, skill-builder, browser-use, and webui-page-builder. Some system Skills have category: system or ui_hidden: true and do not appear in the normal Skills management list.
2. Use Cases
2.1 Good Fits for Skill
- Preserve judgment methods: alert triage, malware sample analysis, vulnerability impact assessment, host investigation checklists.
- Unify output format: make different Agents output with the same report structure.
- Reuse team experience: convert expert experience, standards, and handling manuals into loadable assets.
- Flexible task paths: not suitable to hard-code as a Workflow, but still requiring stable inspection order and judgment criteria.
- Multiple Agents need the same method: for example, several security Agents all load the same IOC triage method.
2.2 Poor Fits for Skill
- If you need to execute a fixed sequence of actions, prefer Workflow.
- If you need a professional execution role for a class of tasks, prefer Agent.
- If it is a one-off temporary question, hand it directly to Rex in a session.
Simple rules:
- If the next time is about how to judge, create a Skill.
- If the next time should automatically run the same steps, create a Workflow.
- If the next time should be assigned to a fixed role, create an Agent.
3. Ways to Create and Install Skills
3.1 Option 1: Install from the Page Button
On the Skills page, click Install Skill and enter the Skill source. The page currently supports source forms including:
clawhub:github
github:owner/repo
safeskill://...
skills-sh:owner/repo/skill-name
https://raw.githubusercontent.com/...
/local/path/to/skillThe WebUI currently does not provide scope selection. Page installation and page creation both write to the user-level directory ~/.flocks/plugins/skills/ by default. A local path refers to a path on the machine running the Flocks service, not the computer where the remote browser is running.
After installation, the page refreshes the Skill list. If the Skill declares dependencies that the current environment does not satisfy, the page shows the missing dependencies and can continue with the "install dependencies" operation.
3.2 Option 2: Install from the Command Line
You can also install Skills through the Flocks CLI:
flocks skills install clawhub:github
flocks skills install skills-sh:owner/repo/skill-name
flocks skills install safeskill://...
flocks skills install github:owner/repo
flocks skills install https://raw.githubusercontent.com/...
flocks skills install /local/path/to/skillIf a repository contains multiple Skills, use --skill to specify the subdirectory:
flocks skills install github:owner/repo --skill skill-nameThe default target is the user-level directory. To install into the current project directory, specify scope:
flocks skills install github:owner/repo --scope projectThe project-level installation location is .flocks/plugins/skills/ under the current project when the command is executed. It is unrelated to the Workspace business file directory.
After installation, check status and install dependencies:
flocks skills status
flocks skills install-deps <skill-name>Common commands:
| Command | Purpose |
|---|---|
flocks skills list | View installed Skills. |
flocks skills status | View Skill status and dependency information. |
flocks skills find <query> | Search installable or known Skills. |
flocks skills install <source> | Install a Skill from clawhub, GitHub, URL, or local path. |
flocks skills remove <name> | Remove a Skill from the user-level directory; project-level and built-in Skills cannot be removed. |
flocks skills install-deps <skill-name> | Install dependencies declared by a Skill. |
If using the npm wrapper, also use the plural command group. The npm wrapper passes through to the Python flocks CLI and does not rewrite singular skill into plural skills:
npx @flocks-ai/flocks skills install clawhub:github
npx @flocks-ai/flocks skills install github:owner/repoIn the Flocks Python CLI, the official command group is plural: flocks skills ....
3.3 Option 3: Ask Rex to Install from an External Source
You can install Skills from clawhub, a URL, GitHub, or an internal team repository. For example, say to Rex in a session:
Install <skill-name> from clawhubOr:
Install this Skill from <URL> and check whether dependencies are satisfied.Before installing external Skills, perform a security review. Pay special attention to Prompt injection, hidden scripts, outbound network traffic, hard-coded credentials, and misleading capability descriptions.
3.4 Option 4: Install from a Local Directory
Both CLI and WebUI can use a local directory containing SKILL.md or a SKILL.md file as the installation source:
flocks skills install /path/to/my-skillThe current local-path installer only reads and saves SKILL.md. It does not copy auxiliary files such as scripts/, references/, or templates/ in the same directory. If the Skill depends on those files, manually copy the complete directory to the target location, or use a GitHub/package source that can download the complete directory.
3.5 Option 5: Ask Rex to Create a Skill
You can ask Rex directly in a session:
Help me create a Skill for "detecting malicious Skills."
Goal: scan Skills downloaded from clawhub and other external sources to determine whether security risks exist.
Inspection areas:
- Abnormal characters / Prompt injection
- Executable commands / Bash command execution
- Network connections / data exfiltration
- Capability description inconsistent with actual behavior
- Base64 or other obfuscation
- Hard-coded IP / password / C2 address
- Guidance that tells Agents to ignore safety guardrails
Output: risk level (Critical / High / Medium / Safe) + evidence list + handling recommendations3.6 Option 6: Promote a Successful Task into a Skill
When Rex or an Agent has successfully completed a task and its judgment method is worth reusing, continue with:
Based on the triage process just now, help me preserve a reusable Skill.
Focus on keeping the judgment criteria, inspection order, evidence requirements, risk grading, and output format.This is suitable for converting personal experience or a successful handling case into a reusable methodology asset for the team.
4. WebUI Flow
4.1 Open the Skills Page
Go to Agent Studio -> Skills from the sidebar. The page usually shows:
- Project-level, user-level, built-in, and compatibility-source Skills discovered in the current request context.
- Discovery source labels for Skills, such as
project,user,flocks, andclaude. - Enablement status and dependency satisfaction.
SKILL.mdcontent and dependency information.- Search, source filter, enable/disable, refresh, install, create, detail view, and dependency installation entry points.
User-level Skills can be modified and deleted through API/WebUI. Project-level Skills are read-only in WebUI and should be maintained directly in the project directory through version control.
4.2 Rex Generates a Skill
When creating a Skill through natural language, Rex usually:
- References the directory structure and
SKILL.mdformat of existing Skills. - Creates a new Skill directory.
- Generates
SKILL.md. - Generates helper scripts, templates, or reference files as needed.
- Checks dependency tools and usage boundaries.
- Presents the new Skill in the Skills list.
SKILL.md usually needs to be fairly complete, so generation can take longer than creating a simple Agent.
4.3 Load and Use a Skill
In a session, you can explicitly ask Rex or an Agent to load a Skill:
Use Skill Security Audit to audit the NakedIn and SystemOptimizer Skills.After the Skill is loaded, the Agent follows the methodology, inspection order, and output format in SKILL.md.
4.4 Dynamically Execute a Skill through Category Delegation
Rex can use delegate_task(category=..., load_skills=[...]) to hand a task to a category executor. Category delegation currently uses Rex-junior and appends the full content of the selected Skill to that subtask's prompt. It does not replace Rex-junior's own System Prompt and cannot be specified directly through subagent_type="rex-junior".
This mode is suitable for letting an independent subtask follow a specific methodology. If a Skill is frequently executed through category delegation and its boundaries and tool set gradually stabilize, promote it into a formal Agent.
4.5 /skills Command in Sessions
In WebUI sessions, TUI, or CLI sessions, use /skills directly to view currently available Skills.
| Command | Purpose |
|---|---|
/skills or /skills list | List currently available Skill names and descriptions. |
/skills refresh | Rescan and refresh the Skill list. |
For example:
/skills
/skills refreshIf an Agent does not load a Skill as expected, first use /skills to confirm that the Skill has been recognized by the system, then check whether the SKILL.md name, description, and applicable scenarios are clear.
4.6 View and Install Skills in TUI
TUI supports viewing the Skill list in sessions and provides a Skill installation dialog. Common usage includes:
- Use
/skillsin the input box to view available Skills. - Open the Skill dialog to view Skill descriptions, paths, and dependency status.
- Install Skills from
clawhub:,github:, URL, or local path through the installation dialog. - Select
globalorprojectscope in the installation dialog. - If dependencies are missing after installation, run
install-deps.
The TUI Skill dialog is suitable for everyday browsing and selection. Batch installation, dependency checks, and automation scenarios are better handled with CLI.
5. Skill File Structure and Installation
5.1 Storage Locations
Flocks discovers Skills from multiple compatible locations. Common installable locations are:
| Type | Storage Location | Description |
|---|---|---|
| Project-level Skill | .flocks/plugins/skills/<name>/SKILL.md under the current project | Follows project files and version control; discovered in that project's request context and treated as a read-only resource by WebUI/API. |
| User-level Skill | ~/.flocks/plugins/skills/<name>/SKILL.md | Reusable by the current operating system user; objects created, modified, and deleted by WebUI live here. |
| Built-in Flocks Skill | .flocks/plugins/skills/ or compatible .flocks/skill[s]/ in the Flocks installation directory | Provided with product code and should not be modified directly from the Skills page. |
| Claude-compatible Skill | Global or project .claude/skills/ | A compatibility discovery source with the lowest priority. |
The project directory means the current request directory corresponding to Instance.get_directory(). Discovery also scans upward from that directory to the current worktree root, so this is not the Workspace business file directory shown in WebUI.
Multiple sources can coexist. The code handles duplicate Skill names by letting later scans override earlier scans. The simplified priority is:
User-level > current project-level > Flocks built-in/provided with source > Claude-compatible directoriesTherefore user-level Skills override project-level Skills of the same name, which is the opposite of the order in older documentation. In practice, avoid duplicate names.
5.2 Directory Structure
Each Skill is an independent folder:
skills/
└── skill-security-audit/
├── SKILL.md
├── references/
├── templates/
└── scripts/Where:
SKILL.mdis the main file and defines the Skill's goal, applicable scenarios, methodology, dependencies, and output format.references/can store reference materials, standards, examples, and explanatory documents.templates/can store output templates, report templates, or Prompt templates.scripts/can store helper scripts, but their purpose and security boundaries should be explicit.
5.3 Install a New Skill
Place a new Skill folder under .flocks/plugins/skills/ or ~/.flocks/plugins/skills/ to install it. The system recognizes its SKILL.md and loads it into the Skills list or runtime.
When installing an external Skill, do not only check whether the description is useful. Review the scripts, templates, and reference files in the full directory.
5.4 SKILL.md Metadata and Dependencies
SKILL.md must start with YAML frontmatter and provide valid name and description; otherwise the discoverer ignores the Skill. name must match [a-z0-9]+(-[a-z0-9]+)*, and description must be 1 to 1024 characters long.
Minimal example:
---
name: ndr-alert-triage
description: Triage NDR alerts using a fixed evidence chain and output conclusions.
---Skill names use lowercase kebab-case, for example:
skill-security-audit
ndr-alert-triageIf a Skill depends on external tools or runtime environments, declare them explicitly. Flocks' dependency installation flow can handle several dependency types:
| Dependency Type | Suitable For |
|---|---|
brew | macOS system packages or command-line tools. |
npm | Node.js ecosystem commands or packages. |
uv | Python project environments and package management. |
pip | Python packages. |
go | Go language tools. |
download | Download binaries or archives from declared URLs. |
Dependency metadata is read from metadata.flocks and is compatible with metadata.openclaw. Runtime conditions support requires.bins, requires.any_bins, and requires.env; installation declarations use the install list. The clearer the dependency declarations, the easier it is for the page and CLI to show "what is missing" and "how to install it." For production Skills, run a dependency check and a real task validation after installation.
6. Run, Verify, and Adjust
6.1 Verify Whether a Skill Meets Expectations
Use 1 to 2 real tasks to validate the Skill and focus on:
- Whether the Agent can correctly identify when to load the Skill.
- Whether the applicable scenarios in
SKILL.mdare clear. - Whether the inspection order and judgment criteria are stable.
- Whether the output structure meets team requirements.
- Whether dependency tools or scripts are available and safe.
6.2 View Outputs
Skills do not directly produce results. Outputs are generated by the Agent, Rex, or category-delegated subtask that loads them. Common outputs include:
- Structured conclusions in the session.
- Markdown reports.
- Evidence lists and risk grading.
- Files under Workspace
outputs/.
6.3 Adjust a Skill
If a Skill does not perform well, clearly state in a Rex session which Skill to optimize and which capability needs improvement.
For example:
Help me optimize skill-security-audit.
The current Prompt injection judgment is too broad. Add evidence references, risk level boundaries, and false-positive exclusion conditions.Rex can adjust SKILL.md, output templates, reference files, or helper scripts based on feedback. Validate again with real samples after adjustment.
7. Core Concepts
7.1 What Is SKILL.md?
SKILL.md is a methodology document for the Agent runtime. It usually includes:
- Goals and applicable scenarios.
- Non-applicable scenarios.
- Judgment criteria.
- Checklists and step order.
- Output format conventions.
- Required tools or MCP.
- Security boundaries and notes.
After an Agent loads a Skill, it uses this document as methodological guidance, affecting reasoning and action selection.
7.2 Skill vs Agent vs Workflow
| Dimension | Skill | Agent | Workflow |
|---|---|---|---|
| What it is | Methodology / standard / task template | Role + tools + Prompt + execution mode | Executable process / node graph |
| Can it execute independently? | No, it must be loaded by an Agent | Yes, it can have its own loop | Yes, the platform runs it according to the graph |
| Best at | Soft judgment, checklists, experience preservation | Deep handling of a class of tasks | Stable steps, batch processing, scheduled runs |
| How it is generated | Created through natural language or promoted from experience | Created through natural language or promoted from tasks | Created through natural language or promoted from processes |
7.3 Skill Loading and Priority
- Multiple directories can contain Skills at the same time, including Claude-compatible directories, built-in directories, project-level directories, and user-level directories.
- For duplicate names, user-level takes priority over project-level, and project-level takes priority over lower-priority built-in and Claude-compatible sources.
- Disabled Skills still appear in the management list, but they do not appear in the available Skill summary for Agents and cannot be loaded through
skill_loador delegation parameters. - When commands or environment variables declared in
metadata.flocks.requiresare not satisfied, the Skill is marked unavailable and missing dependencies are shown. Tool and MCP requirements written only in the body must be confirmed manually before use; the system does not automatically determine availability from them. - The clearer the task description, the easier it is for the Agent to load the correct Skill.
7.4 Installation Risks
Skills downloaded from external sources may introduce security risks. Typical risk patterns include:
- Prompt injection: asking the Agent to ignore system instructions or override security rules.
- Hard-coded C2 exfiltration: suspicious outbound addresses or data exfiltration logic in scripts.
- Misleading capability description: described as a normal tool but actually executing dangerous commands.
- Hidden script execution: reading system files, modifying configuration, or downloading binaries.
- Base64 obfuscation: hiding real behavior through obfuscation.
- Social engineering guidance: language that encourages the Agent to bypass restrictions.
Review external Skills manually, or run a dedicated audit Skill first, before deciding whether to install them in production.
7.5 Skill Capability Boundaries
Skills are suitable for preserving methods, not for carrying all execution logic. In practice:
- Keep one Skill focused on one methodology.
- Write applicable and non-applicable scenarios clearly.
- Make output formats concrete; avoid only abstract principles.
- Keep scripts minimal and preferably read-only.
- Declare external dependencies explicitly and avoid implicit calls.
8. Real Example: Malicious Skill Audit
8.1 Background
The user wants to create a Skill for detecting malicious Skills, scanning skill packages downloaded from clawhub and other external sources to determine whether security risks exist.
8.2 Creation Process
In a Rex session, the user describes detection directions such as abnormal characters, Prompt injection, command execution, network connections, data exfiltration, misleading capability descriptions, Base64 obfuscation, hard-coded IPs / passwords / C2 addresses, and so on.
Rex:
- References the format of existing Skills.
- Creates the
skill-security-auditdirectory. - Generates
SKILL.md. - Designs inspection stages such as file collection, static detection, semantic detection, and overall judgment.
- Generates helper review scripts as needed.
8.3 Audit Flow
Ask Rex in a session to use the Skill to audit target Skills:
Use skill-security-audit to audit the NakedIn and SystemOptimizer Skills.The execution usually includes:
- Loading
skill-security-audit. - Reading the full directories of the target Skills.
- Checking
SKILL.md, scripts, templates, and reference files. - Outputting risk levels, evidence lists, and handling recommendations.
8.4 Result Evaluation
This example shows that Skill creation can start from a high-level requirement, then Rex fills in inspection logic, output structure, and execution steps. Before production use, still perform a manual review to confirm that the methodology is accurate, risk grading is reasonable, and the output format meets team requirements.
9. FAQ
9.1 I Installed a Skill, but the Agent Does Not Call It as Expected. What Should I Do?
First make the task goal and desired Skill more explicit. If it still does not trigger, check whether the SKILL.md name, description, applicable scenarios, and trigger conditions are clear.
9.2 Does Installing a Skill Only Load SKILL.md?
If the Skill depends on scripts, templates, or references, keep the entire Skill folder. GitHub or archive installation can include these auxiliary files. The current local-path installation only writes SKILL.md; copy the rest manually.
9.3 How Should I Organize a Successful Operation into a Skill?
Clarify where to start next time a similar task appears, which signals determine risk level, what evidence should be collected, and what structure the output should have.
9.4 Why Do Downloaded Skills Have Security Risks?
Skills from community or external sources may contain Prompt injection, hidden scripts, data exfiltration, or misleading capability descriptions. Audit the full directory before installation, not just the name and summary.
9.5 Can a Skill Include Executable Scripts?
Yes, but scripts are also one of the main risk sources. Publicly shared Skills should avoid bundled scripts when possible. Internal Skills should limit script scope and clearly define read-only or allowlist constraints.
9.6 How Do I Distinguish Skill from Agent Prompt?
- Agent Prompt: defines the long-term responsibilities, capability boundaries, and execution style of a role.
- Skill: defines the methodology for a class of tasks. It can be loaded by multiple Agents or injected into an independent subtask through category delegation parameters.
10. Related Modules
- Session Management: Create, load, audit, and adjust Skills through Rex.
- Agent: The main loader of Skills.
- Workflow: Workflow and Skill respectively carry "process" and "method."
- Tools: Skill body text can record tool requirements, while structured dependency checks focus on commands and environment variables.
- Workspace: Skill files can be stored at user level or current project level, but are not managed by Workspace.
- Scenario Practice - Threat Intelligence and IOC Triage: Turn IOC triage methods into Skills.
- Scenario Practice - Alert Triage: Preserve alert triage methodology as a Skill.
Operation demo videos will be added to this page after release materials are stable.