From dd8bb6e3c8bed58d72a87c339b5e76bf30e9780e Mon Sep 17 00:00:00 2001 From: Amr Gharbeia Date: Thu, 30 Apr 2026 11:09:21 -0400 Subject: [PATCH] refactor(skills): use XDG paths for tangle destinations - Updated all 22 skill org files to use $OC_DATA_DIR/skills/ paths - Removed manually created .lisp file (tangling now targets XDG) - Files will now tangle to ~/.local/share/opencortex/skills/ --- skills/org-skill-bouncer.org | 2 +- skills/org-skill-cli-gateway.org | 2 +- skills/org-skill-config-manager.org | 2 +- skills/org-skill-credentials-vault.org | 2 +- skills/org-skill-diagnostics.org | 2 +- skills/org-skill-engineering-standards.org | 2 +- skills/org-skill-gardener.org | 2 +- skills/org-skill-gateway-manager.org | 2 +- skills/org-skill-homoiconic-memory.org | 2 +- skills/org-skill-literate-programming.org | 2 +- skills/org-skill-llama-backend.org | 2 +- skills/org-skill-llm-gateway.org | 2 +- skills/org-skill-peripheral-vision.org | 2 +- skills/org-skill-policy.org | 2 +- skills/org-skill-protocol-validator.org | 2 +- skills/org-skill-repl.lisp | 112 --------------------- skills/org-skill-repl.org | 2 +- skills/org-skill-scribe.org | 2 +- skills/org-skill-self-edit.org | 2 +- skills/org-skill-self-fix.org | 2 +- skills/org-skill-shell-actuator.org | 2 +- skills/org-skill-tool-permissions.org | 2 +- skills/org-skill-utils-lisp.org | 2 +- skills/org-skill-utils-org.org | 2 +- 24 files changed, 23 insertions(+), 135 deletions(-) delete mode 100644 skills/org-skill-repl.lisp diff --git a/skills/org-skill-bouncer.org b/skills/org-skill-bouncer.org index d053922..9bda0c3 100644 --- a/skills/org-skill-bouncer.org +++ b/skills/org-skill-bouncer.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Bouncer (org-skill-bouncer.org) #+AUTHOR: Agent #+FILETAGS: :system:bouncer:authorization:autonomy: -#+PROPERTY: header-args:lisp :tangle org-skill-bouncer.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-bouncer.lisp * Overview The *Bouncer Skill* is the physical security layer of OpenCortex. It enforces operational security checks on all proposed actions. diff --git a/skills/org-skill-cli-gateway.org b/skills/org-skill-cli-gateway.org index 8a7967f..c24622b 100644 --- a/skills/org-skill-cli-gateway.org +++ b/skills/org-skill-cli-gateway.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: CLI Gateway (org-skill-cli-gateway.org) #+AUTHOR: Agent #+FILETAGS: :skill:gateway:cli: -#+PROPERTY: header-args:lisp :tangle org-skill-cli-gateway.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-cli-gateway.lisp * Overview The *CLI Gateway* provides a command-line interface for interacting with the OpenCortex daemon. diff --git a/skills/org-skill-config-manager.org b/skills/org-skill-config-manager.org index d380de3..3ad6e8f 100644 --- a/skills/org-skill-config-manager.org +++ b/skills/org-skill-config-manager.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Config Manager (org-skill-config-manager.org) #+AUTHOR: Agent #+FILETAGS: :skill:setup:config: -#+PROPERTY: header-args:lisp :tangle org-skill-config-manager.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-config-manager.lisp * Overview The *Config Manager* skill provides the OpenCortex Agent with the capability to manage its own environment variables and provider configurations. It includes an interactive setup wizard for LLM providers, gateways, and system settings. diff --git a/skills/org-skill-credentials-vault.org b/skills/org-skill-credentials-vault.org index 6912e22..9ece2ed 100644 --- a/skills/org-skill-credentials-vault.org +++ b/skills/org-skill-credentials-vault.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Credentials Vault (org-skill-credentials-vault.org) #+AUTHOR: Agent #+FILETAGS: :system:security:vault: -#+PROPERTY: header-args:lisp :tangle org-skill-credentials-vault.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-credentials-vault.lisp * Overview The *Credentials Vault* provides secure in-memory storage for sensitive API keys and session tokens. diff --git a/skills/org-skill-diagnostics.org b/skills/org-skill-diagnostics.org index dd042ed..74c184b 100644 --- a/skills/org-skill-diagnostics.org +++ b/skills/org-skill-diagnostics.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Diagnostics (org-skill-diagnostics.org) #+AUTHOR: Agent #+FILETAGS: :system:diagnostics:doctor: -#+PROPERTY: header-args:lisp :tangle org-skill-diagnostics.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-diagnostics.lisp * Overview The *Diagnostics Skill* (Doctor) provides system-wide health checks and dependency verification. It validates external dependencies, XDG environment, and LLM provider connectivity. diff --git a/skills/org-skill-engineering-standards.org b/skills/org-skill-engineering-standards.org index 64907cc..bf61a43 100644 --- a/skills/org-skill-engineering-standards.org +++ b/skills/org-skill-engineering-standards.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Engineering Standards (org-skill-engineering-standards.org) #+AUTHOR: Agent #+FILETAGS: :system:engineering:chaos: -#+PROPERTY: header-args:lisp :tangle org-skill-engineering-standards.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-engineering-standards.lisp * Overview The *Engineering Standards Skill* enforces technical invariants, including the **Commit-Before-Modify** rule and **Chaos-Driven Development**. diff --git a/skills/org-skill-gardener.org b/skills/org-skill-gardener.org index 53e81d1..ae906d1 100644 --- a/skills/org-skill-gardener.org +++ b/skills/org-skill-gardener.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Gardener (org-skill-gardener.org) #+AUTHOR: Agent #+FILETAGS: :skill:maintenance:gardener: -#+PROPERTY: header-args:lisp :tangle org-skill-gardener.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-gardener.lisp * Overview The *Gardener Skill* performs periodic maintenance on the Memex knowledge graph. diff --git a/skills/org-skill-gateway-manager.org b/skills/org-skill-gateway-manager.org index d98b114..3e7a24b 100644 --- a/skills/org-skill-gateway-manager.org +++ b/skills/org-skill-gateway-manager.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Gateway Manager (org-skill-gateway-manager.org) #+AUTHOR: Agent #+FILETAGS: :skill:gateway:manager: -#+PROPERTY: header-args:lisp :tangle org-skill-gateway-manager.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-gateway-manager.lisp * Overview The *Gateway Manager* handles the registration and linking of external communication platforms. diff --git a/skills/org-skill-homoiconic-memory.org b/skills/org-skill-homoiconic-memory.org index e7ecb00..f6adec2 100644 --- a/skills/org-skill-homoiconic-memory.org +++ b/skills/org-skill-homoiconic-memory.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Homoiconic Memory (org-skill-homoiconic-memory.org) #+AUTHOR: Agent #+FILETAGS: :harness:memory:homoiconic: -#+PROPERTY: header-args:lisp :tangle org-skill-homoiconic-memory.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-homoiconic-memory.lisp * Overview The *Homoiconic Memory* skill provides the capability to treat system memory as executable code and vice-versa. diff --git a/skills/org-skill-literate-programming.org b/skills/org-skill-literate-programming.org index 9aa4b72..5f71e53 100644 --- a/skills/org-skill-literate-programming.org +++ b/skills/org-skill-literate-programming.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Literate Programming (org-skill-literate-programming.org) #+AUTHOR: Agent #+FILETAGS: :system:literate:tangle: -#+PROPERTY: header-args:lisp :tangle org-skill-literate-programming.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-literate-programming.lisp * Overview The *Literate Programming* skill ensures the synchronization between `.org` sources and `.lisp` artifacts. diff --git a/skills/org-skill-llama-backend.org b/skills/org-skill-llama-backend.org index f95f5e9..dbfc6e3 100644 --- a/skills/org-skill-llama-backend.org +++ b/skills/org-skill-llama-backend.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Llama Backend (org-skill-llama-backend.org) #+AUTHOR: Agent #+FILETAGS: :skill:llm:backend:ollama: -#+PROPERTY: header-args:lisp :tangle org-skill-llama-backend.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-llama-backend.lisp * Overview The *Llama Backend* skill provides the actual implementation for calling local models via Ollama. diff --git a/skills/org-skill-llm-gateway.org b/skills/org-skill-llm-gateway.org index 16c75fb..87aa8eb 100644 --- a/skills/org-skill-llm-gateway.org +++ b/skills/org-skill-llm-gateway.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: LLM Gateway (org-skill-llm-gateway.org) #+AUTHOR: Agent #+FILETAGS: :skill:llm:gateway: -#+PROPERTY: header-args:lisp :tangle org-skill-llm-gateway.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-llm-gateway.lisp * Overview The *LLM Gateway* skill provides a unified interface for interacting with multiple Large Language Model providers. diff --git a/skills/org-skill-peripheral-vision.org b/skills/org-skill-peripheral-vision.org index 330e82b..ba9b7a3 100644 --- a/skills/org-skill-peripheral-vision.org +++ b/skills/org-skill-peripheral-vision.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Peripheral Vision (org-skill-peripheral-vision.org) #+AUTHOR: Agent #+FILETAGS: :harness:peripheral:context: -#+PROPERTY: header-args:lisp :tangle org-skill-peripheral-vision.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-peripheral-vision.lisp * Overview The *Peripheral Vision* skill enhances the context engine with high-level summaries of distant memory nodes. diff --git a/skills/org-skill-policy.org b/skills/org-skill-policy.org index b9c4f7e..a62171f 100644 --- a/skills/org-skill-policy.org +++ b/skills/org-skill-policy.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Policy (org-skill-policy.org) #+AUTHOR: Agent #+FILETAGS: :system:policy:constitutional: -#+PROPERTY: header-args:lisp :tangle org-skill-policy.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-policy.lisp * Overview The *Policy Skill* is the constitutional layer of OpenCortex. It enforces foundational invariants like transparency and autonomy on all proposed actions. diff --git a/skills/org-skill-protocol-validator.org b/skills/org-skill-protocol-validator.org index c207e8d..cbd1150 100644 --- a/skills/org-skill-protocol-validator.org +++ b/skills/org-skill-protocol-validator.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Protocol Validator (org-skill-protocol-validator.org) #+AUTHOR: Agent #+FILETAGS: :system:protocol:validation: -#+PROPERTY: header-args:lisp :tangle org-skill-protocol-validator.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-protocol-validator.lisp * Overview The *Protocol Validator* skill enforces strict schema compliance for all internal and external communication. diff --git a/skills/org-skill-repl.lisp b/skills/org-skill-repl.lisp deleted file mode 100644 index a25e822..0000000 --- a/skills/org-skill-repl.lisp +++ /dev/null @@ -1,112 +0,0 @@ -;;;; org-skill-repl.lisp - REPL Skill -;;;; Generated from org-skill-repl.org - -(in-package :opencortex) - -(defvar *repl-package* :opencortex - "Default package for REPL evaluations.") - -(defvar *repl-history* nil - "History of evaluated forms for session continuity.") - -(defvar *repl-variables* (make-hash-table :test #'eq) - "Cache of bound variables for inspection.") - -(defun repl-eval (code-string &key (package *repl-package*)) - "Evaluate Lisp code and return (values result output error). - - result: the return value as string - - output: captured stdout - - error: error message or nil on success" - (let ((out (make-string-output-stream)) - (err (make-string-output-stream)) - (pkg (or (find-package package) (find-package :opencortex)))) - (handler-case - (let* ((*standard-output* out) - (*error-output* err) - (*package* pkg) - (*read-eval* nil) - (result nil)) - (with-input-from-string (s code-string) - (loop for form = (read s nil :eof) until (eq form :eof) - do (setf result (eval form)))) - (push code-string *repl-history*) - (values - (format nil "~a" result) - (get-output-stream-string out) - nil)) - (error (c) - (values - nil - (get-output-stream-string out) - (format nil "~a" c)))))) - -(defun repl-inspect (symbol-name &key (package *repl-package*)) - "Inspect a variable's value and structure." - (let* ((pkg (or (find-package package) (find-package :opencortex))) - (sym (find-symbol (string-upcase symbol-name) pkg))) - (cond - ((null sym) - (format nil "Symbol ~a not found in package ~a" symbol-name package)) - ((boundp sym) - (let ((val (symbol-value sym))) - (format nil "~a = ~a~%Type: ~a~%~%" - sym val (type-of val)))) - ((fboundp sym) - (format nil "~a is a function~%Args: ~a~%" - sym (documentation sym 'function))) - (t - (format nil "~a is unbound" symbol-name))))) - -(defun repl-list-vars (&key (package *repl-package*)) - "List all bound variables in the package." - (let* ((pkg (or (find-package package) (find-package :opencortex))) - (vars nil)) - (do-symbols (sym pkg) - (when (boundp sym) - (push (format nil "~a" sym) vars))) - (sort vars #'string<))) - -(defun repl-load-file (filepath) - "Load a Lisp file into the current image." - (handler-case - (progn - (load filepath) - (format nil "Loaded ~a" filepath)) - (error (c) - (format nil "Error loading ~a: ~a" filepath c)))) - -(defun repl-set-package (package-name) - "Set the default package for REPL evaluations." - (let ((pkg (find-package (string-upcase package-name)))) - (if pkg - (setf *repl-package* pkg) - (format nil "Package ~a not found" package-name)))) - -(defun repl-help () - "Return available REPL commands." - (format nil "~% -REPL Skill Commands: -------------------- -(repl-eval \"code\" :package :opencortex) - - Evaluate Lisp code, returns (values result output error) - -(repl-inspect \"symbol\" :package :opencortex) - - Inspect a variable or function - -(repl-list-vars :package :opencortex) - - List all bound variables - -(repl-load-file \"/path/to/file.lisp\") - - Load a file into the image - -(repl-set-package :package-name) - - Switch default package - -(repl-help) - - Show this message -")) - -(defskill :skill-repl - :priority 200 - :trigger (lambda (ctx) (declare (ignore ctx)) nil) - :deterministic (lambda (action ctx) (declare (ignore action ctx)) nil)) \ No newline at end of file diff --git a/skills/org-skill-repl.org b/skills/org-skill-repl.org index 4769801..18ce002 100644 --- a/skills/org-skill-repl.org +++ b/skills/org-skill-repl.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: REPL (org-skill-repl.org) #+AUTHOR: Agent #+FILETAGS: :system:repl:interactive:debug: -#+PROPERTY: header-args:lisp :tangle org-skill-repl.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-repl.lisp * Overview The *REPL Skill* provides persistent Lisp evaluation, inspection, and debugging capabilities. This enables the agent to verify behavior at runtime rather than just at the text level. diff --git a/skills/org-skill-scribe.org b/skills/org-skill-scribe.org index 933402d..4dbf7cf 100644 --- a/skills/org-skill-scribe.org +++ b/skills/org-skill-scribe.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Scribe (org-skill-scribe.org) #+AUTHOR: Agent #+FILETAGS: :skill:scribe:documentation: -#+PROPERTY: header-args:lisp :tangle org-skill-scribe.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-scribe.lisp * Overview The *Scribe Skill* manages the agent's internal documentation and logs. diff --git a/skills/org-skill-self-edit.org b/skills/org-skill-self-edit.org index 3693ae2..eddff0a 100644 --- a/skills/org-skill-self-edit.org +++ b/skills/org-skill-self-edit.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Self Edit (org-skill-self-edit.org) #+AUTHOR: Agent #+FILETAGS: :system:autonomy:self-edit: -#+PROPERTY: header-args:lisp :tangle org-skill-self-edit.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-self-edit.lisp * Overview The *Self Edit* skill allows the OpenCortex Agent to modify its own literate source code. diff --git a/skills/org-skill-self-fix.org b/skills/org-skill-self-fix.org index ce3d49e..dd85c78 100644 --- a/skills/org-skill-self-fix.org +++ b/skills/org-skill-self-fix.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Self Fix (org-skill-self-fix.org) #+AUTHOR: Agent #+FILETAGS: :system:autonomy:self-fix: -#+PROPERTY: header-args:lisp :tangle org-skill-self-fix.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-self-fix.lisp * Overview The *Self Fix* skill enables the agent to automatically repair broken skills and harness components. diff --git a/skills/org-skill-shell-actuator.org b/skills/org-skill-shell-actuator.org index d080318..d3742a5 100644 --- a/skills/org-skill-shell-actuator.org +++ b/skills/org-skill-shell-actuator.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Shell Actuator (org-skill-shell-actuator.org) #+AUTHOR: Agent #+FILETAGS: :skill:actuator:shell: -#+PROPERTY: header-args:lisp :tangle org-skill-shell-actuator.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-shell-actuator.lisp * Overview The *Shell Actuator* provides the agent with the capability to execute bash commands. diff --git a/skills/org-skill-tool-permissions.org b/skills/org-skill-tool-permissions.org index 9d8c26a..40566c4 100644 --- a/skills/org-skill-tool-permissions.org +++ b/skills/org-skill-tool-permissions.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Tool Permissions (org-skill-tool-permissions.org) #+AUTHOR: Agent #+FILETAGS: :skill:security:permissions: -#+PROPERTY: header-args:lisp :tangle org-skill-tool-permissions.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-tool-permissions.lisp * Overview The *Tool Permissions* skill manages the authorization levels for different cognitive tools. diff --git a/skills/org-skill-utils-lisp.org b/skills/org-skill-utils-lisp.org index 9384f2b..5e6c8cf 100644 --- a/skills/org-skill-utils-lisp.org +++ b/skills/org-skill-utils-lisp.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Utils Lisp (org-skill-utils-lisp.org) #+AUTHOR: Agent #+FILETAGS: :skill:utils:lisp:validation:evaluation: -#+PROPERTY: header-args:lisp :tangle org-skill-utils-lisp.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-utils-lisp.lisp * Overview The *Utils Lisp* skill provides advanced structural validation, sandboxed evaluation, and formatting for Common Lisp code. diff --git a/skills/org-skill-utils-org.org b/skills/org-skill-utils-org.org index b323cb2..5e348ee 100644 --- a/skills/org-skill-utils-org.org +++ b/skills/org-skill-utils-org.org @@ -1,7 +1,7 @@ #+TITLE: SKILL: Utils Org (org-skill-utils-org.org) #+AUTHOR: Agent #+FILETAGS: :skill:utils:org: -#+PROPERTY: header-args:lisp :tangle org-skill-utils-org.lisp +#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-utils-org.lisp * Overview The *Utils Org* skill provides advanced structural manipulation for Org-mode files and their AST representation.