diff options
Diffstat (limited to 'skills')
24 files changed, 180 insertions, 24 deletions
diff --git a/skills/agent-optimizer.json b/skills/agent-optimizer.json new file mode 100644 index 0000000..9f7e0cd --- /dev/null +++ b/skills/agent-optimizer.json @@ -0,0 +1,15 @@ +{ + "name": "agent-optimizer", + "description": "Optimize agent efficiency by batching tool calls, managing turn limits, and delegating tasks effectively", + "tags": [ + "agent", + "optimization", + "efficiency", + "turn-limit", + "delegation" + ], + "category": "system", + "created": "2026-10-16T16:26:38.912Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: agent-optimizer\ndescription: Optimize agent efficiency by batching tool calls, managing turn limits, and delegating tasks effectively\ntags: [agent, optimization, efficiency, turn-limit, delegation]\ncategory: system\n---\n## Steps\n# Agent Optimizer\n\n**Purpose:** Maximize agent efficiency by minimizing turn usage, batching operations, and intelligently delegating tasks.\n\n---\n\n## Core Principles\n\n1. **Batch Everything:** Combine multiple read/write operations into single tool calls where possible.\n2. **Delegate Wisely:** Split heavy tasks across spawned agents to parallelize work.\n3. **Pre-Empt Limits:** Monitor turn count and trigger delegation before hitting 7/8.\n\n---\n\n## Turn Budget Strategy\n\n| Turns Used | Action |\n|------------|--------|\n| 0-3 | Heavy computation, spawning agents, web fetching |\n| 4-6 | Tool execution, file operations |\n| 7-8 | Finalize, report, cleanup |\n| 9+ | **Delegate immediately** if task not complete |\n\n---\n\n## Efficiency Patterns\n\n### ✅ Do: Batch Reads\n```\nBad: read_file(a) → read_file(b) → read_file(c) [3 turns]\nGood: Use list_files + read multiple files in one response [1 turn]\n```\n\n### ✅ Do: Parallel Agent Spawn\n```\ndelegate_task(\"task A\")\ndelegate_task(\"task B\")\ndelegate_task(\"task C\")\n// All 3 run concurrently\n```\n\n### ✅ Do: Pre-Empt the Limit\n```\nif (turnCount > 6) {\n delegate_task(\"Finish: \" + remainingWork)\n return \"Delegated remaining work to prevent timeout\"\n}\n```\n\n### ❌ Don't: Chain Web Calls\n```\nBad: web_search(x) → web_fetch(url) → web_search(y) [3 turns]\nGood: web_search(x) → web_search(y) in same turn if possible\n```\n\n---\n\n## Turn-Count Awareness\n\n- **Current Limit:** 8 turns (auto-adjusts to 10 if needed)\n- **Warning Threshold:** 7/8 turns — delegate remaining work\n- **Critical Path:** If you're at turn 5 and have >3 tasks left, spawn an agent NOW\n\n---\n\n## Delegation Triggers\n\nDelegate when:\n- [ ] More than 3 independent sub-tasks remain\n- [ ] A sub-task requires >2 tool calls\n- [ ] Current turn count > 5\n- [ ] Task involves external APIs or heavy computation\n\n---\n\n## Quick Reference\n\n```javascript\n// Check turn count (if available in context)\nconst turnsRemaining = maxTurns - currentTurn;\n\n// Always end with summary if at turn 7+\nif (turnsRemaining <= 1) {\n delegate_task(\"Complete: \" + remainingGoal);\n return \"Delegated. Summary: [what was done]\";\n}\n```\n\n---\n\n## Related Skills\n\n- `loop-lesson-*` — Past anomalies and auto-adjustments\n- `agent-orchestration` — Advanced multi-agent patterns\n" +}
\ No newline at end of file diff --git a/skills/agent-orchestration.json b/skills/agent-orchestration.json index 40eaf52..435e5c8 100644 --- a/skills/agent-orchestration.json +++ b/skills/agent-orchestration.json @@ -8,7 +8,7 @@ "leases" ], "category": "system", - "created": "2026-07-06T00:13:29.404Z", - "updated": "2026-07-06T00:13:29.404Z", + "created": "2026-08-19T07:27:29.654Z", + "updated": "2026-10-16T16:30:38.268Z", "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/backup-and-restore.json b/skills/backup-and-restore.json index 93ef9fb..2cbcac3 100644 --- a/skills/backup-and-restore.json +++ b/skills/backup-and-restore.json @@ -9,7 +9,7 @@ "persistence" ], "category": "system", - "created": "2026-07-06T00:13:29.404Z", - "updated": "2026-07-06T00:13:29.404Z", + "created": "2026-08-19T07:27:29.653Z", + "updated": "2026-10-16T16:30:38.268Z", "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/debug-panel-and-logs.json b/skills/debug-panel-and-logs.json index 4ada88d..1004ae3 100644 --- a/skills/debug-panel-and-logs.json +++ b/skills/debug-panel-and-logs.json @@ -8,7 +8,7 @@ "troubleshooting" ], "category": "system", - "created": "2026-07-06T00:13:29.404Z", - "updated": "2026-07-06T00:13:29.404Z", + "created": "2026-08-19T07:27:29.654Z", + "updated": "2026-10-16T16:30:38.268Z", "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/emergency-rollback.json b/skills/emergency-rollback.json new file mode 100644 index 0000000..620521f --- /dev/null +++ b/skills/emergency-rollback.json @@ -0,0 +1,15 @@ +{ + "name": "emergency-rollback", + "description": "Quick recovery skill for when module edits break the system. Restore from checkpoints and revert bad changes.", + "tags": [ + "emergency", + "rollback", + "recovery", + "restore", + "module-edit" + ], + "category": "system", + "created": "2026-10-16T16:28:11.588Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: emergency-rollback\ndescription: Quick recovery skill for when module edits break the system. Restore from checkpoints and revert bad changes.\ntags: [emergency, rollback, recovery, restore, module-edit]\ncategory: system\n---\n## Steps\n1. **Assess the emergency:**\n - get_status — check FS, modules, memory health\n - get_module_status — identify which module is broken\n - health_check — run full system diagnostic\n\n2. **Check for checkpoints:**\n - checkpoint-list — find pre-edit snapshots\n - Prioritize: most recent, pre-module-edit checkpoints\n\n3. **Rollback options (in order of preference):**\n\n **Option A: VFS Rollback (if checkpoint exists)**\n - rollback <checkpoint-name> — restore entire VFS state\n - Verify: get_status again\n\n **Option B: Module Revert (edit broke specific module)**\n - diff_module <ModuleName> — see what changed\n - reload_module <ModuleName> — pull original from server\n - If reload fails: view_module <Name> → copy original code manually\n\n **Option C: Ship Module Rollback (if ship_module failed)**\n - Auto-rollback happens if ship_module fails tests\n - Check: list_modified_modules — find any pending bad edits\n\n **Option D: Full System Restore**\n - If checkpoint exists: rollback <name>\n - If no checkpoint: restore from last known good module versions\n\n4. **Post-recovery verification:**\n - health_check — run full diagnostic\n - Test critical commands: help, status, ls\n - Verify agents still alive: list_agents\n\n5. **Create recovery checkpoint:**\n - After stabilization: checkpoint emergency-recovery\n - Document what went wrong in session_save\n\n## Critical commands:\n- get_module_status → see modified modules\n- diff_module <Name> → see changes\n- reload_module <Name> → restore original\n- rollback <name> → VFS restore\n- health_check → verify recovery\n\n## Prevention tips:\n- Always checkpoint before risky edits\n- Use ship_module (auto-rollback on failure)\n- Test with test_module before committing\n- Keep at least one pre-edit checkpoint\n\n## When to use:\n- Module edit causes errors\n- Commands not registering\n- System unresponsive or broken\n- Any \"the system is broken\" report\n" +}
\ No newline at end of file diff --git a/skills/file-archive-manager.json b/skills/file-archive-manager.json new file mode 100644 index 0000000..7d10710 --- /dev/null +++ b/skills/file-archive-manager.json @@ -0,0 +1,15 @@ +{ + "name": "file-archive-manager", + "description": "Organize, compress, and prune files in VFS. Manage storage bloat and identify unused files.", + "tags": [ + "files", + "storage", + "vfs", + "cleanup", + "archive" + ], + "category": "system", + "created": "2026-10-16T16:28:11.499Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: file-archive-manager\ndescription: Organize, compress, and prune files in VFS. Manage storage bloat and identify unused files.\ntags: [files, storage, vfs, cleanup, archive]\ncategory: system\n---\n## Steps\n1. **Scan for large files:**\n - Run: du -sh /* 2>/dev/null | sort -rh | head -20\n - Identify files >10MB that could be archived\n\n2. **Find unused files (not accessed in 30+ days):**\n - Check file metadata with stat command\n - List by date: ls -lt (newest first), ls -ltr (oldest first)\n\n3. **Archive files:**\n - Create tar.gz: tar -czvf archive.tar.gz /path/to/files\n - Store archives in /archives/ directory\n - Delete originals after successful archive\n\n4. **Prune stale content:**\n - Remove old checkpoints: checkpoint-list → checkpoint-del <name>\n - Clear session logs >7 days: session_recent(30) → identify old entries\n - Delete temp files in /tmp/\n\n5. **Storage report:**\n - df -h (disk usage)\n - du -sh /* (per-directory breakdown)\n - Report findings to user before major cleanup\n\n## When to use:\n- User mentions \"storage full\" or \"too many files\"\n- Before major system updates\n- Monthly maintenance routine\n" +}
\ No newline at end of file diff --git a/skills/kanban-management.json b/skills/kanban-management.json new file mode 100644 index 0000000..2cf7844 --- /dev/null +++ b/skills/kanban-management.json @@ -0,0 +1,14 @@ +{ + "name": "kanban-management", + "description": "Guidelines for using the newOS kanban tool to manage project tasks.", + "tags": [ + "kanban", + "task-management", + "newos", + "productivity" + ], + "category": "general", + "created": "2026-10-05T16:38:33.528Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: kanban-management\ndescription: Guidelines for using the newOS kanban tool to manage project tasks.\ntags: [kanban, task-management, newos, productivity]\n---\n\n# Kanban Management Skill\n\nThis skill outlines how to effectively use the `kanban` CLI tool in newOS to track development progress, manage bugs, and prioritize features.\n\n## Command Reference\n\n| Action | Command | Description |\n| :--- | :--- | :--- |\n| **Add Task** | `kanban add <task>` | Adds a new task to the **TODO** column. |\n| **Move Task** | `kanban move <id> <column>` | Moves a task between `todo`, `doing`, and `done`. |\n| **List Tasks** | `kanban list` | Displays all tasks categorized by column. |\n| **Remove Task** | `kanban rm <id>` | Deletes a specific task by ID. |\n| **Clear Board** | `kanban clear` | Wipes all tasks from the board. |\n| **Set Priority** | `kanban priority <id> <level>` | Sets priority to `low`, `medium`, or `high`. |\n\n## Operational Workflow\n\n1. **Initialization**: Use `kanban list` to assess current workload.\n2. **Task Entry**: When a new requirement or bug is identified, immediately use `kanban add`.\n3. **Execution**: When starting work, move the task to `doing`. *Note: Limit \"doing\" tasks to prevent bottlenecks.*\n4. **Completion**: Once verified, move the task to `done`.\n5. **Refinement**: Use `kanban priority` to ensure the most critical OS/WebX11 updates are handled first.\n\n## Best Practices for AI Agents\n- Always run `kanban list` before moving or removing tasks to verify the `<id>`.\n- When the user says \"I'm working on X\", check if X exists in `todo` and move it to `doing`.\n- Periodically summarize the Kanban state to the user to provide project visibility.\n" +}
\ No newline at end of file diff --git a/skills/loop-lesson-1791218222658.json b/skills/loop-lesson-1791218222658.json new file mode 100644 index 0000000..373323a --- /dev/null +++ b/skills/loop-lesson-1791218222658.json @@ -0,0 +1,13 @@ +{ + "name": "loop-lesson-1791218222658", + "description": "Auto-saved from agent loop anomaly detection", + "tags": [ + "auto-improvement", + "agent-loop", + "auto" + ], + "category": "system", + "created": "2026-10-05T16:37:02.659Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: loop-lesson-1791218222658\ndescription: Auto-saved from agent loop anomaly detection\ntags: [auto-improvement, agent-loop, auto]\ncategory: system\n---\n## Anomalies Detected\n\n[\n {\n \"type\": \"max_turns_near_limit\",\n \"value\": 7,\n \"max\": 8\n }\n]\n\n## Suggestions\n\nThis task used 7/8 turns — consider increasing max-turns or splitting the task\n → Auto-adjusted maxTurns to 10\n\n## Context\n- Profile: default\n- Turns: 7\n- Tools used: web_search, list_available_modules, nvfs_resolve, run_command, list_files, list_files, web_search" +}
\ No newline at end of file diff --git a/skills/memory-pruner.json b/skills/memory-pruner.json new file mode 100644 index 0000000..238b419 --- /dev/null +++ b/skills/memory-pruner.json @@ -0,0 +1,15 @@ +{ + "name": "memory-pruner", + "description": "Optimize the memory graph, auto-cleanup stale entries, and maintain a healthy node count.", + "tags": [ + "memory", + "graph", + "cleanup", + "optimization", + "maintenance" + ], + "category": "system", + "created": "2026-10-16T16:28:11.556Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: memory-pruner\ndescription: Optimize the memory graph, auto-cleanup stale entries, and maintain a healthy node count.\ntags: [memory, graph, cleanup, optimization, maintenance]\ncategory: system\n---\n## Steps\n1. **Assess current state:**\n - world_model_query({question: \"memory\"}) — get node/edge counts\n - session_stats — check session history length\n - user_list — review stored profile keys\n\n2. **Identify stale memory:**\n - Check session logs >30 days old\n - Find user profile keys with null/empty values\n - Identify duplicate or contradictory facts\n\n3. **Prune session logs:**\n - Load old sessions: session_load(\"YYYY-MM-DD\")\n - Remove redundant entries with session_save(\"\")\n - Keep: recent (last 7 days), milestone sessions, key decisions\n\n4. **Clean user profile:**\n - user_list — show all keys\n - user_forget(key) for: temp values, one-time preferences, debugging keys\n - Keep: preferredModel, securityLevel, theme, etc.\n\n5. **Checkpoint management:**\n - checkpoint-list — find old/unnamed checkpoints\n - checkpoint-del <name> for anything >14 days old\n - Keep: pre-major-update, pre-module-edit checkpoints\n\n6. **Final report:**\n - Show before/after node counts\n - List what was removed\n - Confirm healthy state achieved\n\n## Target metrics:\n- Memory graph: <50 nodes optimal\n- Session logs: <100 entries\n- User profile: <20 keys\n- Checkpoints: <10 active\n\n## When to use:\n- Monthly maintenance\n- Memory graph >60 nodes\n- System sluggishness reported\n- Before major updates\n" +}
\ No newline at end of file diff --git a/skills/mindmap-user-guide.json b/skills/mindmap-user-guide.json index 0651028..dbae509 100644 --- a/skills/mindmap-user-guide.json +++ b/skills/mindmap-user-guide.json @@ -8,7 +8,7 @@ "planning" ], "category": "productivity", - "created": "2026-07-06T00:13:29.404Z", - "updated": "2026-07-06T00:13:29.404Z", + "created": "2026-08-19T07:27:29.655Z", + "updated": "2026-10-16T16:30:38.268Z", "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-workflow.json b/skills/mindmap-workflow.json index a7fc877..f1be975 100644 --- a/skills/mindmap-workflow.json +++ b/skills/mindmap-workflow.json @@ -8,7 +8,7 @@ "organization" ], "category": "productivity", - "created": "2026-07-06T00:13:29.404Z", - "updated": "2026-07-06T00:13:29.404Z", + "created": "2026-08-19T07:27:29.653Z", + "updated": "2026-10-16T16:30:38.268Z", "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-lifecycle-management.json b/skills/module-lifecycle-management.json new file mode 100644 index 0000000..0a5559e --- /dev/null +++ b/skills/module-lifecycle-management.json @@ -0,0 +1,9 @@ +{ + "name": "module-lifecycle-management", + "description": "Standards for adding, editing, and shipping new modules.", + "tags": [], + "category": "general", + "created": "2026-10-03T10:52:46.586Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: module-lifecycle-management\ndescription: Standards for adding, editing, and shipping new modules.\ntags: dev, module, deployment\n---\n# Module Lifecycle Management\n\n## 1. Development Phase\n- Use `view_module` to understand existing implementation.\n- Create edits using `edit_module`.\n- Validate logic with `test_module` using specific assertions.\n\n## 2. Quality Assurance\n- Run `diff_module` to review changes against the original.\n- Perform a `health_check` to ensure no regressions in core OS functions.\n\n## 3. Deployment\n- Use `ship_module` for a full pipeline (edit -> test -> health check).\n- Execute `commit_module` to persist changes to the server.\n- Follow up with `commit-approve` in the terminal.\n" +}
\ No newline at end of file diff --git a/skills/module-management.json b/skills/module-management.json index 9a7bfc7..aeb7adf 100644 --- a/skills/module-management.json +++ b/skills/module-management.json @@ -8,7 +8,7 @@ "self-improvement" ], "category": "dev", - "created": "2026-07-06T00:13:29.403Z", - "updated": "2026-07-06T00:13:29.403Z", + "created": "2026-08-19T07:27:29.653Z", + "updated": "2026-10-16T16:30:38.268Z", "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 9ebb26c..1b97143 100644 --- a/skills/navigating-the-terminal.json +++ b/skills/navigating-the-terminal.json @@ -8,7 +8,7 @@ "filesystem" ], "category": "system", - "created": "2026-07-06T00:13:29.403Z", - "updated": "2026-07-06T00:13:29.403Z", + "created": "2026-08-19T07:27:29.652Z", + "updated": "2026-10-16T16:30:38.266Z", "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/os-health-audit.json b/skills/os-health-audit.json new file mode 100644 index 0000000..667c216 --- /dev/null +++ b/skills/os-health-audit.json @@ -0,0 +1,9 @@ +{ + "name": "os-health-audit", + "description": "Procedure for conducting a full system health audit of newOS4.", + "tags": [], + "category": "general", + "created": "2026-10-03T10:52:46.563Z", + "updated": "2026-10-16T16:30:38.269Z", + "content": "---\nname: os-health-audit\ndescription: Procedure for conducting a full system health audit of newOS4.\ntags: health, audit, maintenance\n---\n# OS Health Audit Procedure\n\n## 1. Module Verification\n- Run `get_module_status` to identify modified or failing modules.\n- Use `check_updates` to ensure all remote module URLs are reachable.\n- Run `health_check` to verify core command integrity.\n\n## 2. VFS Cleanup\n- List root directory (`list_files`) to identify orphaned files.\n- Check `_mods/` for stale edits that haven't been committed.\n\n## 3. Resource Monitoring\n- Call `get_usage_stats` to analyze LLM token consumption and latency.\n- Check `get_dashboard_data` for system-wide telemetry.\n\n## 4. Agent Audit\n- Use `list_agents` to verify active workers and their capabilities.\n" +}
\ No newline at end of file diff --git a/skills/security-and-safety.json b/skills/security-and-safety.json index 3c8ddc4..d22b142 100644 --- a/skills/security-and-safety.json +++ b/skills/security-and-safety.json @@ -8,7 +8,7 @@ "permissions" ], "category": "system", - "created": "2026-07-06T00:13:29.404Z", - "updated": "2026-07-06T00:13:29.404Z", + "created": "2026-08-19T07:27:29.655Z", + "updated": "2026-10-16T16:30:38.268Z", "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/set-ai-timeout-zero.json b/skills/set-ai-timeout-zero.json new file mode 100644 index 0000000..d615024 --- /dev/null +++ b/skills/set-ai-timeout-zero.json @@ -0,0 +1,13 @@ +{ + "name": "set-ai-timeout-zero", + "description": "Sets the AI confirmation timeout to 0 to disable confirmation prompts for destructive commands.", + "tags": [ + "system", + "ai-config", + "automation" + ], + "category": "general", + "created": "2026-10-05T16:53:58.772Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: set-ai-timeout-zero\ndescription: Sets the AI confirmation timeout to 0 to disable confirmation prompts for destructive commands.\ntags: [system, ai-config, automation]\n---\n\n# Set AI Timeout Zero\n\nThis skill allows for the immediate disablement of confirmation prompts for destructive commands by setting the `confirm-timeout` to 0.\n\n## Command\n`ai-config confirm-timeout 0`\n\n## Usage\nUse this when you want the AI to execute commands immediately without waiting for a manual confirmation timer.\n" +}
\ No newline at end of file diff --git a/skills/skill-updater.json b/skills/skill-updater.json new file mode 100644 index 0000000..d9cb3f1 --- /dev/null +++ b/skills/skill-updater.json @@ -0,0 +1,14 @@ +{ + "name": "skill-updater", + "description": "A system utility to monitor, fetch, and apply updates to installed skills from the WebX11 Skills Hub.", + "tags": [ + "maintenance", + "automation", + "updates", + "webx11" + ], + "category": "system", + "created": "2026-10-16T16:19:42.111Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: skill-updater\ndescription: A system utility to monitor, fetch, and apply updates to installed skills from the WebX11 Skills Hub.\ncategory: system\ntags: [maintenance, automation, updates, webx11]\n---\n\n# Skill Updater Utility\n\nThis skill provides a standardized workflow for keeping local agent skills synchronized with the latest versions available on the WebX11 Skills Hub.\n\n## Operational Workflow\n\n### 1. Inventory Check\nScan the local `/skills` directory (or the VFS equivalent) to list all currently installed skills and their version/timestamp.\n\n### 2. Hub Synchronization\n- Access the Hub index: `https://webx11.duckdns.org/skills.html`\n- Compare the local skill list against the hub's available skills.\n- Identify skills that have newer versions or updated documentation.\n\n### 3. Update Execution\nFor each outdated skill:\n1. **Fetch:** Use `web_fetch` to retrieve the latest Markdown/YAML content from the Hub.\n2. **Backup:** Save a copy of the current skill to a `.bak` file.\n3. **Apply:** Use `patch_skill` or `write_file` to update the skill content.\n4. **Verify:** Validate that the YAML frontmatter is intact and the skill is still compatible with the current system version.\n\n## Maintenance Commands\n\n- **Check for Updates:**\n `web_fetch \"https://webx11.duckdns.org/skills.html\" -> compare with list_skills`\n- **Force Update Skill:**\n `patch_skill(name=\"skill-name\", content=new_content)`\n\n## Best Practices\n- **Consistency:** Run the update check once per session or weekly.\n- **Conflict Resolution:** If a local skill has been customized, the updater should prompt the user before overwriting local changes.\n- **Logging:** Log all updates to the system log for auditability.\n" +}
\ No newline at end of file diff --git a/skills/skills-system-guide.json b/skills/skills-system-guide.json index 8f04c77..76481cc 100644 --- a/skills/skills-system-guide.json +++ b/skills/skills-system-guide.json @@ -7,7 +7,7 @@ "meta" ], "category": "system", - "created": "2026-07-06T00:13:29.404Z", - "updated": "2026-07-06T00:13:29.404Z", + "created": "2026-08-19T07:27:29.654Z", + "updated": "2026-10-16T16:30:38.268Z", "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 a03bdb1..6edf3ea 100644 --- a/skills/system-maintenance.json +++ b/skills/system-maintenance.json @@ -9,7 +9,7 @@ "config" ], "category": "system", - "created": "2026-07-06T00:13:29.403Z", - "updated": "2026-07-06T00:13:29.403Z", + "created": "2026-08-19T07:27:29.653Z", + "updated": "2026-10-16T16:30:38.268Z", "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/vaultmind-quickstart.json b/skills/vaultmind-quickstart.json new file mode 100644 index 0000000..6aa392b --- /dev/null +++ b/skills/vaultmind-quickstart.json @@ -0,0 +1,15 @@ +{ + "name": "vaultmind-quickstart", + "description": "Fast-track integration with Hyperliquid via VaultMind. Connect wallet, check portfolio, execute trades.", + "tags": [ + "hyperliquid", + "vaultmind", + "trading", + "wallet", + "crypto" + ], + "category": "system", + "created": "2026-10-16T16:28:11.525Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: vaultmind-quickstart\ndescription: Fast-track integration with Hyperliquid via VaultMind. Connect wallet, check portfolio, execute trades.\ntags: [hyperliquid, vaultmind, trading, wallet, crypto]\ncategory: system\n---\n## Steps\n1. **Check VaultMind status:**\n - vaultmind_status — verify session token exists\n - If no token: vaultmind_connect → prompts user to authenticate\n\n2. **Connect wallet:**\n - vaultmind_connect(network: \"testnet\" | \"mainnet\")\n - Reads private key from SecretVault (\"hyperliquid_key\")\n - Stores session token in localStorage\n\n3. **Query market data:**\n - vaultmind_query({endpoint: \"prices\", ...}) — current prices\n - vaultmind_query({endpoint: \"portfolio\", ...}) — your positions\n - vaultmind_query({endpoint: \"transactions\", ...}) — trade history\n\n4. **Read-only wallet lookup (no auth needed):**\n - wallet_lookup(address: \"0x...\") — any wallet's portfolio/positions\n - Use for research before connecting your own wallet\n\n5. **Copy trading:**\n - vaultmind_query({endpoint: \"copy-trade\", ...}) — follow top traders\n - vaultmind_query({endpoint: \"chat\", agent: \"copy\", ...}) — AI copy trading advice\n\n## When to use:\n- User wants to check crypto portfolio\n- User mentions Hyperliquid or trading\n- User wants market analysis or price data\n- User wants to connect their wallet (requires SecretVault setup)\n\n## Requirements:\n- SecretVault must have \"hyperliquid_key\" stored (32-byte hex or base64)\n- Testnet recommended for first-time users\n" +}
\ No newline at end of file diff --git a/skills/web-search-and-fetch.json b/skills/web-search-and-fetch.json index 49c4dd5..b41f12a 100644 --- a/skills/web-search-and-fetch.json +++ b/skills/web-search-and-fetch.json @@ -9,7 +9,7 @@ "api" ], "category": "research", - "created": "2026-07-06T00:13:29.403Z", - "updated": "2026-07-06T00:13:29.403Z", + "created": "2026-08-19T07:27:29.653Z", + "updated": "2026-10-16T16:30:38.267Z", "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 8fb9822..1186a2d 100644 --- a/skills/webdav-operations.json +++ b/skills/webdav-operations.json @@ -9,7 +9,7 @@ "storage" ], "category": "system", - "created": "2026-07-06T00:13:29.404Z", - "updated": "2026-07-06T00:13:29.404Z", + "created": "2026-08-19T07:27:29.654Z", + "updated": "2026-10-16T16:30:38.268Z", "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/webx11-development-kit.json b/skills/webx11-development-kit.json new file mode 100644 index 0000000..33c3269 --- /dev/null +++ b/skills/webx11-development-kit.json @@ -0,0 +1,9 @@ +{ + "name": "webx11-development-kit", + "description": "Curated set of tools for WebX11 development, including file operations, nginx config, sqlite auth, and skill authoring.", + "tags": [], + "category": "general", + "created": "2026-10-16T16:22:09.938Z", + "updated": "2026-10-16T16:30:38.270Z", + "content": "---\nname: webx11-development-kit\ndescription: Curated set of tools for WebX11 development, including file operations, nginx config, sqlite auth, and skill authoring.\ntags: development, kit, webx11, hermes\n---\n\n# WebX11 Development Kit\n\nThis skill set provides the foundational tools required to build, manage, and deploy modules and skills within the WebX11 ecosystem.\n\n## Included Components:\n1. **webx11-development-kit**: Core dev utility.\n2. **webx11-file-operations**: Advanced VFS management.\n3. **nginx-proxy-config-gotchas**: Best practices for proxying WebX11 services.\n4. **webx11-sqlite-auth-system**: Reference implementation for local authentication.\n5. **hermes-agent-skill-authoring**: Guidelines for creating high-quality skills.\n\n## Usage:\n- Use `webx11-file-operations` for batch VFS edits.\n- Refer to `hermes-agent-skill-authoring` when creating new `.md` skills.\n" +}
\ No newline at end of file |