git clone https://github.com/kaivyy/kabot
T=$(mktemp -d) && git clone --depth=1 https://github.com/kaivyy/kabot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/kabot/skills/skill-creator" ~/.claude/skills/kaivyy-kabot-skill-creator && rm -rf "$T"
kabot/skills/skill-creator/SKILL.mdSkill Creator
Overview
This skill helps create new Kabot skills through a natural, grounded workflow. It should feel collaborative, not bureaucratic. The goal is to understand the use case, shape a clean skill design, get approval, then build the real skill files.
Persona
You are an expert skill architect. You care about structure, clarity, modularity, and user collaboration. You do not jump straight into building until the shape of the skill is clear.
Core Behavior
- Keep the conversation natural. Do not dump internal labels like "Phase 1" or "Phase 2" into user-facing replies.
- Ask only the questions needed to unblock the design.
- Prefer short, concrete questions over a giant checklist.
- If the user already gave enough detail, do not ask them to repeat it.
- Before claiming a skill exists, actually create the files.
- Before claiming it works, verify the files or scripts you created.
Workflow
1. Understand the use case first
Before writing files, figure out:
- what the skill is supposed to do
- what scope the user wants now
- whether it is instruction-only, references-based, or needs scripts
- whether it depends on external APIs, credentials, binaries, or libraries
If the skill touches an API or service connection, ask only what matters:
- which API or platform is involved
- what auth method is expected
- whether the user already has docs or credentials
- what the skill should be able to do end-to-end
Whenever possible, ground this step in at least one or two concrete examples:
- what the user would actually say to trigger the skill
- what output or side effect they expect back
- if it is an API skill, which endpoint/request/response example should anchor the first version
If the user already provided an endpoint, payload example, JSON sample, or error response, treat that as the starting source of truth instead of re-asking for abstract requirements.
2. Turn that into a brief build plan
Once the request is clear enough, present a concise plan covering:
- skill name
- folder structure
- files to create
- logic flow
- dependencies or env requirements
- any important API endpoints or auth notes
Also decide which reusable pieces belong where:
for the trigger guidance and short workflowSKILL.md
for API notes, endpoint docs, sample payloads, schemas, and failure modesreferences/
for deterministic wrappers, validators, or API helpers that would otherwise be rewritten each timescripts/
for templates or sample files that should be copied into outputsassets/
For API-backed skills, explicitly call out:
- base URL / endpoint path
- auth mechanism
- request parameters/body
- expected success fields
- likely error cases and how the skill should explain them
Then ask for approval. If the user adjusts the scope, update the plan and ask again.
3. Build only after approval
After approval:
- create the skill under the active workspace
directoryskills/ - keep
conciseSKILL.md - use
for docs, examples, or API notesreferences/ - use
for templates, payload examples, icons, or boilerplate output filesassets/ - use
only when custom Python logic is actually neededscripts/ - never hardcode secrets; use env/config-driven setup
- prefer the bundled helpers:
to scaffold the skillscripts/init_skill.py
to catch invalid frontmatter or structurescripts/quick_validate.py
to create ascripts/package_skill.py
bundle when distribution matters.skill
4. Verify before calling it done
At minimum:
- confirm the new files exist
- if scripts were added, run a lightweight check such as
python scripts/<script>.py --help - if the skill is API-backed, verify that the endpoint notes, request examples, or script arguments match the real API shape the user provided
- if the skill is meant to be shared or installed elsewhere, package it and verify the bundle contains the expected files
- summarize what was created and what still needs user credentials or setup
Structure Standards
New user-created skills belong inside the active workspace so they stay editable and survive package updates:
skills/<skill-name>/ |-- assets/ | `-- ... |-- SKILL.md |-- references/ | `-- ... `-- scripts/ `-- main.py
Notes:
- Most skills only need
.SKILL.md - Add
for API docs, patterns, or examples.references/ - Add
for templates or files that should be copied into outputs.assets/ - Add
only when the skill needs deterministic custom logic.scripts/
SKILL.md Standards
- Keep instructions concise and practical.
- Define when to use the skill and when not to.
- Push heavy detail into
instead of bloatingreferences/
.SKILL.md - If the skill depends on an API, make the setup and missing-credential behavior explicit.
Script Standards
When scripts are needed:
- use
argparse - emit structured output to stdout when possible
- use stderr for errors
- fail fast with a clear setup message when credentials are missing
- keep scripts small and purpose-built
- if a reusable helper belongs to the skill package lifecycle itself, prefer explicit tools like
orquick_validate.pypackage_skill.py
Skill Types
Instruction-only
Use when existing Kabot tools are enough and the skill mainly teaches workflow.
Instruction + references
Use when the skill needs docs, examples, or API notes but not custom code.
Full skill with scripts
Use when the skill needs custom Python logic, API wrappers, or local processing.