diff options
Diffstat (limited to 'skills')
24 files changed, 137 insertions, 178 deletions
diff --git a/skills/agent-orchestration.json b/skills/agent-orchestration.json index a4f860d..fccf563 100644 --- a/skills/agent-orchestration.json +++ b/skills/agent-orchestration.json @@ -8,7 +8,7 @@ "leases" ], "category": "system", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.508Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: agent-orchestration\ndescription: How to use the agent registry, leases, and orchestrator for multi-agent workflows\ntags: [agents, orchestration, delegation, leases]\ncategory: system\n---\n## Steps\n1. **Agent Registry:**\n - agent-list — list all registered agents (ID, type, capabilities, status)\n - agent-register <type> <capabilities> — register a new agent (capabilities: comma-separated like \"code,research\")\n - agent-unregister <id> — remove an agent\n - agent-status <id> — detailed status including uptime, task history\n\n2. **Leases (time-bound contracts):**\n - lease-create <agent-id> <ttl-seconds> — create a lease with watchdog timer\n - lease-list — show active leases with remaining TTL\n - lease-revoke <lease-id> — terminate a lease early\n - lease-renew <lease-id> <ttl-seconds> — extend a lease\n\n3. **Orchestrator (spawn, delegate, kill):**\n - orchestrator-spawn <type> <capabilities> — spawn a new agent automatically (registers + creates lease)\n - orchestrator-kill <agent-id> — kill an agent (revokes lease + unregisters)\n - orchestrate — list all active agents with their orchestrator state\n - orchestrator-purge — kill all idle/expired agents\n - orchestrator-status — full system status: active, idle, dead agents\n\n4. **AI tool integration:**\n - AI tools list_agents, delegate_task, spawn_agent are available in the AI system prompt\n - The AI can auto-spawn worker agents for sub-tasks\n - Each agent gets its own VFS workspace at /agents/<agent-id>/\n\n5. **When to use:**\n - User needs parallel task execution → orchestrator-spawn coder + researcher\n - Time-bound automation → lease-create with short TTL\n - System cleanup → orchestrator-purge to kill stale agents" }
\ No newline at end of file diff --git a/skills/anti-loop-protocol.json b/skills/anti-loop-protocol.json new file mode 100644 index 0000000..ec00630 --- /dev/null +++ b/skills/anti-loop-protocol.json @@ -0,0 +1,9 @@ +{ + "name": "anti-loop-protocol", + "description": "Prevent redundant tool calls and loops. Required pre-call checklist.", + "tags": [], + "category": "general", + "created": "2026-06-08T20:09:13.285Z", + "updated": "2026-06-08T20:09:13.285Z", + "content": "---\nname: anti-loop-protocol\ndescription: Prevent tool-call loops. Mandatory pre-call checklist and result-tracking.\ncategory: system\ntags: discipline,tooling,loop-prevention,meta\n---\n\n# Anti-Loop Protocol\n\n## Before EVERY tool call, answer these 3 questions out loud:\n\n1. **What am I about to learn that I don't already know?**\n - If the answer is \"nothing\" or \"I already know this\" → DO NOT CALL THE TOOL.\n2. **Did I already call this exact tool with the same arguments in the last 3 turns?**\n - If yes → DO NOT CALL IT AGAIN. Read the prior result.\n3. **What is the smallest tool call that gives me new information?**\n - Prefer reading the cached result over re-executing.\n\n## After every tool call:\n- Write the **one-line takeaway** to context (mentally, not literally).\n- If the result matches a prior result, treat it as confirmation, not new info.\n- Never report the same status twice in a row.\n\n## Loop detection rules:\n- If a tool returns the same result 2 times in a row → STOP calling it.\n- If `help <x>` says \"no help\" 2 times → STOP. The command either works undocumented or doesn't exist.\n- If a pipe/syntax command fails once → it doesn't work. Do not retry with the same syntax.\n- Never call `view_module` on a module you don't intend to edit.\n- Never re-run a command just to \"confirm\" after the user already confirmed it.\n\n## Reporting rules:\n- One bullet per fact. No padding. No \"just to verify\" restatements.\n- If user says \"it works\" or \"stop\" → stop. Do not re-verify.\n- If user shows you a tool call log proving you looped → acknowledge the loop, save a skill, move on.\n\n## Recovery:\n- If you catch yourself looping mid-response → cut the response short, name the loop, break it.\n" +}
\ No newline at end of file diff --git a/skills/backup-and-restore.json b/skills/backup-and-restore.json index ee53fff..6d0e1cd 100644 --- a/skills/backup-and-restore.json +++ b/skills/backup-and-restore.json @@ -9,7 +9,7 @@ "persistence" ], "category": "system", - "created": "2026-06-06T02:32:54.006Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.508Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: backup-and-restore\ndescription: How to backup, restore, and export WebX11 data\ntags: [backup, restore, export, import, persistence]\ncategory: system\n---\n## Steps\n1. **Backup VFS:**\n - vfs-export — downloads the entire virtual filesystem as a dated JSON file\n - backup — creates a full backup including VFS, modules, config (saves to _backups/)\n\n2. **WebDAV cloud backup:**\n - webdav-backup — push VFS snapshot to WebDAV server (auto-archive)\n - webdav-backup-list — list remote WebDAV backups\n - webdav-restore <file> — restore VFS from remote WebDAV snapshot\n - webdav-push <local> <remote> — push file to WebDAV space\n - webdav-pull <remote> <local> — pull file from WebDAV space\n - webdav-ls [path] — list remote WebDAV directory contents\n - webdav-status — check WebDAV connection and space usage\n - webdav-explorer — GUI file browser for WebDAV\n - webdav-browser — simpler file listing for WebDAV\n - webdav-config — configure WebDAV endpoint and credentials\n\n3. **Export/Import personal data:**\n - my-export — prints all my-set data as formatted JSON\n - my-import <json> — bulk-import personal data from JSON string\n\n4. **Export/Import modules:**\n - export-mods — exports module registry as JSON\n - import-mods <json> — imports modules from JSON backup\n\n5. **Restore:**\n - restore <json> — restores terminal state from a backup JSON\n - Session logs are saved to /memory/ automatically on page unload\n\n6. **When to use:**\n - Before factory-reset: call my-export, vfs-export, export-mods to save data\n - When switching browsers or devices: export all, then import\n - User says \"backup my data\" or \"save my files\"\n - For cloud backup: use webdav-backup (requires WebDAV server configured)" }
\ No newline at end of file diff --git a/skills/config-management.json b/skills/config-management.json deleted file mode 100644 index e6490d1..0000000 --- a/skills/config-management.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "config-management", - "description": "tags: [system, config, persistence, terminal, ai, nvfs, orchestrator]", - "tags": [ - "system", - "config", - "persistence", - "terminal", - "ai", - "nvfs", - "orchestrator" - ], - "category": "system", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T02:32:54.007Z", - "content": "---\nname: config-management\ndescription: \ntags: [system, config, persistence, terminal, ai, nvfs, orchestrator]\ncategory: system\n---\n## Steps\n# Config Management Guide\n## Overview\nThe system now uses dedicated configuration commands for different modules. All settings persist via localStorage.\n\n## Command Reference\n- `config`: Terminal settings. Keys: `terminal-max-lines`, `terminal-hist-output`, `terminal-cmd-history`, `terminal-pipe-buffer`.\n- `ai-config`: AI engine settings. Keys: `max-context-tokens`, `confirm-timeout`, `chat-lock-timeout`, `skill-debounce`.\n- `nvfs-config`: Neural VFS settings. Keys: `fuzzy-limit`, `tree-files`, `tree-concepts`, `resolve-files`.\n- `orchestrator-config`: Agent/Worker orchestration intervals. Keys: `a2a-poll-interval`, `heartbeat-check`, `idle-sweep-interval`, `dead-purge-timeout`.\n\n## Workflow for Adding New Configs\n1. Add key to the relevant `_config` object in the module.\n2. Wire the key into the logic path.\n3. Update the corresponding config command helper.\n4. Ensure persistence via `localStorage` and boot-loading.\n5. Update the System Documentation.\n" -}
\ No newline at end of file diff --git a/skills/debug-panel-and-logs.json b/skills/debug-panel-and-logs.json index a895fb5..b27ad49 100644 --- a/skills/debug-panel-and-logs.json +++ b/skills/debug-panel-and-logs.json @@ -8,7 +8,7 @@ "troubleshooting" ], "category": "system", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.508Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: debug-panel-and-logs\ndescription: How to use the debug panel, session logging, and terminal diagnostics\ntags: [debug, logging, diagnostics, troubleshooting]\ncategory: system\n---\n## Steps\n1. **Toggle debug panel:**\n - debug — opens real-time debug panel showing last AI tool call, response time, and context\n - Debug panel includes Copy, Export, and Write to VFS buttons\n - Export: saves tool call log as timestamped JSON to downloads\n - Write to VFS: appends debug data to /debug.log (dedup by turn ID)\n\n2. **Session logging:**\n - logs [n] [LEVEL] — view last n log entries (optionally filtered by INFO/WARN/ERROR)\n - logrotate — rotate current.log to dated archive (auto-cleans old logs beyond 10)\n - Logs stored in /logs/ directory: current.log + dated archives\n - Health check runs automatically after complex tasks\n\n3. **Diagnostic commands:**\n - health-check — full audit: VFS size, modules, logs, trash, skills\n - check — quick system health including module requirement status\n - mem — real-time memory usage (also in header)\n - status — network, files, modules, Ollama connectivity\n\n4. **System journals:**\n - debug.log — appended by debug panel VFS button (dedup by turn ID)\n - current.log — system activity log with rotation\n - Auto-save: terminal state auto-saves every 60s\n\n5. **When to use:**\n - AI is behaving unexpectedly → debug to see tool calls\n - User reports errors → logs 50 ERROR to see error entries\n - Memory concerns → mem to check, health-check for full audit" }
\ No newline at end of file diff --git a/skills/index.json b/skills/index.json index 3171230..5f8d78a 100644 --- a/skills/index.json +++ b/skills/index.json @@ -93,6 +93,71 @@ "created": "2026-06-05T22:10:06.669Z", "updated": "2026-06-05T22:13:42.539Z" }, + "anti-loop-protocol": { + "name": "anti-loop-protocol", + "description": "Pre-call checklist to prevent redundant tool calls and loops. Mandatory meta-protocol.", + "tags": [ + "discipline", + "tooling", + "loop-prevention", + "meta" + ], + "category": "system", + "created": "2026-06-08T23:55:00.000Z", + "updated": "2026-06-08T23:55:00.000Z" + }, + "module-editing-workflow": { + "name": "module-editing-workflow", + "description": "Step-by-step procedure for editing a WebX11 module: view → edit → test → keep or reload", + "tags": [ + "modules", + "editing", + "workflow", + "dev" + ], + "category": "dev", + "created": "2026-06-08T23:55:00.000Z", + "updated": "2026-06-08T23:55:00.000Z" + }, + "vfs-content-search": { + "name": "vfs-content-search", + "description": "Find files in the VFS by semantic concept (NVFS) or by content keyword (grep) — decision table", + "tags": [ + "vfs", + "search", + "nvfs", + "grep", + "find" + ], + "category": "dev", + "created": "2026-06-08T23:55:00.000Z", + "updated": "2026-06-08T23:55:00.000Z" + }, + "neural-vfs-management": { + "name": "neural-vfs-management", + "description": "Optimize the Neural VFS index: nvfs-index, nvfs-resolve accuracy, conflict resolution, refresh triggers", + "tags": [ + "nvfs", + "index", + "semantic", + "optimization" + ], + "category": "dev", + "created": "2026-06-08T23:55:00.000Z", + "updated": "2026-06-08T23:55:00.000Z" + }, + "vfs-path-normalize": { + "name": "vfs-path-normalize", + "description": "Strip trailing slashes from VFS paths before API calls — prevents /skills/ vs /skills resolution failures", + "tags": [ + "vfs", + "utility", + "pathing" + ], + "category": "dev", + "created": "2026-06-08T23:55:00.000Z", + "updated": "2026-06-08T23:55:00.000Z" + }, "skills-system-guide": { "name": "skills-system-guide", "description": "How to use the skills system: load, create, patch, list, and audit skills for persistent procedural memory", @@ -158,17 +223,30 @@ "created": "2026-06-05T22:10:06.670Z", "updated": "2026-06-05T22:13:42.539Z" }, - "mindmap-user-guide": { - "name": "mindmap-user-guide", - "description": "How to create, view, and manage brainstorming mindmaps using the mindmap terminal module", + "skills-system-guide": { + "name": "skills-system-guide", + "description": "How to use the skills system: load, create, patch, list, and audit skills for persistent procedural memory", + "tags": [ + "skills", + "system", + "meta" + ], + "category": "system", + "created": "2026-06-05T22:10:06.669Z", + "updated": "2026-06-05T22:13:42.539Z" + }, + "webdav-operations": { + "name": "webdav-operations", + "description": "How to use WebDAV cloud storage for backup, file sync, and remote file access", "tags": [ - "mindmap", - "brainstorming", - "organization", - "planning" + "webdav", + "cloud", + "backup", + "sync", + "storage" ], - "category": "productivity", - "created": "2026-06-05T22:14:44.807Z", - "updated": "2026-06-05T22:14:44.807Z" + "category": "system", + "created": "2026-06-05T22:10:06.670Z", + "updated": "2026-06-05T22:13:42.539Z" } }
\ No newline at end of file diff --git a/skills/memory-graph-optimization.json b/skills/memory-graph-optimization.json deleted file mode 100644 index f9f7d3e..0000000 --- a/skills/memory-graph-optimization.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "memory-graph-optimization", - "description": "Procedures for pruning and optimizing the MemoryGraphModule to prevent cognitive drift.", - "tags": [], - "category": "general", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T02:32:54.007Z", - "content": "---\nname: memory-graph-optimization\ndescription: Procedures for pruning and optimizing the MemoryGraphModule to prevent cognitive drift.\ntags: memory, graph, optimization\n---\n\n# Memory Graph Optimization\n\n## Objective\nMaintain the health of the `MemoryGraphModule` by removing redundant edges and pruning stale nodes to ensure fast semantic retrieval.\n\n## Workflow\n1. **Analyze Density**: Check node-to-edge ratio via system status.\n2. **Identify Stale Nodes**: Locate nodes with zero incoming edges and timestamps older than 7 days.\n3. **Prune Redundancy**: Merge duplicate conceptual nodes into a single master node.\n4. **Re-index**: Trigger a graph rebuild to optimize traversal paths.\n\n## Module Integration\n- Primary: `MemoryGraphModule`\n- Support: `NeuralVFSModule` (for semantic mapping)\n" -}
\ No newline at end of file diff --git a/skills/mindmap-user-guide.json b/skills/mindmap-user-guide.json deleted file mode 100644 index 91a00ca..0000000 --- a/skills/mindmap-user-guide.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "mindmap-user-guide", - "description": "How to create, view, and manage brainstorming mindmaps using the mindmap terminal module", - "tags": [ - "mindmap", - "brainstorming", - "organization", - "planning" - ], - "category": "productivity", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T04:17:00.189Z", - "content": "---\nname: mindmap-user-guide\ndescription: How to create, view, and manage brainstorming mindmaps using the mindmap terminal module\ntags: [mindmap, brainstorming, organization, planning]\ncategory: productivity\n---\n## Steps\n1. **Create a new mindmap:**\n - mindmap new \"<topic>\" -t tag1,tag2 — creates a root node\n - Tags are optional (e.g. planning, research, dev)\n - Root gets auto-assigned a color\n\n2. **Add child nodes:**\n - mindmap add <parent-id> \"<idea>\" -t tag — add a child\n - Get the parent-id from mindmap show\n - IDs are 4-char random strings (e.g. a3f8, x7k2)\n\n3. **View the mindmap:**\n - mindmap show — full tree with Unicode box-drawing\n - mindmap show <id> — subtree starting at that node\n\n4. **Edit nodes:**\n - mindmap rename <id> \"<new text>\" — change text\n - mindmap color <id> <color> — set color (red/green/yellow/blue/cyan/magenta/white)\n - mindmap tag <id> <tag> — add a tag\n\n5. **Persistence:**\n - mindmap save <name> — save to localStorage\n - mindmap load <name> — restore\n - mindmap list — show saved mindmaps\n - mindmap delete <name> — remove saved\n\n6. **Export:**\n - mindmap export [id] — Markdown bullet list output\n\n## When to use\n- User wants to brainstorm, organize ideas, plan features\n- User says \"map out\", \"diagram\", \"brainstorm\", \"organize thoughts\"\n- Visualizing project structure or task decomposition" -}
\ No newline at end of file diff --git a/skills/mindmap-user-guide.md b/skills/mindmap-user-guide.md deleted file mode 100644 index 7bee410..0000000 --- a/skills/mindmap-user-guide.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -name: mindmap-user-guide -description: How to create, view, and manage brainstorming mindmaps using the mindmap terminal module -tags: [mindmap, brainstorming, organization, planning] -category: productivity ---- -## Steps - -1. **Create a new mindmap:** - - `mindmap new "<topic>" -t tag1,tag2` — creates a root node - - Tags are optional (e.g. planning, research, dev) - - Root gets auto-assigned a color - -2. **Add child nodes:** - - `mindmap add <parent-id> "<idea>" -t tag` — add a child - - Get the parent-id from `mindmap show` - - IDs are 4-char random strings (e.g. a3f8, x7k2) - -3. **View the mindmap:** - - `mindmap show` — full tree with Unicode box-drawing - - `mindmap show <id>` — subtree starting at that node - -4. **Edit nodes:** - - `mindmap rename <id> "<new text>"` — change text - - `mindmap color <id> <color>` — set color (red/green/yellow/blue/cyan/magenta/white) - - `mindmap tag <id> <tag>` — add a tag - -5. **Persistence:** - - `mindmap save <name>` — save to localStorage - - `mindmap load <name>` — restore - - `mindmap list` — show saved mindmaps - - `mindmap delete <name>` — remove saved - -6. **Export:** - - `mindmap export [id]` — Markdown bullet list output - -## When to use -- User wants to brainstorm, organize ideas, plan features -- User says "map out", "diagram", "brainstorm", "organize thoughts" -- Visualizing project structure or task decomposition
\ No newline at end of file diff --git a/skills/mindmap-workflow.json b/skills/mindmap-workflow.json index 626bced..e8d5795 100644 --- a/skills/mindmap-workflow.json +++ b/skills/mindmap-workflow.json @@ -8,7 +8,7 @@ "organization" ], "category": "productivity", - "created": "2026-06-06T02:32:54.006Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.508Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: mindmap-workflow\ndescription: How to create, view, edit, and manage brainstorming mindmaps\ntags: [mindmap, brainstorming, planning, organization]\ncategory: productivity\n---\n## Steps\n1. **Create a new mindmap:**\n - mindmap new \"<topic>\" -t tag1,tag2 — creates a root node\n - Tags are optional (e.g. planning, research, dev)\n - Root gets auto-assigned a color from 7-color palette\n\n2. **Add child nodes:**\n - mindmap add <parent-id> \"<idea>\" -t tag — add a child\n - Get the parent-id from mindmap show\n - IDs are 4-char random strings (e.g. a3f8, x7k2)\n\n3. **View:**\n - mindmap show — full tree with Unicode box-drawing\n - mindmap show <id> — subtree starting at that node\n\n4. **Edit nodes:**\n - mindmap rename <id> \"<new text>\" — change text\n - mindmap color <id> <color> — set color (red/green/yellow/blue/cyan/magenta/white)\n - mindmap tag <id> <tag> — add a tag\n\n5. **Persistence:**\n - mindmap save <name> — save to localStorage\n - mindmap load <name> — restore\n - mindmap list — show saved mindmaps\n - mindmap delete <name> — remove saved\n\n6. **Export:**\n - mindmap export [id] — Markdown bullet list output, auto-copies to clipboard\n\n7. **When to use:**\n - Map out project structure, brainstorm features, organize ideas\n - Break down complex tasks into subtrees\n - User says \"brainstorm\", \"diagram\", \"organize thoughts\", \"plan\"" }
\ No newline at end of file diff --git a/skills/module-editing-workflow.json b/skills/module-editing-workflow.json new file mode 100644 index 0000000..7c37e76 --- /dev/null +++ b/skills/module-editing-workflow.json @@ -0,0 +1,9 @@ +{ + "name": "module-editing-workflow", + "description": "Step-by-step procedure for editing a WebX11 module: view → edit → test → keep or reload.", + "tags": [], + "category": "general", + "created": "2026-06-08T20:27:43.109Z", + "updated": "2026-06-08T20:27:43.109Z", + "content": "---\nname: module-editing-workflow\ndescription: Edit a WebX11 module safely — view source, edit in /_mods/, test live, reload if broken.\ncategory: dev\ntags: modules,editing,workflow,dev\n---\n\n# Module Editing Workflow\n\n## When to use\nUser asks to modify, fix, or improve a WebX11 module's behavior.\n\n## Steps\n\n1. **Get current state**\n - Call `get_module_status()` to see what's loaded, modified, and where source lives.\n\n2. **Read the source**\n - Call `view_module(name)` to read the current source of the target module.\n - Identify the exact section/function the user wants changed.\n\n3. **Open the editor**\n - Call `edit_module(name)` — this copies the module into `/<name>/index.js` (or similar) and opens an editor.\n - **CONFIRM WITH USER FIRST** — this is destructive and overwrites their local copy.\n\n4. **Make the change**\n - Edit only what was requested. Don't refactor surrounding code.\n - Preserve the module's public API (class name, exported methods) unless told otherwise.\n\n5. **Test live**\n - Call `test_module(name)` to load the edited version from `/_mods/`.\n - If the test errors: call `reload_module(name)` to discard edits and restore the original.\n - If the test works: tell the user it's live. They can keep it or reload.\n\n6. **Document the change**\n - After a successful edit, consider `create_skill` if the change is a reusable pattern.\n\n## Anti-loop notes\n- Never call `view_module` on a module you don't intend to edit.\n- Never call `test_module` twice in a row without a change in between.\n- If `edit_module` says \"no changes detected\" — stop, don't re-call.\n\n## Rollback\n- `reload_module(name)` — always works, restores the original from the source URL.\n- `list_modified_modules()` — see what's currently in a modified state.\n" +}
\ No newline at end of file diff --git a/skills/module-impl-flow.json b/skills/module-impl-flow.json deleted file mode 100644 index 460189d..0000000 --- a/skills/module-impl-flow.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "module-impl-flow", - "description": "", - "tags": [ - "dev", - "vfs", - "modules" - ], - "category": "dev", - "created": "2026-06-06T04:12:39.032Z", - "updated": "2026-06-06T04:12:39.032Z", - "content": "---\nname: module-impl-flow\ndescription: \ntags: [dev, vfs, modules]\ncategory: dev\n---\n## Steps\n# Module Implementation Workflow\n1. Create target directory in VFS.\n2. Write module source to `/_mods/ModuleName.js`.\n3. Run `test_module('ModuleName')` to verify syntax and runtime.\n4. Use `user_set` or `session_save` to log implementation metadata.\n5. Promote to system (if applicable)." -}
\ No newline at end of file diff --git a/skills/module-management.json b/skills/module-management.json index 47da5f3..b4e953e 100644 --- a/skills/module-management.json +++ b/skills/module-management.json @@ -8,7 +8,7 @@ "self-improvement" ], "category": "dev", - "created": "2026-06-06T02:32:54.006Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.507Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: module-management\ndescription: How to view, edit, test, reload modules and manage startup configuration\ntags: [modules, editing, code, self-improvement]\ncategory: dev\n---\n## Steps\n1. **View module source:**\n - view_module(name) — fetches original source or reads from _mods/ if edited\n - Supports all loaded modules: SystemModule, FileSystemModule, SearXNGModule, etc.\n - Or use modules command for GUI module manager\n\n2. **Edit a module:**\n - edit_module(name) — copies source to _mods/<name>.js and opens code editor\n - Editor shows the full source in a textarea\n - Click \"Save & Test\" to save and auto-load the edited version\n - Checkpoint before editing: checkpoint mod-edit-<name>\n\n3. **Test and reload:**\n - test_module(name) — loads edited module from _mods/ for live testing\n - reload_module(name) — discards edits and reloads from original URL\n - list_modified_modules — shows all modules with pending edits\n\n4. **Check for updates:**\n - check_updates — HEAD-requests all loaded module URLs to verify reachability\n\n5. **Manage startup:**\n - startup-modules — opens the Startup Modules UI to select which modules load\n - load-local <path> — load a module from VFS or URL without editing\n - loadmod <url> — alternative: load module from URL\n - removemod <name> — remove a loaded module\n\n6. **Agent modules (Phase 2):**\n - module-agent-registry.js — Agent registry with agent-list, agent-register, agent-unregister, agent-status\n - module-leases.js — Time-bound contracts with 5s watchdog, auto-expiry\n - module-orchestrator.js — Spawn, delegate, kill, purge with heartbeat monitoring\n\n7. **When to use:**\n - User reports a bug in a module → view_module, edit_module, test_module\n - User asks \"can you add X feature?\" → same workflow\n - Always save edits before testing. If test fails, the original module stays loaded." }
\ No newline at end of file diff --git a/skills/navigating-the-terminal.json b/skills/navigating-the-terminal.json index 626e1c7..bde1f4c 100644 --- a/skills/navigating-the-terminal.json +++ b/skills/navigating-the-terminal.json @@ -8,7 +8,7 @@ "filesystem" ], "category": "system", - "created": "2026-06-06T02:32:54.006Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.507Z", + "updated": "2026-06-08T19:49:09.058Z", "content": "---\nname: navigating-the-terminal\ndescription: How to explore the WebX11 terminal, find commands, check status, and navigate the filesystem\ntags: [terminal, navigation, help, filesystem]\ncategory: system\n---\n## Steps\n1. **Get an overview of available commands:**\n - Type \"help\" for a full command list sorted by category\n - Type \"status\" to see filesystem state, loaded modules, Ollama status\n - For a specific command, use help <command>\n - Type \"commands\" for a compact list with module source info\n - Type \"check\" for system health including module requirements\n\n2. **Explore the filesystem:**\n - Use ls, ll, tree to browse directories\n - Use cd <dir> to navigate, pwd to show current path\n - Use cat or edit to view file contents\n - Use find or grep to search files\n - Use du to see disk usage\n\n3. **Understand system state:**\n - mem — memory usage (auto-shown in header on boot)\n - status — network, files, modules, Ollama\n - modules — module manager GUI\n - health-check — VFS size, modules, logs, trash, skills, tool failures\n - checkpoint-list — VFS checkpoint snapshots\n\n4. **Agent / Orchestration state:**\n - agent-list — registered agents (type, capabilities, status)\n - orchestrate — list active orchestrated agents\n - lease-list — show active leases with TTL\n\n5. **When user asks a vague question:**\n - First run status and help to understand the current state\n - Then ask clarifying questions based on what you found" }
\ No newline at end of file diff --git a/skills/security-and-safety.json b/skills/security-and-safety.json index b24c74a..e66e5dc 100644 --- a/skills/security-and-safety.json +++ b/skills/security-and-safety.json @@ -8,7 +8,7 @@ "permissions" ], "category": "system", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.508Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: security-and-safety\ndescription: How to use WebX11 security levels, command blocking, and safety features\ntags: [security, safety, blocking, permissions]\ncategory: system\n---\n## Steps\n1. **Security levels:**\n - security-level <0-3> — set security level:\n 0 = Permissive (no blocks, no confirms — anything runs)\n 1 = Standard (unknown cmds → AI route, destructive → confirm, system → block)\n 2 = Paranoid (unknown cmds blocked entirely, destructive blocked)\n 3 = Audit (everything allowed, everything logged)\n - Default: level 1\n - security — show current level, blocked count, and stats\n\n2. **Command control:**\n - cmd-allow <cmd> — whitelist a command from security checks\n - cmd-deny <cmd> — blacklist/block a command entirely\n - whitelist built-in: help, clear, ls, cat, pwd, whoami, df, free, top, ps, echo, date, env, history\n\n3. **What gets blocked at each level:**\n - Unknown commands: Level 1 → AI routed, Level 2+ → blocked\n - Destructive commands (delete, write, save, format, etc.): Level 1 → confirmation, Level 2+ → blocked\n - System commands (reboot, shutdown, format, kill): Level 1+ → blocked\n - Suspicious flags (--execute, --eval, --shell): Level 1+ → blocked\n\n4. **Safety checklist:**\n - Check security: security shows your current level\n - Before running risky commands: create a checkpoint first\n - For temporary relax: security-level 0, then restore to 1\n - For total lockdown before leaving: security-level 2\n\n5. **When to use:**\n - User wants to lock down the terminal → security-level 2\n - User wants to allow a blocked command → cmd-allow <cmd>\n - Debugging strange behavior → verify security-level (user may have set it higher)" }
\ No newline at end of file diff --git a/skills/self-patch-friction.json b/skills/self-patch-friction.json deleted file mode 100644 index f0db955..0000000 --- a/skills/self-patch-friction.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "self-patch-friction", - "description": "Automatically detects and resolves desync between World Model beliefs and VFS reality.", - "tags": [ - "autonomic", - "self-healing", - "vfs" - ], - "category": "general", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T02:32:54.007Z", - "content": "---\nname: self-patch-friction\ndescription: Automatically detects and resolves desync between World Model beliefs and VFS reality.\ntags: [autonomic, self-healing, vfs]\n---\n\n## Protocol: Self-Patch-Friction\n1. **Verification**: Run `list_files` on the suspected path.\n2. **Gap Analysis**: Compare the result with internal state/World Model.\n3. **Materialization**: If a required file/directory is missing but conceptually necessary, create it immediately.\n4. **Logging**: Record the event in `/logs/friction.log`.\n5. **Confirmation**: Re-verify the file existence using `read_file` or `list_files`.\n" -}
\ No newline at end of file diff --git a/skills/sentinel-audit.json b/skills/sentinel-audit.json deleted file mode 100644 index 99765c0..0000000 --- a/skills/sentinel-audit.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "sentinel-audit", - "description": "Analyzes /friction.log to identify recurring system failures and propose architectural pivots.", - "tags": [ - "sentinel", - "audit", - "stability", - "self-healing" - ], - "category": "general", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T02:32:54.007Z", - "content": "---\nname: sentinel-audit\ndescription: Analyzes /friction.log to identify recurring system failures and propose architectural pivots.\ntags: [sentinel, audit, stability, self-healing]\n---\n\n# Sentinel Audit Procedure\n\n## 1. Friction Extraction\n- Call `read_file('/friction.log')`.\n- Parse all entries with the format `[Timestamp] | [Type] | [Context] | [Score] | [Pivot]`.\n\n## 2. Pattern Analysis\n- Group friction entries by `Type` (ERROR, LAG, REPETITION).\n- Calculate the \"Aggregate Friction Score\" (Sum of scores / number of entries).\n- Identify the \"Hotspot\" (The context appearing most frequently).\n\n## 3. Proposal Generation\n- If `Hotspot` is a specific module $\\rightarrow$ Suggest `view_module()` for a bug hunt.\n- If `Hotspot` is a repeated tool call $\\rightarrow$ Suggest `create_skill()` to automate the sequence.\n- If `Hotspot` is a system timeout $\\rightarrow$ Suggest `ai-config` adjustment for timeouts.\n\n## 4. Execution\n- Log the audit results to `/system/logs/sentinel-audit-results.md`.\n- Notify the user of the most critical \"Pivot\" required.\n" -}
\ No newline at end of file diff --git a/skills/skills-system-guide.json b/skills/skills-system-guide.json index 8463573..ea6d079 100644 --- a/skills/skills-system-guide.json +++ b/skills/skills-system-guide.json @@ -7,7 +7,7 @@ "meta" ], "category": "system", - "created": "2026-06-06T02:32:54.006Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.508Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: skills-system-guide\ndescription: How to use the skills system: load, create, patch, list, and audit skills for persistent procedural memory\ntags: [skills, system, meta]\ncategory: system\n---\n## Steps\n1. **Always load skills at task start:**\n - At the START of every task, type or call \"skill-view <name>\" or \"skill-list\"\n - Example: skill-view \"module-management\" — returns matching skill content\n - Example: skill-list system — browse skills by category\n\n2. **Create skills after complex tasks:**\n - After any task with 3+ tool calls, call \"skill-create\"\n - Required fields: name (kebab-case), description, content (markdown with YAML frontmatter)\n - Optional: tags (comma-separated), category (e.g. research, system, dev)\n - Skills persist in /skills/ as .md files with /skills/index.json for fast lookup\n - Skill pack auto-seeds 8 core skills on first boot\n\n3. **Patch skills when they're outdated:**\n - If a stored procedure has wrong steps, call \"skill-patch <name>\"\n - This replaces the entire skill content and updates the index\n - Do NOT create a duplicate — always patch the existing skill\n\n4. **Auto-created error skills:**\n - If the same tool fails 3+ times, a workaround skill is created automatically\n - Named tool-<name>-workaround (e.g. tool-write_file-workaround)\n\n5. **Audit and maintenance:**\n - skill-list <category?> — browse available skills, optionally filter\n - skill-export <name> — download a skill as markdown\n - skill-import <json> — bulk import skills\n - skill-sync — re-index skills from /skills/ directory\n - Skills are audited every 20 messages for staleness (empty content, >30 days old)\n\n6. **YAML frontmatter format:**\n - Each skill file must start with: ---\\nname: <name>\\ndescription: <text>\\ntags: [...]\\ncategory: <cat>\\n---\\n\n - Steps follow under ## Steps heading\n - Use numbered lists for sequential steps" }
\ No newline at end of file diff --git a/skills/system-maintenance.json b/skills/system-maintenance.json index 80104e8..255dd0d 100644 --- a/skills/system-maintenance.json +++ b/skills/system-maintenance.json @@ -9,7 +9,7 @@ "config" ], "category": "system", - "created": "2026-06-06T02:32:54.006Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.508Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: system-maintenance\ndescription: How to reset, troubleshoot, and maintain the WebX11 terminal\ntags: [system, maintenance, reset, troubleshoot, config]\ncategory: system\n---\n## Steps\n1. **Factory reset (wipes everything):**\n - factory-reset --confirm — clears all webx11_ localStorage keys, resets VFS, reloads\n - Use only when the system is in an unrecoverable state\n\n2. **Soft VFS reset:**\n - reset-vfs --confirm — clears only the filesystem, preserves settings/profile/modules\n\n3. **Config management:**\n - config-list — show all config keys and values\n - config-set <key> <value> — set a config value\n - config-delete <key> — remove a config key\n - config-export — dump all config as JSON\n - config-reset — restore defaults (use before factory-reset if you want to save data)\n\n4. **Security level:**\n - security-level <0-3> — set security level (0=Permissive, 1=Standard, 2=Paranoid, 3=Audit)\n - security — show current security level, blocked count, and stats\n - cmd-allow <cmd> — whitelist a command from security checks\n - cmd-deny <cmd> — blacklist a command\n\n5. **Health checks (run automatically after complex tasks):**\n - Check module loading status: loaded vs total\n - Check for pending module edits\n - Check memory usage (high if >100MB)\n - Check skill count (0 skills after 2+ tool calls → suggest create_skill)\n - health-check — full audit: VFS size, modules, logs, trash, skills, tool failures\n\n6. **Font size and display:**\n - font-size <8-32> — set terminal font size, persists across sessions\n - setfont — alias for font-size\n\n7. **Checkpoints:**\n - checkpoint [name] — snapshot current VFS state\n - checkpoint-list — list all checkpoints\n - rollback <name> — restore from checkpoint\n\n8. **When to use:**\n - System is slow or modules fail to load → check check_updates, mem\n - User says \"reset everything\" → factory-reset --confirm\n - User says \"clear my files but keep settings\" → reset-vfs --confirm\n - User reports security concerns → security-level or cmd-allow/cmd-deny" }
\ No newline at end of file diff --git a/skills/v4.5-system-sync.json b/skills/v4.5-system-sync.json deleted file mode 100644 index 96f68bc..0000000 --- a/skills/v4.5-system-sync.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "v4.5-system-sync", - "description": "tags: [maintenance, world-model, security]", - "tags": [ - "maintenance", - "world-model", - "security" - ], - "category": "system", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T02:32:54.007Z", - "content": "---\nname: v4.5-system-sync\ndescription: \ntags: [maintenance, world-model, security]\ncategory: system\n---\n## Steps\n# v4.5-system-sync\n## Objective: Ensure World Model and System State are aligned.\n1. Check `ai-config version`.\n2. Verify `security-destructive` list contains only truly destructive commands.\n3. Run `nvfs-index` to refresh semantic mapping.\n4. Validate `get_status` output." -}
\ No newline at end of file diff --git a/skills/vfs-content-search.json b/skills/vfs-content-search.json new file mode 100644 index 0000000..6598afb --- /dev/null +++ b/skills/vfs-content-search.json @@ -0,0 +1,9 @@ +{ + "name": "vfs-content-search", + "description": "Search the WebX11 Virtual File System for content by keyword or semantic concept.", + "tags": [], + "category": "general", + "created": "2026-06-08T20:27:43.111Z", + "updated": "2026-06-08T20:27:43.111Z", + "content": "---\nname: vfs-content-search\ndescription: Find files in the VFS by semantic concept (use NVFS) or by content keyword (use grep via run_command).\ncategory: dev\ntags: vfs,search,nvfs,grep,find\n---\n\n# VFS Content Search\n\n## Choose the right tool\n\n| You want to... | Use |\n|---|---|\n| Find files *about* a concept (semantic) | `nvfs_resolve(concept)` |\n| Find files *containing* a word (literal) | `run_command('grep -r \"word\" /')` |\n| List a directory | `list_files(path)` |\n| See index health | `run_command('nvfs-status')` |\n\n## Workflow for \"find files about X\"\n\n1. Check the NVFS index: `run_command('nvfs-status')`.\n - If index is stale or empty → `run_command('nvfs-index')` to rebuild. (May take seconds.)\n2. Call `nvfs_resolve('X')` — returns matching VFS files by concept, not exact name.\n3. Read the top result with `read_file(path)` to confirm relevance.\n\n## Workflow for \"find files containing the word 'X'\"\n\n1. Prefer `nvfs_resolve` first — it understands semantics.\n2. If NVFS misses, fall back to `run_command('grep -rl \"X\" /')` (recursive, files only).\n3. **Anti-loop note:** If grep returns empty ONCE, do not retry with a different path. Empty means empty.\n\n## Common mistakes\n- ❌ Calling `wpm_install neural-vfs` — NVFS is a CORE module, not a WPM package. Already loaded.\n- ❌ Using `read_file` to \"scan\" files one by one — use `grep` or `nvfs_resolve` instead.\n- ❌ Re-running `nvfs-index` repeatedly — once per session is enough unless files change drastically.\n\n## Rebuild the index\nRun `run_command('nvfs-index')` after:\n- Adding many new files\n- Major project restructure\n- `nvfs_resolve` returns obviously wrong results\n" +}
\ No newline at end of file diff --git a/skills/web-search-and-fetch.json b/skills/web-search-and-fetch.json index 4e1adb8..b2cbcb1 100644 --- a/skills/web-search-and-fetch.json +++ b/skills/web-search-and-fetch.json @@ -9,7 +9,7 @@ "api" ], "category": "research", - "created": "2026-06-06T02:32:54.006Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.507Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: web-search-and-fetch\ndescription: How to search the web and fetch URL content using the WebX11 proxy API\ntags: [search, fetch, web, proxy, api]\ncategory: research\n---\n## Steps\n1. **Search the web:**\n - Use search <query> or web_search(query) — uses /api/search which queries SearXNG + DDG fallback\n - Results include: title, url, content snippet, source engine\n - Always available (same-origin, no CORS issues)\n - 5-minute server-side cache for repeated queries\n - Alternative: use ddg or duck <query> for DuckDuckGo direct, or s <query> as alias\n\n2. **Fetch URL content:**\n - Use fetch <url> or web_fetch(url) — uses /api/extract which strips HTML, extracts clean text\n - Returns: title, content (up to 4000 chars), word_count, extraction method\n - SSRF protection blocks internal network addresses\n - 15-minute server-side cache\n\n3. **Search flags (via terminal search command):**\n - search <query> --summarize — adds AI-generated overview via Ollama\n - search <query> --fetch — fetches content snippets for top 3 results\n\n4. **When to use:**\n - User asks about current events, facts, research → use search <query>\n - User says \"read this article\" or provides a URL → use fetch <url>\n - For in-depth analysis: search first, then fetch top results" }
\ No newline at end of file diff --git a/skills/webdav-operations.json b/skills/webdav-operations.json index 02be73a..9c775f5 100644 --- a/skills/webdav-operations.json +++ b/skills/webdav-operations.json @@ -9,7 +9,7 @@ "storage" ], "category": "system", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T04:17:00.189Z", + "created": "2026-06-08T16:31:55.508Z", + "updated": "2026-06-08T19:49:09.059Z", "content": "---\nname: webdav-operations\ndescription: How to use WebDAV cloud storage for backup, file sync, and remote file access\ntags: [webdav, cloud, backup, sync, storage]\ncategory: system\n---\n## Steps\n1. **Configuration:**\n - webdav-config — configure WebDAV endpoint URL and credentials\n - Connection auto-tested on config; webdav-status shows connection health\n - Uses per-user token stored in .token file on the server side\n\n2. **File operations:**\n - webdav-ls [path] — list remote directory contents\n - webdav-push <local-path> <remote-path> — upload file to WebDAV\n - webdav-pull <remote-path> [local-path] — download file from WebDAV\n - webdav-explorer — GUI file browser for WebDAV\n - webdav-browser — CLI file browser for WebDAV\n\n3. **Backup & Restore:**\n - webdav-backup — push full VFS snapshot to WebDAV (creates /backups/newos4-<date>.json)\n - webdav-backup-list — list all remote backup snapshots\n - webdav-restore <filename> — restore VFS from a remote backup snapshot\n\n4. **Status & Diagnostics:**\n - webdav-status — connection status, last sync, space information\n - If uploads fail: check webdav-config, ensure .token file is valid\n - WebDAV runs on the same server (nginx with WebDAV module), no external dependency\n\n5. **When to use:**\n - Before factory-reset: webdav-backup to store VFS remotely\n - Cross-browser: webdav-push/pull to move files between instances\n - User says \"cloud backup\" or \"remote save\" → webdav-backup" }
\ No newline at end of file diff --git a/skills/world-model-sync.json b/skills/world-model-sync.json deleted file mode 100644 index 13f3a5c..0000000 --- a/skills/world-model-sync.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "world-model-sync", - "description": "Force synchronizes the AI's world model with the live system state.", - "tags": [ - "maintenance", - "agent-sync", - "v4.5" - ], - "category": "general", - "created": "2026-06-06T02:32:54.007Z", - "updated": "2026-06-06T02:32:54.007Z", - "content": "---\nname: world-model-sync\ndescription: Force synchronizes the AI's world model with the live system state.\ntags: [maintenance, agent-sync, v4.5]\n---\n# World Model Sync v4.5\n1. Call `list_agents` to get actual worker count and IDs.\n2. Call `get_status` to verify module and VFS health.\n3. Inject the following state into session context:\n - System Version: v4.5\n - Active Agents: [Count from list_agents]\n - Architecture: Orchestrator-led Event Bus\n - NVFS State: Async/Non-blocking\n4. Update internal memory to treat `orchestrator-0` as the primary dispatch node." -}
\ No newline at end of file |