Skip to main content
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
---
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

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:
{
  "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.