branch: externals/ellama
commit 5f4db55e1ca4b2efd99d4acc083b8cbe4cb54555
Author: Sergey Kostyaev <[email protected]>
Commit: Sergey Kostyaev <[email protected]>

    Add Agent Skills to the documentation
---
 README.org  |  56 ++++++++++++++++++++++
 ellama.info | 156 ++++++++++++++++++++++++++++++++++++++++++++++--------------
 2 files changed, 176 insertions(+), 36 deletions(-)

diff --git a/README.org b/README.org
index 1c46bc2672..e3f7ceb6d2 100644
--- a/README.org
+++ b/README.org
@@ -384,6 +384,10 @@ argument generated text string.
   blueprints.
 - ~ellama-blueprint-file-extensions~: File extensions recognized as blueprint
   files.
+- ~ellama-skills-global-path~: Path to the global directory containing Agent
+  Skills.
+- ~ellama-skills-local-path~: Project-relative path for local Agent Skills.
+  Default value is ~"skills"~.
 
 * Context Management
 
@@ -711,6 +715,58 @@ to ~ellama~ you can add duckduckgo mcp server
               tools)))))
 #+end_src
 
+* Agent Skills
+
+Ellama supports *Agent Skills*, a lightweight format for extending AI
+capabilities. Skills are loaded into context only when needed (Progressive
+Disclosure).
+
+** Directory Structure
+
+Ellama looks for skills in two locations:
+1.  *Global*: =~/.emacs.d/ellama/skills/= (Customizable via
+~ellama-skills-global-path~)
+2.  *Project-Local*: ~skills/~ inside your project root (Customizable via
+~ellama-skills-local-path~)
+
+A skill is a directory containing a ~SKILL.md~ file. This file includes 
metadata
+(~name~ and ~description~, at minimum) and instructions that tell an agent how
+to perform a specific task. Skills can also bundle scripts, templates, and
+reference materials.
+
+#+begin_src
+my-project/
+└──skills/
+   └── pdf-processing/
+       ├── SKILL.md          # Required: instructions + metadata
+       ├── scripts/          # Optional: executable code
+       ├── references/       # Optional: documentation
+       └── assets/           # Optional: templates, resources
+#+end_src
+
+** Creating a Skill
+
+SKILL.md must contain YAML frontmatter:
+
+#+begin_src markdown
+---
+name: pdf-processing
+description: Extract text from PDFs and summarize them.
+---
+
+# PDF Processing Instructions
+To extract text from a PDF...
+#+end_src
+
+** How it works
+
+*Auto-Discovery*: Ellama scans skill directories automatically whenever a chat
+ starts.
+*Context*: Skill metadata (name, description, location) is injected into the
+ system prompt.
+*Activation*: The LLM uses the read_file tool to load the SKILL.md content when
+ needed.
+
 * Acknowledgments
 
 Thanks [[https://github.com/jmorganca][Jeffrey Morgan]] for excellent project 
[[https://github.com/jmorganca/ollama][ollama]]. This project
diff --git a/ellama.info b/ellama.info
index ec605322b7..17a2e7a7a0 100644
--- a/ellama.info
+++ b/ellama.info
@@ -66,6 +66,7 @@ Assistant".  Previous sentence was written by Ellama itself.
 * Minor modes::
 * Using Blueprints::
 * MCP Integration::
+* Agent Skills::
 * Acknowledgments::
 * Contributions::
 * GNU Free Documentation License::
@@ -107,6 +108,12 @@ Using Blueprints
 * Transient Menus::
 * Running Blueprints programmatically::
 
+Agent Skills
+
+* Directory Structure::
+* Creating a Skill::
+* How it works::
+
 
 
 File: ellama.info,  Node: Installation,  Next: Commands,  Prev: Top,  Up: Top
@@ -510,6 +517,10 @@ argument generated text string.
      project-specific blueprints.
    • ‘ellama-blueprint-file-extensions’: File extensions recognized as
      blueprint files.
+   • ‘ellama-skills-global-path’: Path to the global directory
+     containing Agent Skills.
+   • ‘ellama-skills-local-path’: Project-relative path for local Agent
+     Skills.  Default value is ‘"skills"’.
 
 
 File: ellama.info,  Node: Context Management,  Next: Minor modes,  Prev: 
Configuration,  Up: Top
@@ -944,7 +955,7 @@ arguments.
      (global-set-key (kbd "C-c e M") #'my-chat-with-morpheus)
 
 
-File: ellama.info,  Node: MCP Integration,  Next: Acknowledgments,  Prev: 
Using Blueprints,  Up: Top
+File: ellama.info,  Node: MCP Integration,  Next: Agent Skills,  Prev: Using 
Blueprints,  Up: Top
 
 8 MCP Integration
 *****************
@@ -974,10 +985,79 @@ capability to ‘ellama’ you can add duckduckgo mcp server
                     tools)))))
 
 
-File: ellama.info,  Node: Acknowledgments,  Next: Contributions,  Prev: MCP 
Integration,  Up: Top
+File: ellama.info,  Node: Agent Skills,  Next: Acknowledgments,  Prev: MCP 
Integration,  Up: Top
 
