diff options
Diffstat (limited to 'skills')
| -rw-r--r-- | skills/backup-and-restore.md | 27 | ||||
| -rw-r--r-- | skills/index.json | 149 | ||||
| -rw-r--r-- | skills/memory-and-profile.md | 30 | ||||
| -rw-r--r-- | skills/memory-map.md | 51 | ||||
| -rw-r--r-- | skills/mindmap-user-guide.md | 40 | ||||
| -rw-r--r-- | skills/mindmap-workflow.md | 39 | ||||
| -rw-r--r-- | skills/module-management.md | 32 | ||||
| -rw-r--r-- | skills/navigating-the-terminal.md | 27 | ||||
| -rw-r--r-- | skills/skills-system-guide.md | 35 | ||||
| -rw-r--r-- | skills/system-maintenance.md | 35 | ||||
| -rw-r--r-- | skills/web-search-and-fetch.md | 27 | ||||
| -rw-r--r-- | skills/webdav-sync.md | 40 |
12 files changed, 532 insertions, 0 deletions
diff --git a/skills/backup-and-restore.md b/skills/backup-and-restore.md new file mode 100644 index 0000000..1744f47 --- /dev/null +++ b/skills/backup-and-restore.md @@ -0,0 +1,27 @@ +--- +name: backup-and-restore +description: How to backup, restore, and export WebX11 data +tags: [backup, restore, export, import, persistence] +category: system +--- +## Steps +1. **Backup VFS:** + - vfs-export — downloads the entire virtual filesystem as a dated JSON file + - backup — creates a full backup including VFS, modules, config (saves to _backups/) + +2. **Export/Import personal data:** + - my-export — prints all my-set data as formatted JSON + - my-import <json> — bulk-import personal data from JSON string + +3. **Export/Import modules:** + - export-mods — exports module registry as JSON + - import-mods <json> — imports modules from JSON backup + +4. **Restore:** + - restore <json> — restores terminal state from a backup JSON + - Session logs are saved to /memory/ automatically on page unload + +5. **When to use:** + - Before factory-reset: call my-export, vfs-export, export-mods to save data + - When switching browsers or devices: export all, then import + - User says "backup my data" or "save my files"
\ No newline at end of file diff --git a/skills/index.json b/skills/index.json new file mode 100644 index 0000000..ad002f5 --- /dev/null +++ b/skills/index.json @@ -0,0 +1,149 @@ +{ + "navigating-the-terminal": { + "name": "navigating-the-terminal", + "description": "How to explore the WebX11 terminal, find commands, check status, and navigate the filesystem", + "tags": [ + "terminal", + "navigation", + "help", + "filesystem" + ], + "category": "system", + "created": "2026-05-26T18:25:28.851Z", + "updated": "2026-05-26T18:25:28.851Z" + }, + "memory-and-profile": { + "name": "memory-and-profile", + "description": "How to use the user profile system, session memory, and pattern tracking for persistent context", + "tags": [ + "memory", + "profile", + "session", + "persistence" + ], + "category": "system", + "created": "2026-05-26T18:25:28.851Z", + "updated": "2026-05-26T18:25:28.851Z" + }, + "web-search-and-fetch": { + "name": "web-search-and-fetch", + "description": "How to search the web and fetch URL content using the WebX11 proxy API", + "tags": [ + "search", + "fetch", + "web", + "proxy", + "api" + ], + "category": "research", + "created": "2026-05-26T18:25:28.852Z", + "updated": "2026-05-26T18:25:28.852Z" + }, + "module-management": { + "name": "module-management", + "description": "How to view, edit, test, reload modules and manage startup configuration", + "tags": [ + "modules", + "editing", + "code", + "self-improvement" + ], + "category": "dev", + "created": "2026-05-26T18:25:28.853Z", + "updated": "2026-05-26T18:25:28.853Z" + }, + "system-maintenance": { + "name": "system-maintenance", + "description": "How to reset, troubleshoot, and maintain the WebX11 terminal", + "tags": [ + "system", + "maintenance", + "reset", + "troubleshoot", + "config" + ], + "category": "system", + "created": "2026-05-26T18:25:28.854Z", + "updated": "2026-05-26T18:25:28.854Z" + }, + "backup-and-restore": { + "name": "backup-and-restore", + "description": "How to backup, restore, and export WebX11 data", + "tags": [ + "backup", + "restore", + "export", + "import", + "persistence" + ], + "category": "system", + "created": "2026-05-26T18:25:28.855Z", + "updated": "2026-05-26T18:25:28.855Z" + }, + "mindmap-workflow": { + "name": "mindmap-workflow", + "description": "How to create, view, edit, and manage brainstorming mindmaps", + "tags": [ + "mindmap", + "brainstorming", + "planning", + "organization" + ], + "category": "productivity", + "created": "2026-05-26T18:25:28.856Z", + "updated": "2026-05-26T18:25:28.856Z" + }, + "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-05-26T18:25:28.857Z", + "updated": "2026-05-26T18:25:28.857Z" + }, + "mindmap-user-guide": { + "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-05-26T18:28:53.203Z", + "updated": "2026-05-26T18:28:53.203Z" + }, + "webdav-sync": { + "name": "webdav-sync", + "description": "Sync, backup, and restore VFS via WebDAV in WebX11. CRITICAL: Only use verified commands.", + "tags": [ + "webdav", + "sync", + "backup", + "cloud", + "vfs" + ], + "category": "system", + "created": "2026-05-26T18:32:07.434Z", + "updated": "2026-05-26T20:20:17.764Z" + }, + "memory-map": { + "name": "memory-map", + "description": "Maintain and query the persistent memory map at /memory/map.json for Agando/DarkMoto Systems.", + "tags": [ + "memory", + "persistence", + "context", + "map", + "agando" + ], + "category": "system", + "created": "2026-05-26T20:07:04.617Z", + "updated": "2026-05-26T20:07:04.617Z" + } +}
\ No newline at end of file diff --git a/skills/memory-and-profile.md b/skills/memory-and-profile.md new file mode 100644 index 0000000..6605893 --- /dev/null +++ b/skills/memory-and-profile.md @@ -0,0 +1,30 @@ +--- +name: memory-and-profile +description: How to use the user profile system, session memory, and pattern tracking for persistent context +tags: [memory, profile, session, persistence] +category: system +--- +## Steps +1. **User Profile (persists across sessions):** + - user_get(key) — read any profile field (e.g. "preferredModel", "fontSize") + - user_set(key, value) — write to profile, auto-persists to localStorage + - user_list — show all stored profile keys + - user_forget(key) — delete a profile key + - Dot notation supported: user_set knownFacts.name "Alex" + +2. **Session Memory (VFS-based daily logs):** + - session_save(summary) — save a summary of what was accomplished + - session_load(date) — read a specific day's log (format: YYYY-MM-DD) + - session_recent(count) — show last N session summaries + - session_stats — aggregate totals across all sessions + - Recent sessions auto-load into context on first message + +3. **Conversation Patterns:** + - Pattern tracking runs automatically — frequent topics surface as hints + - my-set, my-get, my-list store additional personal data + - AI conversation context persists within a session (use ai-clear to reset) + +4. **When to use:** + - At start: call session_recent(3) to see what was worked on before + - After identifying user preferences: call user_set to store them + - After complex tasks: call session_save with a brief summary
\ No newline at end of file diff --git a/skills/memory-map.md b/skills/memory-map.md new file mode 100644 index 0000000..b8c0f83 --- /dev/null +++ b/skills/memory-map.md @@ -0,0 +1,51 @@ +--- +name: memory-map +description: Maintain and query the persistent memory map at /memory/map.json for Agando/DarkMoto Systems. +category: system +tags: memory, persistence, context, map, agando +--- + +## Purpose +Keep a living index of projects, infrastructure, preferences, active issues, and session history so the AI never asks Agando to repeat himself. + +## File Location +- `/memory/map.json` — primary memory map +- `/memory/index.json` — session index (auto-generated) + +## Workflow + +### 1. Read Before Acting +At the start of any session or when context is unclear: +```bash +read_file("memory/map.json") +``` + +### 2. Update After Significant Work +After any task that changes status, fixes an issue, or adds knowledge: +```bash +# Read current map +read_file("memory/map.json") + +# Modify relevant section(s) +# Write back +write_file("memory/map.json", <updated_json>) +``` + +### 3. Add Session Link +Append to `recent_sessions` (keep last 10): +```json +{"date": "YYYY-MM-DD", "file": "memory/YYYY-MM-DD.json", "summary": "..."} +``` + +## Map Structure +- `projects` — WebX11, clients, personal builds, stores +- `infrastructure` — security stack, backup systems, constraints +- `preferences` — communication style, UI needs (#00ff88, 48px touch targets) +- `active_issues` — open tasks, blockers, manual steps required +- `recent_sessions` — quick links to session logs + +## Rules +- NEVER ask Agando for info already in the map. +- If info is stale or wrong, update it immediately. +- Use `session_save()` after complex tasks to populate index.json. +- Keep `active_issues` accurate — remove resolved items.
\ No newline at end of file diff --git a/skills/mindmap-user-guide.md b/skills/mindmap-user-guide.md new file mode 100644 index 0000000..7bee410 --- /dev/null +++ b/skills/mindmap-user-guide.md @@ -0,0 +1,40 @@ +--- +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.md b/skills/mindmap-workflow.md new file mode 100644 index 0000000..f05c237 --- /dev/null +++ b/skills/mindmap-workflow.md @@ -0,0 +1,39 @@ +--- +name: mindmap-workflow +description: How to create, view, edit, and manage brainstorming mindmaps +tags: [mindmap, brainstorming, planning, organization] +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 from 7-color palette + +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:** + - 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, auto-copies to clipboard + +7. **When to use:** + - Map out project structure, brainstorm features, organize ideas + - Break down complex tasks into subtrees + - User says "brainstorm", "diagram", "organize thoughts", "plan"
\ No newline at end of file diff --git a/skills/module-management.md b/skills/module-management.md new file mode 100644 index 0000000..d57f957 --- /dev/null +++ b/skills/module-management.md @@ -0,0 +1,32 @@ +--- +name: module-management +description: How to view, edit, test, reload modules and manage startup configuration +tags: [modules, editing, code, self-improvement] +category: dev +--- +## Steps +1. **View module source:** + - view_module(name) — fetches original source or reads from _mods/ if edited + - Supports all loaded modules: SystemModule, FileSystemModule, SearXNGModule, etc. + +2. **Edit a module:** + - edit_module(name) — copies source to _mods/<name>.js and opens code editor + - Editor shows the full source in a textarea + - Click "Save & Test" to save and auto-load the edited version + +3. **Test and reload:** + - test_module(name) — loads edited module from _mods/ for live testing + - reload_module(name) — discards edits and reloads from original URL + - list_modified_modules — shows all modules with pending edits + +4. **Check for updates:** + - check_updates — HEAD-requests all loaded module URLs to verify reachability + +5. **Manage startup:** + - startup-modules — opens the Startup Modules UI to select which modules load + - load-local <path> — load a module from VFS or URL without editing + +6. **When to use:** + - User reports a bug in a module → view_module, edit_module, test_module + - User asks "can you add X feature?" → same workflow + - 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.md b/skills/navigating-the-terminal.md new file mode 100644 index 0000000..8e822be --- /dev/null +++ b/skills/navigating-the-terminal.md @@ -0,0 +1,27 @@ +--- +name: navigating-the-terminal +description: How to explore the WebX11 terminal, find commands, check status, and navigate the filesystem +tags: [terminal, navigation, help, filesystem] +category: system +--- +## Steps +1. **Get an overview of available commands:** + - Call get_help() to get a full command list sorted by category + - Call get_status() to see filesystem state, loaded modules, Ollama status + - For a specific command, use help <command> or check the help map + +2. **Explore the filesystem:** + - Use list_files(path?) to browse directories (omit path for current dir) + - Use read_file(path) to view file contents + - Use get_current_dir to see your working directory + - Use run_command("ls") or run_command("tree") for visual output + +3. **Understand system state:** + - run_command("mem") — memory usage + - run_command("status") — network, files, modules, Ollama + - run_command("modules") — module manager GUI + - get_module_status() — loaded modules, URLs, local edits + +4. **When user asks a vague question:** + - First call get_status() and get_help() to understand the current state + - Then ask clarifying questions based on what you found
\ No newline at end of file diff --git a/skills/skills-system-guide.md b/skills/skills-system-guide.md new file mode 100644 index 0000000..26d3dcf --- /dev/null +++ b/skills/skills-system-guide.md @@ -0,0 +1,35 @@ +--- +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 +--- +## Steps +1. **Always load skills at task start:** + - At the START of every task, call load_skills(query) to check for stored procedures + - Example: load_skills("search the web") returns matching skill content + - Example: load_skills("edit module") returns the module editing workflow + +2. **Create skills after complex tasks:** + - After any task with 3+ tool calls, call create_skill to save the approach + - Required fields: name (kebab-case), description, content (markdown with YAML frontmatter) + - Optional: tags (comma-separated), category (e.g. research, system, dev) + - Skills persist in /skills/ as .md files with /skills/index.json for fast lookup + +3. **Patch skills when they're outdated:** + - If a stored procedure has wrong steps, call patch_skill(name, newContent) + - This replaces the entire skill content and updates the index + - Do NOT create a duplicate — always patch the existing skill + +4. **Auto-created error skills:** + - If the same tool fails 3+ times, a workaround skill is created automatically + - Named tool-<name>-workaround (e.g. tool-write_file-workaround) + +5. **Audit and maintenance:** + - list_skills(category?) — browse available skills, optionally filter + - Skills are audited every 20 messages for staleness (empty content, >30 days old) + +6. **YAML frontmatter format:** + - Each skill file must start with: ---\nname: <name>\ndescription: <text>\ntags: [...]\ncategory: <cat>\n---\n + - Steps follow under ## Steps heading + - Use numbered lists for sequential steps
\ No newline at end of file diff --git a/skills/system-maintenance.md b/skills/system-maintenance.md new file mode 100644 index 0000000..cb6b809 --- /dev/null +++ b/skills/system-maintenance.md @@ -0,0 +1,35 @@ +--- +name: system-maintenance +description: How to reset, troubleshoot, and maintain the WebX11 terminal +tags: [system, maintenance, reset, troubleshoot, config] +category: system +--- +## Steps +1. **Factory reset (wipes everything):** + - factory-reset --confirm — clears all webx11_ localStorage keys, resets VFS, reloads + - Use only when the system is in an unrecoverable state + +2. **Soft VFS reset:** + - reset-vfs --confirm — clears only the filesystem, preserves settings/profile/modules + +3. **Config management:** + - config-list — show all config keys and values + - config-set <key> <value> — set a config value + - config-delete <key> — remove a config key + - config-export — dump all config as JSON + - config-reset — restore defaults (use before factory-reset if you want to save data) + +4. **Health checks (run automatically after complex tasks):** + - Check module loading status: loaded vs total + - Check for pending module edits + - Check memory usage (high if >100MB) + - Check skill count (0 skills after 2+ tool calls → suggest create_skill) + +5. **Font size and display:** + - font-size <8-32> — set terminal font size, persists across sessions + - setfont — alias for font-size + +6. **When to use:** + - System is slow or modules fail to load → check check_updates, memory + - User says "reset everything" → factory-reset --confirm + - User says "clear my files but keep settings" → reset-vfs --confirm
\ No newline at end of file diff --git a/skills/web-search-and-fetch.md b/skills/web-search-and-fetch.md new file mode 100644 index 0000000..fcd5f91 --- /dev/null +++ b/skills/web-search-and-fetch.md @@ -0,0 +1,27 @@ +--- +name: web-search-and-fetch +description: How to search the web and fetch URL content using the WebX11 proxy API +tags: [search, fetch, web, proxy, api] +category: research +--- +## Steps +1. **Search the web:** + - Call web_search(query) — uses /api/search which queries SearXNG + DDG fallback + - Results include: title, url, content snippet, source engine + - Always available (same-origin, no CORS issues) + - 5-minute server-side cache for repeated queries + +2. **Fetch URL content:** + - Call web_fetch(url) — uses /api/extract which strips HTML, extracts clean text + - Returns: title, content (up to 4000 chars), word_count, extraction method + - SSRF protection blocks internal network addresses + - 15-minute server-side cache + +3. **Search flags (via terminal search command):** + - search <query> --summarize — adds AI-generated overview via Ollama + - search <query> --fetch — fetches content snippets for top 3 results + +4. **When to use:** + - User asks about current events, facts, research → call web_search + - User says "read this article" or provides a URL → call web_fetch + - For in-depth analysis: search first, then fetch top results
\ No newline at end of file diff --git a/skills/webdav-sync.md b/skills/webdav-sync.md new file mode 100644 index 0000000..ead86dd --- /dev/null +++ b/skills/webdav-sync.md @@ -0,0 +1,40 @@ +--- +name: webdav-sync +description: Sync, backup, and restore VFS via WebDAV in WebX11. CRITICAL: Only use verified commands. +category: system +tags: [webdav, sync, backup, cloud, vfs] +--- + +# WebDAV Sync Workflow + +## ⚠️ CRITICAL RULE: VERIFY BEFORE EXECUTING +**ALWAYS run `help <command>` first.** +**If `help <command>` returns nothing, the command does NOT exist.** +**Never invent commands — terminal crashes.** + +## 1. Install & Configure +- `webdav-config` — configure WebDAV connection +- `webdav-status` — verify connection + +## 2. Verified Commands ONLY +| Command | Verify With | Purpose | +|---------|-------------|---------| +| `webdav-ls` | `help webdav-ls` | List files on server | +| `webdav-backup` | `help webdav-backup` | Backup VFS to WebDAV | +| `webdav-backup-list` | `help webdav-backup-list` | List backups | +| `webdav-restore` | `help webdav-restore` | Restore from backup | +| `webdav-push` | `help webdav-push` | Push VFS to server | +| `webdav-pull` | `help webdav-pull` | Pull from server | + +## 3. What Does NOT Exist +There is **NO CLI delete** for WebDAV files. These will CRASH: +- `webdav-browser` ❌ +- `webdav-explorer` ❌ +- `webdav-delete` ❌ +- `webdav-rm` ❌ + +## 4. Deleting Files +Since `curl` is also blocked, there is **no automated way** to delete WebDAV backups from the terminal. Use the WebDAV web interface outside the terminal. + +## 5. For VFS Files (local filesystem) +Use `rm <file>` — this is a real command. Verify: `help rm`
\ No newline at end of file |