From 1eb8a3db92bc6faeb948dffac5c941608feeb2ff Mon Sep 17 00:00:00 2001 From: Amr Gharbeia Date: Thu, 30 Apr 2026 11:14:31 -0400 Subject: [PATCH] refactor(skills): use %%SKILLS_DIR%% placeholder for portable tangling - Updated 22 skill org files to use %%SKILLS_DIR%% placeholder - Modified opencortex.sh setup to replace placeholder with XDG path - Modified doctor_repair to handle placeholder replacement - Removed hardcoded absolute path --- opencortex.sh | 8 ++++---- 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.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, 27 insertions(+), 27 deletions(-) diff --git a/opencortex.sh b/opencortex.sh index d77df69..896ae2c 100755 --- a/opencortex.sh +++ b/opencortex.sh @@ -109,8 +109,8 @@ setup_system() { for f in "$SCRIPT_DIR/skills"/*.org; do fname=$(basename "$f" .org) echo "Tangling skills/$fname.org..." - # Copy org to XDG first (skills need to be loaded from XDG path) - cp "$f" "$OC_DATA_DIR/skills/" + # Replace %%SKILLS_DIR%% placeholder with actual XDG path + sed "s|%%SKILLS_DIR%%|$OC_DATA_DIR/skills|g" "$f" > "$OC_DATA_DIR/skills/$fname.org" (cd "$OC_DATA_DIR/skills" && emacs -Q --batch --eval "(require 'org)" --eval "(setq org-confirm-babel-evaluate nil)" --eval "(org-babel-tangle-file \"${fname}.org\")") >/dev/null 2>&1 || true done @@ -183,8 +183,8 @@ doctor_repair() { if [ -f "$f" ]; then fname=$(basename "$f" .org) echo " Checking skill/$fname..." - # Copy .org to XDG temporarily for tangle, then remove - cp "$f" "$OC_DATA_DIR/skills/" + # Replace %%SKILLS_DIR%% placeholder and copy to XDG + sed "s|%%SKILLS_DIR%%|$OC_DATA_DIR/skills|g" "$f" > "$OC_DATA_DIR/skills/$fname.org" if ! sbcl --non-interactive \ --eval "(load \"$OC_DATA_DIR/skills/${fname}.lisp\")" \ --eval "(format t \"OK~%\")" 2>/dev/null | grep -q "OK"; then diff --git a/skills/org-skill-bouncer.org b/skills/org-skill-bouncer.org index 98abe86..9410c81 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 /home/user/.local/share/opencortex/skills/org-skill-bouncer.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 7d93301..bedb53a 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 /home/user/.local/share/opencortex/skills/org-skill-cli-gateway.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 1e29d1f..919e372 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 /home/user/.local/share/opencortex/skills/org-skill-config-manager.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 1b62be1..cdd66ce 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 /home/user/.local/share/opencortex/skills/org-skill-credentials-vault.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 31201c5..12ee1a4 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 /home/user/.local/share/opencortex/skills/org-skill-diagnostics.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 5be3c2e..5a288c6 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 /home/user/.local/share/opencortex/skills/org-skill-engineering-standards.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 b1073a9..a8f88e2 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 /home/user/.local/share/opencortex/skills/org-skill-gardener.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 104408a..0844a51 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 /home/user/.local/share/opencortex/skills/org-skill-gateway-manager.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 fd1e2d0..814101b 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 /home/user/.local/share/opencortex/skills/org-skill-homoiconic-memory.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 0a1824f..0928181 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 /home/user/.local/share/opencortex/skills/org-skill-literate-programming.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 e6280f5..30c913a 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 /home/user/.local/share/opencortex/skills/org-skill-llama-backend.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 2f177e3..25d9855 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 /home/user/.local/share/opencortex/skills/org-skill-llm-gateway.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 3617145..5dc242f 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 /home/user/.local/share/opencortex/skills/org-skill-peripheral-vision.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 ee660a0..f23a6e3 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 /home/user/.local/share/opencortex/skills/org-skill-policy.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 9455c1d..d9c2ebe 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 /home/user/.local/share/opencortex/skills/org-skill-protocol-validator.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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.org b/skills/org-skill-repl.org index c8a8d85..0a307ed 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 /home/user/.local/share/opencortex/skills/org-skill-repl.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 6cfa479..c801a7c 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 /home/user/.local/share/opencortex/skills/org-skill-scribe.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 f2ced9b..5f46691 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 /home/user/.local/share/opencortex/skills/org-skill-self-edit.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 70d3d9d..5c3afc6 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 /home/user/.local/share/opencortex/skills/org-skill-self-fix.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 9ec1539..2557705 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 /home/user/.local/share/opencortex/skills/org-skill-shell-actuator.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 a3d0e0f..2e36022 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 /home/user/.local/share/opencortex/skills/org-skill-tool-permissions.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 0ab1663..029362c 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 /home/user/.local/share/opencortex/skills/org-skill-utils-lisp.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/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 57fd308..956b209 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 /home/user/.local/share/opencortex/skills/org-skill-utils-org.lisp +#+PROPERTY: header-args:lisp :tangle %%SKILLS_DIR%%/org-skill-utils-org.lisp * Overview The *Utils Org* skill provides advanced structural manipulation for Org-mode files and their AST representation.