65 lines
2.1 KiB
Org Mode
65 lines
2.1 KiB
Org Mode
#+TITLE: SKILL: Model Explorer Agent (Universal Literate Note)
|
|
#+ID: skill-model-explorer
|
|
#+STARTUP: content
|
|
#+FILETAGS: :discovery:telemetry:psf:
|
|
|
|
* Overview
|
|
The **Model Explorer Agent** provides dynamic introspection of the system's LLM capabilities. It intercepts specific user commands to list and describe all available models across providers, rendering them as native Org-mode tables.
|
|
|
|
* Phase A: Demand (PRD)
|
|
:PROPERTIES:
|
|
:STATUS: FROZEN
|
|
:END:
|
|
|
|
** 1. Purpose
|
|
Define the interfaces for system-wide model discovery and transparency.
|
|
|
|
** 2. User Needs
|
|
- **Transparency:** Visible list of models and context windows.
|
|
- **Determinism:** Metadata retrieval must bypass System 1 for high fidelity.
|
|
- **Integration:** Results rendered as native Org-mode tables.
|
|
|
|
** 3. Success Criteria
|
|
*** TODO Command Trigger Verification (@agent list models)
|
|
*** TODO Provider Registry Introspection
|
|
*** TODO Org Table Formatting Accuracy
|
|
|
|
* Phase B: Blueprint (PROTOCOL)
|
|
:PROPERTIES:
|
|
:STATUS: SIGNED
|
|
:END:
|
|
|
|
** 1. Architectural Intent
|
|
Interfaces for dynamic skill introspection and Emacs UI injection. Source of truth is the active `*skills-registry*`.
|
|
|
|
** 2. Semantic Interfaces
|
|
#+begin_src lisp
|
|
(defun trigger-skill-model-explorer (context)
|
|
"Triggers on '@agent list models' in buffer updates.")
|
|
|
|
(defun build-org-table-for-models ()
|
|
"Dynamically builds an Org table from registered provider skills.")
|
|
|
|
(defun execute-skill-model-explorer (proposed-action context)
|
|
"Injects the model table into the active Emacs buffer.")
|
|
#+end_src
|
|
|
|
* Phase D: Build (Implementation)
|
|
|
|
** Provider Introspection
|
|
#+begin_src lisp :tangle projects/org-skill-model-explorer/src/explorer-logic.lisp
|
|
(defun build-org-table-for-models ()
|
|
(let ((table-rows (list "| Provider | Model ID | Context |" "|----------+----------+---------|")))
|
|
;; Logic to iterate through skills-registry and call get-available-models
|
|
(format nil "~{~a~^~%~}" table-rows)))
|
|
#+end_src
|
|
|
|
* Registration
|
|
#+begin_src lisp
|
|
(defskill :skill-model-explorer
|
|
:priority 85
|
|
:trigger #'trigger-skill-model-explorer
|
|
:neuro (lambda (context) nil)
|
|
:symbolic #'execute-skill-model-explorer)
|
|
#+end_src
|