# Skill Management

Create New Skill

```bash
# Interactive mode
composabl skill new

# Create teacher skill
composabl skill new \
  --name temperature-controller \
  --type teacher \
  --description "Maintains optimal temperature" \
  --location ./skills/

# Create controller skill
composabl skill new \
  --name pid-controller \
  --type controller \
  --description "PID control implementation" \
  --location ./skills/

# Create coordinated skill
composabl skill new \
  --name swarm-coordinator \
  --type "coordinated population" \
  --description "Coordinates drone swarm" \
  --location ./skills/
```

#### Skill Types

1. **teacher**: Reinforcement learning based
2. **controller**: Programmatic control logic
3. **coordinated set**: Coordinate specific skills
4. **coordinated population**: Coordinate populations of agents

#### Generated Skill Structure

```
my-skill/
├── pyproject.toml
├── README.md
└── my_skill/
    ├── __init__.py
    └── teacher.py  # or controller.py, coach.py
```

Example `pyproject.toml`:

```toml
[project]
name = "temperature-controller"
version = "0.1.0"
description = "Maintains optimal temperature"
dependencies = ["composabl-core"]

[composabl]
type = "skill-teacher"
entrypoint = "temperature_controller.teacher:Teacher"
```

#### Publish Skill

```bash
# Publish to AMESA platform
composabl skill publish ./skills/temperature-controller/

# Or specify path explicitly
composabl skill publish --path ./skills/temperature-controller/
```

#### List Skills

```bash
# List all skills in current project
composabl skill list
```

Output:

```
Name                Type        Version  Description              UUID
temperature-ctrl    teacher     2        Maintains temperature    abc123...
pressure-ctrl       controller  1        Controls pressure        def456...
team-coordinator    coach       1        Coordinates team         ghi789...
```

#### Delete Skill

```bash
# Interactive selection
composabl skill delete
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.amesa.com/reference/cli-reference/skill-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
