From 300e3569fe6859a9a9e1e5afe449aa816cc511a8 Mon Sep 17 00:00:00 2001 From: Evan Date: Wed, 15 Apr 2026 00:41:24 +0900 Subject: [PATCH] chore: reorganize examples and templates into examples/ by type (#54) - Move example skills to examples/skills/ - Move scaffolding templates to examples/{agents,hands,channels,plugins,providers,integrations,skills}/ - Remove legacy skill.toml from example skills; SKILL.md is the canonical format - Delete top-level templates/ directory --- {templates => examples/agents}/agent.toml | 0 {templates => examples/channels}/channel.toml | 0 {templates => examples/hands}/HAND.toml | 0 .../integrations}/integration.toml | 0 {templates => examples/plugins}/plugin.toml | 0 .../providers}/provider.toml | 0 .../skills}/custom-skill-prompt/README.md | 0 .../skills}/custom-skill-prompt/SKILL.md | 0 .../skills}/custom-skill-python/README.md | 0 .../skills}/custom-skill-python/SKILL.md | 0 .../skills}/custom-skill-python/main.py | 0 {templates => examples/skills}/skill.toml | 0 skills/custom-skill-prompt/skill.toml | 24 ------------------- skills/custom-skill-python/skill.toml | 20 ---------------- 14 files changed, 44 deletions(-) rename {templates => examples/agents}/agent.toml (100%) rename {templates => examples/channels}/channel.toml (100%) rename {templates => examples/hands}/HAND.toml (100%) rename {templates => examples/integrations}/integration.toml (100%) rename {templates => examples/plugins}/plugin.toml (100%) rename {templates => examples/providers}/provider.toml (100%) rename {skills => examples/skills}/custom-skill-prompt/README.md (100%) rename {skills => examples/skills}/custom-skill-prompt/SKILL.md (100%) rename {skills => examples/skills}/custom-skill-python/README.md (100%) rename {skills => examples/skills}/custom-skill-python/SKILL.md (100%) rename {skills => examples/skills}/custom-skill-python/main.py (100%) rename {templates => examples/skills}/skill.toml (100%) delete mode 100644 skills/custom-skill-prompt/skill.toml delete mode 100644 skills/custom-skill-python/skill.toml diff --git a/templates/agent.toml b/examples/agents/agent.toml similarity index 100% rename from templates/agent.toml rename to examples/agents/agent.toml diff --git a/templates/channel.toml b/examples/channels/channel.toml similarity index 100% rename from templates/channel.toml rename to examples/channels/channel.toml diff --git a/templates/HAND.toml b/examples/hands/HAND.toml similarity index 100% rename from templates/HAND.toml rename to examples/hands/HAND.toml diff --git a/templates/integration.toml b/examples/integrations/integration.toml similarity index 100% rename from templates/integration.toml rename to examples/integrations/integration.toml diff --git a/templates/plugin.toml b/examples/plugins/plugin.toml similarity index 100% rename from templates/plugin.toml rename to examples/plugins/plugin.toml diff --git a/templates/provider.toml b/examples/providers/provider.toml similarity index 100% rename from templates/provider.toml rename to examples/providers/provider.toml diff --git a/skills/custom-skill-prompt/README.md b/examples/skills/custom-skill-prompt/README.md similarity index 100% rename from skills/custom-skill-prompt/README.md rename to examples/skills/custom-skill-prompt/README.md diff --git a/skills/custom-skill-prompt/SKILL.md b/examples/skills/custom-skill-prompt/SKILL.md similarity index 100% rename from skills/custom-skill-prompt/SKILL.md rename to examples/skills/custom-skill-prompt/SKILL.md diff --git a/skills/custom-skill-python/README.md b/examples/skills/custom-skill-python/README.md similarity index 100% rename from skills/custom-skill-python/README.md rename to examples/skills/custom-skill-python/README.md diff --git a/skills/custom-skill-python/SKILL.md b/examples/skills/custom-skill-python/SKILL.md similarity index 100% rename from skills/custom-skill-python/SKILL.md rename to examples/skills/custom-skill-python/SKILL.md diff --git a/skills/custom-skill-python/main.py b/examples/skills/custom-skill-python/main.py similarity index 100% rename from skills/custom-skill-python/main.py rename to examples/skills/custom-skill-python/main.py diff --git a/templates/skill.toml b/examples/skills/skill.toml similarity index 100% rename from templates/skill.toml rename to examples/skills/skill.toml diff --git a/skills/custom-skill-prompt/skill.toml b/skills/custom-skill-prompt/skill.toml deleted file mode 100644 index 775a377..0000000 --- a/skills/custom-skill-prompt/skill.toml +++ /dev/null @@ -1,24 +0,0 @@ -## Custom Prompt Skill Example -## -## The prompt body and metadata (name, description) live in SKILL.md. -## This skill.toml only declares the runtime, input schema, and optional -## metadata that don't fit in Markdown frontmatter. -## -## To test: librefang skill test ./skills/custom-skill-prompt \ -## --input '{"topic": "Q1 planning", "duration_minutes": "30"}' -## -## For the full reference, see: docs/skill-development.md - -[skill] -name = "meeting-agenda" -version = "0.1.0" -description = "Generate a structured meeting agenda from a topic and duration." -author = "your-name" -tags = ["meeting", "productivity", "example"] - -[runtime] -type = "promptonly" - -[input] -topic = { type = "string", description = "The meeting topic", required = true } -duration_minutes = { type = "string", description = "Meeting duration in minutes", required = true } diff --git a/skills/custom-skill-python/skill.toml b/skills/custom-skill-python/skill.toml deleted file mode 100644 index ef7d23c..0000000 --- a/skills/custom-skill-python/skill.toml +++ /dev/null @@ -1,20 +0,0 @@ -## Custom Python Skill Example -## -## This skill counts words in a given text and returns basic statistics. -## To test: librefang skill test ./examples/custom-skill-python --input '{"text": "Hello world"}' -## -## For the full reference, see: docs/skill-development.md - -[skill] -name = "word-counter" -version = "0.1.0" -description = "Count words, sentences, and characters in text." -author = "your-name" -tags = ["text", "utility", "example"] - -[runtime] -type = "python" -entry = "main.py" - -[input] -text = { type = "string", description = "The text to analyze", required = true }