> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lukan.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

> Project-specific extensions and custom instructions.

Skills are project-specific extensions stored in `.lukan/skills/<name>/SKILL.md`.

## Creating a Skill

Create a directory and a `SKILL.md` file:

```
.lukan/skills/git-commits/SKILL.md
```

```markdown theme={null}
---
name: Git Commits
description: Handles git commit workflow with conventional commit format
---

# Instructions for the agent

When the user asks to commit changes:
1. Show the git status and diff
2. Ask for confirmation before committing
3. Use conventional commit format: type(scope): description
4. Include any relevant issue numbers
```

### Frontmatter

* `name` - Display name for the skill
* `description` - Brief description of what the skill handles

## Using Skills

* `/skills` - List available skills
* The agent loads skills automatically via the `LoadSkill` tool when a matching task is detected

## Managing Skills

```bash theme={null}
lukan skill list                 # List available skills
lukan skill remove <name>        # Remove a skill
lukan skill env <name>           # Manage skill environment variables
```

## Skill Credentials

Skills can have per-skill environment variables injected at runtime. Configure them via `lukan skill env <name>` or directly in `credentials.json`:

```json theme={null}
{
  "skillCredentials": {
    "my-api-skill": {
      "CUSTOM_API_KEY": "sk-...",
      "CUSTOM_SECRET": "..."
    }
  }
}
```

These variables are available to the agent when the skill is loaded.

## Skill Loading

The agent automatically detects when a skill is relevant based on:

* The task description matching the skill's purpose
* Explicit requests for the skill's functionality

You can also manually trigger skill loading by mentioning the skill name or its capabilities in your request.
