agentsclimarketplace

Creating skills

Skill chinkan/RustFox/skills/creating-skills

A Rust-based Telegram AI assistant powered by OpenRouter LLM with built-in sandboxed tools, scheduling, persistent memory, and MCP server integration.

Install
npx -y skills add chinkan/RustFox --skill creating-skills

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when the user asks to create, add, or write a new bot skill, or wants to teach the bot a new behavior, capability, or workflow.

SKILL.md

4.3 KB, as published. Nobody here has run it

Creating Skills

Writes high-performance, token-efficient skill directories in skills/ and activates them immediately without restarting the bot.

Process

1. Gather Requirements

Ask the user (one question at a time if unclear):

  • Name: Slug — lowercase, numbers, hyphens only, e.g. processing-reports
  • Trigger: When should this activate? (→ becomes the description field)
  • Behavior: What should the agent do step-by-step?
  • Files: Heavy reference content? Templates? Scripts?

2. Select Archetype

Pick the right pattern from templates.md:

ArchetypeWhenSKILL.md budget
workflowStep-by-step procedures< 150 lines
reference-heavyLookup tables, schemas, large specs< 80 lines + reference.md
tool-wrapperWraps specific tools with usage guidance< 100 lines
personaRole-play or communication style shifts< 60 lines

3. Design the Structure

skills/<name>/
├── SKILL.md           # Always: main entry point (keep within archetype budget)
├── reference.md       # When: heavy content that would exceed budget
├── examples.md        # When: input/output examples help significantly
└── scripts/           # Rarely: utility scripts
    └── helper.py

Rules:

  • References are one level deep only — no chained references
  • Split only when SKILL.md exceeds archetype budget
  • Every line earns its token cost — cut ruthlessly

4. Write SKILL.md

Required format:

---
name: skill-name-with-hyphens
description: Use when [triggering conditions only — third person, no workflow summary, max 1024 chars]
tags: [optional]
---

# Skill Title

One sentence overview.

## When to Use

- Concrete trigger phrase 1
- Concrete trigger phrase 2

## [Core Section]

Imperative instructions. No fluff.

## Supporting Files

**Topic**: See [reference.md](reference.md)

Frontmatter rules:

  • name: lowercase, numbers, hyphens; max 64 chars; avoid "anthropic" / "claude"
  • description: "Use when..."; triggers only; no how/what summary; third person; max 1024 chars
  • A bad description causes the agent to skip reading the body — be precise about triggers

Body performance rules:

  • Every sentence must directly enable action — delete explanatory prose
  • Prefer bullet lists over paragraphs
  • Use imperative mood throughout ("Call X", "Write Y", not "You should call X")
  • No meta-commentary ("This skill helps you..."), no caveats

5. Self-Evaluate Before Writing

Before calling write_skill_file, verify:

☐ Description triggers are specific (not vague like "when the user needs help")
☐ Body is within archetype token budget
☐ Every line earns its token cost (no filler sentences)
☐ Instructions are imperative, not explanatory
☐ No time-sensitive content, no hardcoded values
☐ Description does NOT summarize how the skill works — triggers only

If any item fails — revise before writing.

6. Write Files

Call write_skill_file once per file. Always write SKILL.md first:

write_skill_file(skill_name="my-skill", relative_path="SKILL.md", content="...")
write_skill_file(skill_name="my-skill", relative_path="reference.md", content="...")

7. Activate

Call reload_skills after all files are written.

Report to user:

  • Skill is live (no restart needed)
  • Files created
  • Trigger phrase that activates it

Description Writing Guide

# ✅ Good — triggering conditions only, third person
description: Use when the user asks to generate weekly reports, export data summaries, or create formatted output from raw data.

# ✅ Good — specific triggers
description: Use when analyzing code for bugs, reviewing pull requests, or the user asks for a code review.

# ❌ Bad — summarizes workflow (agent skips the body)
description: Use when creating reports — reads data, formats it, writes to file.

# ❌ Bad — first person
description: I help users create reports from their data.

Supporting Files

Skill archetypes and starter templates: See templates.md

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.