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
This commit is contained in:
14 files changed
-44
No files matched your search
@@ -0,0 +1,21 @@
|
||||
# meeting-agenda
|
||||
|
||||
Generate a structured meeting agenda from a topic and duration. Pure prompt engineering — no code required.
|
||||
|
||||
## Configuration
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Type | `promptonly` |
|
||||
| Entry | N/A (template-only) |
|
||||
|
||||
## Input
|
||||
|
||||
- **topic** (string, required) — The meeting topic
|
||||
- **duration_minutes** (string, required) — Meeting duration in minutes
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
librefang skill test ./skills/custom-skill-prompt --input '{"topic": "Q1 planning", "duration_minutes": "30"}'
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
name: meeting-agenda
|
||||
description: Generate a structured meeting agenda from a topic and duration.
|
||||
---
|
||||
|
||||
Create a structured meeting agenda for the following:
|
||||
|
||||
Topic: {{topic}}
|
||||
Duration: {{duration_minutes}} minutes
|
||||
|
||||
Requirements:
|
||||
- Include time allocations for each section
|
||||
- Start with a brief intro/alignment (2-3 min)
|
||||
- End with action items and next steps (3-5 min)
|
||||
- Keep sections focused and actionable
|
||||
- Format as a numbered list with time in brackets
|
||||
@@ -0,0 +1,20 @@
|
||||
# word-counter
|
||||
|
||||
Count words, sentences, and characters in text. A minimal example of a Python runtime skill.
|
||||
|
||||
## Configuration
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Type | `python` |
|
||||
| Entry | `main.py` |
|
||||
|
||||
## Input
|
||||
|
||||
- **text** (string, required) — The text to analyze
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
librefang skill test ./skills/custom-skill-python --input '{"text": "Hello world. How are you?"}'
|
||||
```
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
name: word-counter
|
||||
description: Count words, sentences, and characters in text.
|
||||
---
|
||||
|
||||
# Word Counter
|
||||
|
||||
Counts words, sentences, and characters in the provided text.
|
||||
|
||||
The prompt body is unused for this skill — execution is delegated to
|
||||
`main.py` via the `python` runtime declared in `skill.toml`.
|
||||
@@ -0,0 +1,21 @@
|
||||
"""
|
||||
Word Counter Skill — a minimal example of a Python skill for LibreFang.
|
||||
|
||||
This skill receives a text input and returns word/sentence/character counts.
|
||||
"""
|
||||
|
||||
import re
|
||||
|
||||
|
||||
def run(input: dict) -> str:
|
||||
text = input.get("text", "")
|
||||
|
||||
words = len(text.split())
|
||||
sentences = len([s for s in re.split(r"[.!?]+", text.strip()) if s.strip()]) if text.strip() else 0
|
||||
characters = len(text)
|
||||
|
||||
return (
|
||||
f"Words: {words}\n"
|
||||
f"Sentences: {sentences}\n"
|
||||
f"Characters: {characters}"
|
||||
)
|
||||
@@ -0,0 +1,20 @@
|
||||
[skill]
|
||||
name = "{{NAME}}"
|
||||
version = "0.1.0"
|
||||
description = "TODO: One-sentence description of what this skill does."
|
||||
author = "TODO"
|
||||
tags = ["TODO"]
|
||||
|
||||
[runtime]
|
||||
type = "promptonly"
|
||||
|
||||
[input]
|
||||
topic = { type = "string", description = "TODO: Describe this input parameter", required = true }
|
||||
|
||||
[prompt]
|
||||
template = """TODO: Write the prompt template for this skill.
|
||||
|
||||
Use {{topic}} to reference input parameters.
|
||||
|
||||
Be specific about the desired output format and constraints.
|
||||
"""
|
||||
Reference in new issue
Block a user