#+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