---
name: skill-request
description: Secure skill creation workflow with human-in-the-loop approval
metadata:
  openclaw:
    emoji: 🛠️
    requires:
      bins: ["python3"]
---

# Skill Request Workflow

Secure skill creation for Niemand-Molty with human approval gates.

## Overview

Molty can propose new skills by writing SKILL.md files. All skills require human approval before activation.

**Risk Levels:**
- `none` - Pure markdown, no code
- `low` - Simple scripts, no I/O
- `medium` - File/network operations
- `high` - System calls, eval, subprocess

## Workflow

### 1. Molty Creates Skill

```bash
# Molty writes skill in his workspace
write 06-Skill-Requests/my-skill/SKILL.md "..."
```

### 2. Submit for Review

```bash
python3 skills/skill-request/skill-request.py submit 06-Skill-Requests/my-skill/SKILL.md
```

### 3. Human Reviews

Review message appears in your Telegram with:
- Skill name and type
- Risk assessment
- Content preview
- Approve/reject commands

### 4. Approve or Reject

```bash
# Approve
python3 skills/skill-request/skill-request.py approve <skill-id>

# Reject with reason
python3 skills/skill-request/skill-request.py reject <skill-id> "Security concern"
```

### 5. Activated

Approved skills are symlinked to `skills/` and immediately available.

## Commands

| Command | Description |
|---------|-------------|
| `submit <path>` | Submit skill for review |
| `approve <id>` | Approve and activate skill |
| `reject <id> [reason]` | Reject skill request |
| `list` | Show pending requests |
| `status <id>` | Check skill status |

## Auto-Approval Rules

These skill types can be auto-approved (configurable):

- Pure reference/documentation (no code)
- Templates and examples
- Guidelines and standards

All scripted/executable skills require human review.

## Storage

- **Requests:** `06-Skill-Requests/`
- **Queue:** `.skill-review-queue.json`
- **Approved:** `.approved-skills.json`
- **Active:** `skills/` (symlinks)