-9 Acknowledgments
-*****************
+9 Agent Skills
+**************
+
+Ellama supports *Agent Skills*, a lightweight format for extending AI
+capabilities.  Skills are loaded into context only when needed
+(Progressive Disclosure).
+
+* Menu:
+
+* Directory Structure::
+* Creating a Skill::
+* How it works::
+
+
+File: ellama.info,  Node: Directory Structure,  Next: Creating a Skill,  Up: 
Agent Skills
+
+9.1 Directory Structure
+=======================
+
+Ellama looks for skills in two locations:
+  1. *Global*: ‘~/.emacs.d/ellama/skills/’ (Customizable via
+‘ellama-skills-global-path’)
+  1. *Project-Local*: ‘skills/’ inside your project root (Customizable
+     via
+‘ellama-skills-local-path’)
+
+A skill is a directory containing a ‘SKILL.md’ file.  This file includes
+metadata (‘name’ and ‘description’, at minimum) and instructions that
+tell an agent how to perform a specific task.  Skills can also bundle
+scripts, templates, and reference materials.
+
+     my-project/
+     └──skills/
+        └── pdf-processing/
+            ├── SKILL.md          # Required: instructions + metadata
+            ├── scripts/          # Optional: executable code
+            ├── references/       # Optional: documentation
+            └── assets/           # Optional: templates, resources
+
+
+File: ellama.info,  Node: Creating a Skill,  Next: How it works,  Prev: 
Directory Structure,  Up: Agent Skills
+
+9.2 Creating a Skill
+====================
+
+SKILL.md must contain YAML frontmatter:
+
+     ---
+     name: pdf-processing
+     description: Extract text from PDFs and summarize them.
+     ---
+
+     # PDF Processing Instructions
+     To extract text from a PDF...
+
+
+File: ellama.info,  Node: How it works,  Prev: Creating a Skill,  Up: Agent 
Skills
+
+9.3 How it works
+================
+
+*Auto-Discovery*: Ellama scans skill directories automatically whenever
+a chat starts.  *Context*: Skill metadata (name, description, location)
+is injected into the system prompt.  *Activation*: The LLM uses the
+read_file tool to load the SKILL.md content when needed.
+
+
+File: ellama.info,  Node: Acknowledgments,  Next: Contributions,  Prev: Agent 
Skills,  Up: Top
+
+10 Acknowledgments
+******************
 
 Thanks Jeffrey Morgan (https://github.com/jmorganca) for excellent
 project ollama (https://github.com/jmorganca/ollama).  This project
@@ -996,7 +1076,7 @@ Without it only ‘ollama’ would be supported.
 
 File: ellama.info,  Node: Contributions,  Next: GNU Free Documentation 
License,  Prev: Acknowledgments,  Up: Top
 
-10 Contributions
+11 Contributions
 ****************
 
 To contribute, submit a pull request or report a bug.  This library is
@@ -1490,37 +1570,41 @@ their use in free software.
 
 Tag Table:
 Node: Top1379
-Node: Installation3654
-Node: Commands8662
-Node: Keymap16101
-Node: Configuration18934
-Node: Context Management25234
-Node: Transient Menus for Context Management26142
-Node: Managing the Context27756
-Node: Considerations28531
-Node: Minor modes29124
-Node: ellama-context-header-line-mode31112
-Node: ellama-context-header-line-global-mode31937
-Node: ellama-context-mode-line-mode32657
-Node: ellama-context-mode-line-global-mode33505
-Node: Ellama Session Header Line Mode34209
-Node: Enabling and Disabling34778
-Node: Customization35225
-Node: Ellama Session Mode Line Mode35513
-Node: Enabling and Disabling (1)36098
-Node: Customization (1)36545
-Node: Using Blueprints36839
-Node: Key Components of Ellama Blueprints37479
-Node: Creating and Managing Blueprints38086
-Node: Blueprints files39064
-Node: Variable Management39485
-Node: Keymap and Mode39938
-Node: Transient Menus40874
-Node: Running Blueprints programmatically41420
-Node: MCP Integration42007
-Node: Acknowledgments43032
-Node: Contributions43744
-Node: GNU Free Documentation License44130
+Node: Installation3748
+Node: Commands8756
+Node: Keymap16195
+Node: Configuration19028
+Node: Context Management25551
+Node: Transient Menus for Context Management26459
+Node: Managing the Context28073
+Node: Considerations28848
+Node: Minor modes29441
+Node: ellama-context-header-line-mode31429
+Node: ellama-context-header-line-global-mode32254
+Node: ellama-context-mode-line-mode32974
+Node: ellama-context-mode-line-global-mode33822
+Node: Ellama Session Header Line Mode34526
+Node: Enabling and Disabling35095
+Node: Customization35542
+Node: Ellama Session Mode Line Mode35830
+Node: Enabling and Disabling (1)36415
+Node: Customization (1)36862
+Node: Using Blueprints37156
+Node: Key Components of Ellama Blueprints37796
+Node: Creating and Managing Blueprints38403
+Node: Blueprints files39381
+Node: Variable Management39802
+Node: Keymap and Mode40255
+Node: Transient Menus41191
+Node: Running Blueprints programmatically41737
+Node: MCP Integration42324
+Node: Agent Skills43346
+Node: Directory Structure43709
+Node: Creating a Skill44736
+Node: How it works45111
+Node: Acknowledgments45502
+Node: Contributions46213
+Node: GNU Free Documentation License46599
 
 End Tag Table
 

Reply via email to