Skip to content
KeenKind.Docs
Console

Developing Skills

A Skill describes a repeatable working method in Markdown. Use it for domain rules, team workflows, and output standards rather than credentials or program logic that must execute.

Create a directory containing SKILL.md:

my-skill/
SKILL.md

Start SKILL.md with YAML metadata:

---
name: release-notes
description: Write user-facing release notes from the current changes.
---
# Release Notes
Use this Skill when the user requests release notes.
## Method
1. Confirm the target version and audience.
2. Include only changes users can observe.
3. List breaking changes and migration steps separately.

Use a short, stable name. The description should explain when to use the Skill instead of repeating its name.

Place templates and references within the Skill directory:

my-skill/
SKILL.md
templates/
references/

Use relative links in SKILL.md and state when to read them. Avoid unrelated material, API keys, cookies, and user data.

Writing recommendations

Jump to Writing recommendations
  • Define triggers, inputs, steps, and completion criteria.
  • Describe boundaries to keep the Skill within scope.
  • Prefer decision rules over fragile interface positions.
  • Use standard Markdown links.
  • Label code-block languages.
  • Do not require bypassing permissions, approvals, or safety controls.

Install and test

Jump to Install and test
  1. Place the complete directory in ~/.keenkind/<environment>/skills. During development, project .keenkind/skills or .agents/skills directories also work.
  2. Open Settings > Extensions > Local Skills.
  3. Refresh and enable the Skill.
  4. Type $, select it, and send a specific task.
  5. Test valid input, missing information, and tasks that should not trigger it.

Refresh after editing and verify in a new chat to avoid interference from earlier context.

When to use a plugin

Jump to When to use a plugin

For local program execution, dedicated API access, or structured tool results, build a plugin. A Skill can explain how to use a plugin but cannot replace its executable code.