{
  "session_id": "20260430_154102_a27c75",
  "model": "nvidia/nemotron-3-super-120b-a12b:free",
  "base_url": "https://openrouter.ai/api/v1",
  "platform": "curator",
  "session_start": "2026-04-30T15:41:02.287428",
  "last_updated": "2026-04-30T15:47:17.672823",
  "system_prompt": "You are Hermes Agent, an intelligent AI assistant created by Nous Research. You are helpful, knowledgeable, and direct. You assist users with a wide range of tasks including answering questions, writing and editing code, analyzing information, creative work, and executing actions via your tools. You communicate clearly, admit uncertainty when appropriate, and prioritize being genuinely useful over being verbose unless otherwise directed below. Be targeted and efficient in your exploration and investigations.\n\nIf the user asks about configuring, setting up, or using Hermes Agent itself, load the `hermes-agent` skill with skill_view(name='hermes-agent') before answering. Docs: https://hermes-agent.nousresearch.com/docs\n\nAfter completing a complex task (5+ tool calls), fixing a tricky error, or discovering a non-trivial workflow, save the approach as a skill with skill_manage so you can reuse it next time.\nWhen using a skill and finding it outdated, incomplete, or wrong, patch it immediately with skill_manage(action='patch') — don't wait to be asked. Skills that aren't maintained become liabilities.\n\n## Skills (mandatory)\nBefore replying, scan the skills below. If a skill matches or is even partially relevant to your task, you MUST load it with skill_view(name) and follow its instructions. Err on the side of loading — it is always better to have context you don't need than to miss critical steps, pitfalls, or established workflows. Skills contain specialized knowledge — API endpoints, tool-specific commands, and proven workflows that outperform general-purpose approaches. Load the skill even if you think you could handle the task with basic tools like web_search or terminal. Skills also encode the user's preferred approach, conventions, and quality standards for tasks like code review, planning, and testing — load them even for tasks you already know how to do, because the skill defines how it should be done here.\nWhenever the user asks you to configure, set up, install, enable, disable, modify, or troubleshoot Hermes Agent itself — its CLI, config, models, providers, tools, skills, voice, gateway, plugins, or any feature — load the `hermes-agent` skill first. It has the actual commands (e.g. `hermes config set …`, `hermes tools`, `hermes setup`) so you don't have to guess or invent workarounds.\nIf a skill has issues, fix it with skill_manage(action='patch').\nAfter difficult/iterative tasks, offer to save as a skill. If a skill you loaded was missing steps, had wrong commands, or needed pitfalls you discovered, update it before finishing.\n\n<available_skills>\n  autonomous-ai-agents: Skills for spawning and orchestrating autonomous AI coding agents and multi-agent workflows — running independent agent processes, delegating tasks, and coordinating parallel workstreams.\n    - claude-code: Delegate coding tasks to Claude Code (Anthropic's CLI age...\n    - codex: Delegate coding tasks to OpenAI Codex CLI agent. Use for ...\n    - hermes-agent: Complete guide to using and extending Hermes Agent — CLI ...\n    - opencode: Delegate coding tasks to OpenCode CLI agent for feature i...\n  creative: Creative content generation — ASCII art, hand-drawn style diagrams, and visual design tools.\n    - architecture-diagram: Generate professional dark-themed system architecture dia...\n    - ascii-art: Generate ASCII art using pyfiglet (571 fonts), cowsay, bo...\n    - ascii-video: Production pipeline for ASCII art video — any format. Con...\n    - baoyu-comic: Knowledge comics (知识漫画): educational, biography, tutorial.\n    - baoyu-infographic: Infographics: 21 layouts x 21 styles (信息图, 可视化).\n    - claude-design: Design one-off HTML artifacts (landing, deck, prototype).\n    - comfyui: Generate images, video, and audio with ComfyUI — install,...\n    - design-md: Author/validate/export Google's DESIGN.md token spec files.\n    - excalidraw: Create hand-drawn style diagrams using Excalidraw JSON fo...\n    - humanizer: Humanize text: strip AI-isms and add real voice.\n    - ideation: Generate project ideas through creative constraints. Use ...\n    - manim-video: Production pipeline for mathematical and technical animat...\n    - p5js: Production pipeline for interactive and generative visual...\n    - pixel-art: Pixel art w/ era palettes (NES, Game Boy, PICO-8).\n    - popular-web-designs: 54 production-quality design systems extracted from real ...\n    - pretext: Use when building creative browser demos with @chenglou/p...\n    - sketch: Throwaway HTML mockups: 2-3 design variants to compare.\n    - songwriting-and-ai-music: Songwriting craft, AI music generation prompts (Suno focu...\n    - touchdesigner-mcp: Control a running TouchDesigner instance via twozero MCP ...\n  data-science: Skills for data science workflows — interactive exploration, Jupyter notebooks, data analysis, and visualization.\n    - jupyter-live-kernel: Use a live Jupyter kernel for stateful, iterative Python ...\n  devops:\n    - webhook-subscriptions: Create and manage webhook subscriptions for event-driven ...\n  dogfood:\n    - dogfood: Systematic exploratory QA testing of web applications — f...\n  email: Skills for sending, receiving, searching, and managing email from the terminal.\n    - himalaya: CLI to manage emails via IMAP/SMTP. Use himalaya to list,...\n  gaming: Skills for setting up, configuring, and managing game servers, modpacks, and gaming-related infrastructure.\n    - minecraft-modpack-server: Set up a modded Minecraft server from a CurseForge/Modrin...\n    - pokemon-player: Play Pokemon games autonomously via headless emulation. S...\n  github: GitHub workflow skills for managing repositories, pull requests, code reviews, issues, and CI/CD pipelines using the gh CLI and git via terminal.\n    - codebase-inspection: Inspect and analyze codebases using pygount for LOC count...\n    - github-auth: Set up GitHub authentication for the agent using git (uni...\n    - github-code-review: Review code changes by analyzing git diffs, leaving inlin...\n    - github-issues: Create, manage, triage, and close GitHub issues. Search e...\n    - github-pr-workflow: Full pull request lifecycle — create branches, commit cha...\n    - github-repo-management: Clone, create, fork, configure, and manage GitHub reposit...\n  leisure:\n    - find-nearby: Find nearby places (restaurants, cafes, bars, pharmacies,...\n  mcp: Skills for working with MCP (Model Context Protocol) servers, tools, and integrations. Includes the built-in native MCP client (configure servers in config.yaml for automatic tool discovery) and the mcporter CLI bridge for ad-hoc server interaction.\n    - mcporter: Use the mcporter CLI to list, configure, auth, and call M...\n    - native-mcp: Built-in MCP (Model Context Protocol) client that connect...\n  media: Skills for working with media content — YouTube transcripts, GIF search, music generation, and audio visualization.\n    - gif-search: Search and download GIFs from Tenor using curl. No depend...\n    - heartmula: Set up and run HeartMuLa, the open-source music generatio...\n    - songsee: Generate spectrograms and audio feature visualizations (m...\n    - spotify: Spotify: play, search, queue, manage playlists and devices.\n    - youtube-content: Fetch YouTube video transcripts and transform them into s...\n  mlops: Knowledge and Tools for Machine Learning Operations - tools and frameworks for training, fine-tuning, deploying, and optimizing ML/AI models\n    - huggingface-hub: Hugging Face Hub CLI (hf) — search, download, and upload ...\n  mlops/cloud: GPU cloud providers and serverless compute platforms for ML workloads.\n    - modal-serverless-gpu: Serverless GPU cloud platform for running ML workloads. U...\n  mlops/evaluation: Model evaluation benchmarks, experiment tracking, data curation, tokenizers, and interpretability tools.\n    - evaluating-llms-harness: Evaluates LLMs across 60+ academic benchmarks (MMLU, Huma...\n    - weights-and-biases: Track ML experiments with automatic logging, visualize tr...\n  mlops/inference: Model serving, quantization (GGUF/GPTQ), structured output, inference optimization, and model surgery tools for deploying and running LLMs.\n    - gguf-quantization: GGUF format and llama.cpp quantization for efficient CPU/...\n    - guidance: Control LLM output with regex and grammars, guarantee val...\n    - llama-cpp: Runs LLM inference on CPU, Apple Silicon, and consumer GP...\n    - obliteratus: Remove refusal behaviors from open-weight LLMs using OBLI...\n    - outlines: Guarantee valid JSON/XML/code structure during generation...\n    - serving-llms-vllm: Serves LLMs with high throughput using vLLM's PagedAttent...\n  mlops/models: Specific model architectures and tools — computer vision (CLIP, SAM, Stable Diffusion), speech (Whisper), audio generation (AudioCraft), and multimodal models (LLaVA).\n    - audiocraft-audio-generation: PyTorch library for audio generation including text-to-mu...\n    - clip: OpenAI's model connecting vision and language. Enables ze...\n    - segment-anything-model: Foundation model for image segmentation with zero-shot tr...\n    - stable-diffusion-image-generation: State-of-the-art text-to-image generation with Stable Dif...\n    - whisper: OpenAI's general-purpose speech recognition model. Suppor...\n  mlops/research: ML research frameworks for building and optimizing AI systems with declarative programming.\n    - dspy: Build complex AI systems with declarative programming, op...\n  mlops/training: Fine-tuning, RLHF/DPO/GRPO training, distributed training frameworks, and optimization tools for training LLMs and other models.\n    - axolotl: Expert guidance for fine-tuning LLMs with Axolotl - YAML ...\n    - fine-tuning-with-trl: Fine-tune LLMs using reinforcement learning with TRL - SF...\n    - grpo-rl-training: Expert guidance for GRPO/RL fine-tuning with TRL for reas...\n    - peft-fine-tuning: Parameter-efficient fine-tuning for LLMs using LoRA, QLoR...\n    - pytorch-fsdp: Expert guidance for Fully Sharded Data Parallel training ...\n    - unsloth: Expert guidance for fast fine-tuning with Unsloth - 2-5x ...\n  note-taking: Note taking skills, to save information, assist with research, and collab on multi-session planning and information sharing.\n    - obsidian: Read, search, and create notes in the Obsidian vault.\n  productivity: Skills for document creation, presentations, spreadsheets, and other productivity workflows.\n    - airtable: Airtable REST API via curl. Records CRUD, filters, upserts.\n    - google-workspace: Gmail, Calendar, Drive, Contacts, Sheets, and Docs integr...\n    - linear: Manage Linear issues, projects, and teams via the GraphQL...\n    - nano-pdf: Edit PDFs with natural-language instructions using the na...\n    - notion: Notion API for creating and managing pages, databases, an...\n    - ocr-and-documents: Extract text from PDFs and scanned documents. Use web_ext...\n    - powerpoint: Use this skill any time a .pptx file is involved in any w...\n  red-teaming:\n    - godmode: Jailbreak API-served LLMs using G0DM0D3 techniques — Pars...\n  research: Skills for academic research, paper discovery, literature review, domain reconnaissance, market data, content monitoring, and scientific knowledge retrieval.\n    - arxiv: Search and retrieve academic papers from arXiv using thei...\n    - blogwatcher: Monitor blogs and RSS/Atom feeds for updates using the bl...\n    - llm-wiki: Karpathy's LLM Wiki — build and maintain a persistent, in...\n    - polymarket: Query Polymarket prediction market data — search markets,...\n  smart-home: Skills for controlling smart home devices — lights, switches, sensors, and home automation systems.\n    - openhue: Control Philips Hue lights, rooms, and scenes via the Ope...\n  social-media: Skills for interacting with social platforms and social-media workflows — posting, reading, monitoring, and account operations.\n    - xitter: Interact with X/Twitter via the x-cli terminal client usi...\n    - xurl: X/Twitter via xurl CLI: post, search, DM, media, v2 API.\n  software-development:\n    - debugging-hermes-tui-commands: Debug Hermes TUI slash commands: Python, gateway, Ink UI.\n    - hermes-agent-skill-authoring: Author in-repo SKILL.md: frontmatter, validator, structure.\n    - node-inspect-debugger: Debug Node.js via --inspect + Chrome DevTools Protocol CLI.\n    - plan: Plan mode for Hermes — inspect context, write a markdown ...\n    - python-debugpy: Debug Python: pdb REPL + debugpy remote (DAP).\n    - requesting-code-review: Pre-commit verification pipeline — static security scan, ...\n    - spike: Throwaway experiments to validate an idea before build.\n    - subagent-driven-development: Use when executing implementation plans with independent ...\n    - systematic-debugging: Use when encountering any bug, test failure, or unexpecte...\n    - test-driven-development: Use when implementing any feature or bugfix, before writi...\n    - writing-plans: Use when you have a spec or requirements for a multi-step...\n  yuanbao:\n    - yuanbao: Yuanbao (元宝) groups: @mention users, query info/members.\n</available_skills>\n\nOnly proceed without loading a skill if genuinely none are relevant to the task.\n\nConversation started: Thursday, April 30, 2026 03:41 PM\nModel: nvidia/nemotron-3-super-120b-a12b:free\nProvider: openrouter",
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "patch",
        "description": "Targeted find-and-replace edits in files. Use this instead of sed/awk in terminal. Uses fuzzy matching (9 strategies) so minor whitespace/indentation differences won't break it. Returns a unified diff. Auto-runs syntax checks after editing.\n\nReplace mode (default): find a unique string and replace it.\nPatch mode: apply V4A multi-file patches for bulk changes.",
        "parameters": {
          "type": "object",
          "properties": {
            "mode": {
              "type": "string",
              "enum": [
                "replace",
                "patch"
              ],
              "description": "Edit mode: 'replace' for targeted find-and-replace, 'patch' for V4A multi-file patches",
              "default": "replace"
            },
            "path": {
              "type": "string",
              "description": "File path to edit (required for 'replace' mode)"
            },
            "old_string": {
              "type": "string",
              "description": "Text to find in the file (required for 'replace' mode). Must be unique in the file unless replace_all=true. Include enough surrounding context to ensure uniqueness."
            },
            "new_string": {
              "type": "string",
              "description": "Replacement text (required for 'replace' mode). Can be empty string to delete the matched text."
            },
            "replace_all": {
              "type": "boolean",
              "description": "Replace all occurrences instead of requiring a unique match (default: false)",
              "default": false
            },
            "patch": {
              "type": "string",
              "description": "V4A format patch content (required for 'patch' mode). Format:\n*** Begin Patch\n*** Update File: path/to/file\n@@ context hint @@\n context line\n-removed line\n+added line\n*** End Patch"
            }
          },
          "required": [
            "mode"
          ]
        }
      }
    },
    {
      "type": "function",
      "function": {
        "name": "read_file",
        "description": "Read a text file with line numbers and pagination. Use this instead of cat/head/tail in terminal. Output format: 'LINE_NUM|CONTENT'. Suggests similar filenames if not found. Use offset and limit for large files. Reads exceeding ~100K characters are rejected; use offset and limit to read specific sections of large files. NOTE: Cannot read images or binary files — use vision_analyze for images.",
        "parameters": {
          "type": "object",
          "properties": {
            "path": {
              "type": "string",
              "description": "Path to the file to read (absolute, relative, or ~/path)"
            },
            "offset": {
              "type": "integer",
              "description": "Line number to start reading from (1-indexed, default: 1)",
              "default": 1,
              "minimum": 1
            },
            "limit": {
              "type": "integer",
              "description": "Maximum number of lines to read (default: 500, max: 2000)",
              "default": 500,
              "maximum": 2000
            }
          },
          "required": [
            "path"
          ]
        }
      }
    },
    {
      "type": "function",
      "function": {
        "name": "search_files",
        "description": "Search file contents or find files by name. Use this instead of grep/rg/find/ls in terminal. Ripgrep-backed, faster than shell equivalents.\n\nContent search (target='content'): Regex search inside files. Output modes: full matches with line numbers, file paths only, or match counts.\n\nFile search (target='files'): Find files by glob pattern (e.g., '*.py', '*config*'). Also use this instead of ls — results sorted by modification time.",
        "parameters": {
          "type": "object",
          "properties": {
            "pattern": {
              "type": "string",
              "description": "Regex pattern for content search, or glob pattern (e.g., '*.py') for file search"
            },
            "target": {
              "type": "string",
              "enum": [
                "content",
                "files"
              ],
              "description": "'content' searches inside file contents, 'files' searches for files by name",
              "default": "content"
            },
            "path": {
              "type": "string",
              "description": "Directory or file to search in (default: current working directory)",
              "default": "."
            },
            "file_glob": {
              "type": "string",
              "description": "Filter files by pattern in grep mode (e.g., '*.py' to only search Python files)"
            },
            "limit": {
              "type": "integer",
              "description": "Maximum number of results to return (default: 50)",
              "default": 50
            },
            "offset": {
              "type": "integer",
              "description": "Skip first N results for pagination (default: 0)",
              "default": 0
            },
            "output_mode": {
              "type": "string",
              "enum": [
                "content",
                "files_only",
                "count"
              ],
              "description": "Output format for grep mode: 'content' shows matching lines with line numbers, 'files_only' lists file paths, 'count' shows match counts per file",
              "default": "content"
            },
            "context": {
              "type": "integer",
              "description": "Number of context lines before and after each match (grep mode only)",
              "default": 0
            }
          },
          "required": [
            "pattern"
          ]
        }
      }
    },
    {
      "type": "function",
      "function": {
        "name": "skill_manage",
        "description": "Manage skills (create, update, delete). Skills are your procedural memory — reusable approaches for recurring task types. New skills go to /opt/data/skills/; existing skills can be modified wherever they live.\n\nActions: create (full SKILL.md + optional category), patch (old_string/new_string — preferred for fixes), edit (full SKILL.md rewrite — major overhauls only), delete, write_file, remove_file.\n\nCreate when: complex task succeeded (5+ calls), errors overcome, user-corrected approach worked, non-trivial workflow discovered, or user asks you to remember a procedure.\nUpdate when: instructions stale/wrong, OS-specific failures, missing steps or pitfalls found during use. If you used a skill and hit issues not covered by it, patch it immediately.\n\nAfter difficult/iterative tasks, offer to save as a skill. Skip for simple one-offs. Confirm with user before creating/deleting.\n\nGood skills: trigger conditions, numbered steps with exact commands, pitfalls section, verification steps. Use skill_view() to see format examples.\n\nPinned skills are off-limits — all write actions refuse with a message pointing the user to `hermes curator unpin <name>`. Don't try to route around this by renaming or recreating.",
        "parameters": {
          "type": "object",
          "properties": {
            "action": {
              "type": "string",
              "enum": [
                "create",
                "patch",
                "edit",
                "delete",
                "write_file",
                "remove_file"
              ],
              "description": "The action to perform."
            },
            "name": {
              "type": "string",
              "description": "Skill name (lowercase, hyphens/underscores, max 64 chars). Must match an existing skill for patch/edit/delete/write_file/remove_file."
            },
            "content": {
              "type": "string",
              "description": "Full SKILL.md content (YAML frontmatter + markdown body). Required for 'create' and 'edit'. For 'edit', read the skill first with skill_view() and provide the complete updated text."
            },
            "old_string": {
              "type": "string",
              "description": "Text to find in the file (required for 'patch'). Must be unique unless replace_all=true. Include enough surrounding context to ensure uniqueness."
            },
            "new_string": {
              "type": "string",
              "description": "Replacement text (required for 'patch'). Can be empty string to delete the matched text."
            },
            "replace_all": {
              "type": "boolean",
              "description": "For 'patch': replace all occurrences instead of requiring a unique match (default: false)."
            },
            "category": {
              "type": "string",
              "description": "Optional category/domain for organizing the skill (e.g., 'devops', 'data-science', 'mlops'). Creates a subdirectory grouping. Only used with 'create'."
            },
            "file_path": {
              "type": "string",
              "description": "Path to a supporting file within the skill directory. For 'write_file'/'remove_file': required, must be under references/, templates/, scripts/, or assets/. For 'patch': optional, defaults to SKILL.md if omitted."
            },
            "file_content": {
              "type": "string",
              "description": "Content for the file. Required for 'write_file'."
            }
          },
          "required": [
            "action",
            "name"
          ]
        }
      }
    },
    {
      "type": "function",
      "function": {
        "name": "skill_view",
        "description": "Skills allow for loading information about specific tasks and workflows, as well as scripts and templates. Load a skill's full content or access its linked files (references, templates, scripts). First call returns SKILL.md content plus a 'linked_files' dict showing available references/templates/scripts. To access those, call again with file_path parameter.",
        "parameters": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The skill name (use skills_list to see available skills). For plugin-provided skills, use the qualified form 'plugin:skill' (e.g. 'superpowers:writing-plans')."
            },
            "file_path": {
              "type": "string",
              "description": "OPTIONAL: Path to a linked file within the skill (e.g., 'references/api.md', 'templates/config.yaml', 'scripts/validate.py'). Omit to get the main SKILL.md content."
            }
          },
          "required": [
            "name"
          ]
        }
      }
    },
    {
      "type": "function",
      "function": {
        "name": "skills_list",
        "description": "List available skills (name + description). Use skill_view(name) to load full content.",
        "parameters": {
          "type": "object",
          "properties": {
            "category": {
              "type": "string",
              "description": "Optional category filter to narrow results"
            }
          }
        }
      }
    },
    {
      "type": "function",
      "function": {
        "name": "write_file",
        "description": "Write content to a file, completely replacing existing content. Use this instead of echo/cat heredoc in terminal. Creates parent directories automatically. OVERWRITES the entire file — use 'patch' for targeted edits.",
        "parameters": {
          "type": "object",
          "properties": {
            "path": {
              "type": "string",
              "description": "Path to the file to write (will be created if it doesn't exist, overwritten if it does)"
            },
            "content": {
              "type": "string",
              "description": "Complete content to write to the file"
            }
          },
          "required": [
            "path",
            "content"
          ]
        }
      }
    }
  ],
  "message_count": 3,
  "messages": [
    {
      "role": "user",
      "content": "Call skills_list and write the JSON output to /tmp/skills.json"
    },
    {
      "role": "assistant",
      "content": "",
      "reasoning": "We are tasked with calling skills_list and writing the JSON output to /tmp/skills.json.\n Steps:\n 1. Use the skills_list tool to get the list of skills.\n 2. Write the output (which is a JSON string) to /tmp/skills.json.\n\n However, note that the skills_list tool returns a JSON object (or array) of skills. We must capture that and write it to the file.\n\n Let's do:\n\n   result = skills_list()\n\n Then, write the result to /tmp/skills.json.\n\n We must use the write_file tool for that.\n\n Let's proceed.\n\n",
      "finish_reason": "tool_calls",
      "reasoning_content": "We are tasked with calling skills_list and writing the JSON output to /tmp/skills.json.\n Steps:\n 1. Use the skills_list tool to get the list of skills.\n 2. Write the output (which is a JSON string) to /tmp/skills.json.\n\n However, note that the skills_list tool returns a JSON object (or array) of skills. We must capture that and write it to the file.\n\n Let's do:\n\n   result = skills_list()\n\n Then, write the result to /tmp/skills.json.\n\n We must use the write_file tool for that.\n\n Let's proceed.\n\n",
      "tool_calls": [
        {
          "id": "chatcmpl-tool-8618e5abda202e0b",
          "call_id": "chatcmpl-tool-8618e5abda202e0b",
          "response_item_id": "fc_chatcmpl-tool-8618e5abda202e0b",
          "type": "function",
          "function": {
            "name": "skills_list",
            "arguments": "{}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "content": "{\"success\": true, \"skills\": [{\"name\": \"dogfood\", \"description\": \"Systematic exploratory QA testing of web applications — find bugs, capture evidence, and generate structured reports\", \"category\": null}, {\"name\": \"yuanbao\", \"description\": \"Yuanbao (元宝) groups: @mention users, query info/members.\", \"category\": null}, {\"name\": \"claude-code\", \"description\": \"Delegate coding tasks to Claude Code (Anthropic's CLI agent). Use for building features, refactoring, PR reviews, and iterative coding. Requires the claude CLI installed.\", \"category\": \"autonomous-ai-agents\"}, {\"name\": \"codex\", \"description\": \"Delegate coding tasks to OpenAI Codex CLI agent. Use for building features, refactoring, PR reviews, and batch issue fixing. Requires the codex CLI and a git repository.\", \"category\": \"autonomous-ai-agents\"}, {\"name\": \"hermes-agent\", \"description\": \"Complete guide to using and extending Hermes Agent — CLI usage, setup, configuration, spawning additional agents, gateway platforms, skills, voice, tools, profiles, and a concise contributor reference. Load this skill when helping users configure Hermes, troubleshoot issues, spawn agent instances, or make code contributions.\", \"category\": \"autonomous-ai-agents\"}, {\"name\": \"opencode\", \"description\": \"Delegate coding tasks to OpenCode CLI agent for feature implementation, refactoring, PR review, and long-running autonomous sessions. Requires the opencode CLI installed and authenticated.\", \"category\": \"autonomous-ai-agents\"}, {\"name\": \"architecture-diagram\", \"description\": \"Generate professional dark-themed system architecture diagrams as standalone HTML/SVG files. Self-contained output with no external dependencies. Based on Cocoon AI's architecture-diagram-generator (MIT).\", \"category\": \"creative\"}, {\"name\": \"ascii-art\", \"description\": \"Generate ASCII art using pyfiglet (571 fonts), cowsay, boxes, toilet, image-to-ascii, remote APIs (asciified, ascii.co.uk), and LLM fallback. No API keys required.\", \"category\": \"creative\"}, {\"name\": \"ascii-video\", \"description\": \"Production pipeline for ASCII art video — any format. Converts video/audio/images/generative input into colored ASCII character video output (MP4, GIF, image sequence). Covers: video-to-ASCII conversion, audio-reactive music visualizers, generative ASCII art animations, hybrid video+audio reactive, text/lyrics overlays, real-time terminal rendering. Use when users request: ASCII video, text art video, terminal-style video, character art animation, retro text visualization, audio visualizer in ASCII, converting video to ASCII art, matrix-style effects, or any animated ASCII output.\", \"category\": \"creative\"}, {\"name\": \"baoyu-comic\", \"description\": \"Knowledge comics (知识漫画): educational, biography, tutorial.\", \"category\": \"creative\"}, {\"name\": \"baoyu-infographic\", \"description\": \"Infographics: 21 layouts x 21 styles (信息图, 可视化).\", \"category\": \"creative\"}, {\"name\": \"claude-design\", \"description\": \"Design one-off HTML artifacts (landing, deck, prototype).\", \"category\": \"creative\"}, {\"name\": \"comfyui\", \"description\": \"Generate images, video, and audio with ComfyUI — install, launch, manage nodes/models, run workflows with parameter injection. Uses the official comfy-cli for lifecycle and direct REST/WebSocket API for execution.\", \"category\": \"creative\"}, {\"name\": \"design-md\", \"description\": \"Author/validate/export Google's DESIGN.md token spec files.\", \"category\": \"creative\"}, {\"name\": \"excalidraw\", \"description\": \"Create hand-drawn style diagrams using Excalidraw JSON format. Generate .excalidraw files for architecture diagrams, flowcharts, sequence diagrams, concept maps, and more. Files can be opened at excalidraw.com or uploaded for shareable links.\", \"category\": \"creative\"}, {\"name\": \"humanizer\", \"description\": \"Humanize text: strip AI-isms and add real voice.\", \"category\": \"creative\"}, {\"name\": \"ideation\", \"description\": \"Generate project ideas through creative constraints. Use when the user says 'I want to build something', 'give me a project idea', 'I'm bored', 'what should I make', 'inspire me', or any variant of 'I have tools but no direction'. Works for code, art, hardware, writing, tools, and anything that can be made.\", \"category\": \"creative\"}, {\"name\": \"manim-video\", \"description\": \"Production pipeline for mathematical and technical animations using Manim Community Edition. Creates 3Blue1Brown-style explainer videos, algorithm visualizations, equation derivations, architecture diagrams, and data stories. Use when users request: animated explanations, math animations, concept visualizations, algorithm walkthroughs, technical explainers, 3Blue1Brown style videos, or any programmatic animation with geometric/mathematical content.\", \"category\": \"creative\"}, {\"name\": \"p5js\", \"description\": \"Production pipeline for interactive and generative visual art using p5.js. Creates browser-based sketches, generative art, data visualizations, interactive experiences, 3D scenes, audio-reactive visuals, and motion graphics — exported as HTML, PNG, GIF, MP4, or SVG. Covers: 2D/3D rendering, noise and particle systems, flow fields, shaders (GLSL), pixel manipulation, kinetic typography, WebGL scenes, audio analysis, mouse/keyboard interaction, and headless high-res export. Use when users request: p5.js sketches, creative coding, generative art, interactive visualizations, canvas animations, browser-based visual art, data viz, shader effects, or any p5.js project.\", \"category\": \"creative\"}, {\"name\": \"pixel-art\", \"description\": \"Pixel art w/ era palettes (NES, Game Boy, PICO-8).\", \"category\": \"creative\"}, {\"name\": \"popular-web-designs\", \"description\": \"54 production-quality design systems extracted from real websites. Load a template to generate HTML/CSS that matches the visual identity of sites like Stripe, Linear, Vercel, Notion, Airbnb, and more. Each template includes colors, typography, components, layout rules, and ready-to-use CSS values.\\n\", \"category\": \"creative\"}, {\"name\": \"pretext\", \"description\": \"Use when building creative browser demos with @chenglou/pretext — DOM-free text layout for ASCII art, typographic flow around obstacles, text-as-geometry games, kinetic typography, and text-powered generative art. Produces single-file HTML demos by default.\", \"category\": \"creative\"}, {\"name\": \"sketch\", \"description\": \"Throwaway HTML mockups: 2-3 design variants to compare.\", \"category\": \"creative\"}, {\"name\": \"songwriting-and-ai-music\", \"description\": \"Songwriting craft, AI music generation prompts (Suno focus), parody/adaptation techniques, phonetic tricks, and lessons learned. These are tools and ideas, not rules. Break any of them when the art calls for it.\\n\", \"category\": \"creative\"}, {\"name\": \"touchdesigner-mcp\", \"description\": \"Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.\", \"category\": \"creative\"}, {\"name\": \"jupyter-live-kernel\", \"description\": \"Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb. Load this skill when the task involves exploration, iteration, or inspecting intermediate results — data science, ML experimentation, API exploration, or building up complex code step-by-step. Uses terminal to run CLI commands against a live Jupyter kernel. No new tools required.\\n\", \"category\": \"data-science\"}, {\"name\": \"webhook-subscriptions\", \"description\": \"Create and manage webhook subscriptions for event-driven agent activation. Use when the user wants external services to trigger agent runs automatically.\", \"category\": \"devops\"}, {\"name\": \"himalaya\", \"description\": \"CLI to manage emails via IMAP/SMTP. Use himalaya to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).\", \"category\": \"email\"}, {\"name\": \"minecraft-modpack-server\", \"description\": \"Set up a modded Minecraft server from a CurseForge/Modrinth server pack zip. Covers NeoForge/Forge install, Java version, JVM tuning, firewall, LAN config, backups, and launch scripts.\", \"category\": \"gaming\"}, {\"name\": \"pokemon-player\", \"description\": \"Play Pokemon games autonomously via headless emulation. Starts a game server, reads structured game state from RAM, makes strategic decisions, and sends button inputs — all from the terminal.\", \"category\": \"gaming\"}, {\"name\": \"codebase-inspection\", \"description\": \"Inspect and analyze codebases using pygount for LOC counting, language breakdown, and code-vs-comment ratios. Use when asked to check lines of code, repo size, language composition, or codebase stats.\", \"category\": \"github\"}, {\"name\": \"github-auth\", \"description\": \"Set up GitHub authentication for the agent using git (universally available) or the gh CLI. Covers HTTPS tokens, SSH keys, credential helpers, and gh auth — with a detection flow to pick the right method automatically.\", \"category\": \"github\"}, {\"name\": \"github-code-review\", \"description\": \"Review code changes by analyzing git diffs, leaving inline comments on PRs, and performing thorough pre-push review. Works with gh CLI or falls back to git + GitHub REST API via curl.\", \"category\": \"github\"}, {\"name\": \"github-issues\", \"description\": \"Create, manage, triage, and close GitHub issues. Search existing issues, add labels, assign people, and link to PRs. Works with gh CLI or falls back to git + GitHub REST API via curl.\", \"category\": \"github\"}, {\"name\": \"github-pr-workflow\", \"description\": \"Full pull request lifecycle — create branches, commit changes, open PRs, monitor CI status, auto-fix failures, and merge. Works with gh CLI or falls back to git + GitHub REST API via curl.\", \"category\": \"github\"}, {\"name\": \"github-repo-management\", \"description\": \"Clone, create, fork, configure, and manage GitHub repositories. Manage remotes, secrets, releases, and workflows. Works with gh CLI or falls back to git + GitHub REST API via curl.\", \"category\": \"github\"}, {\"name\": \"find-nearby\", \"description\": \"Find nearby places (restaurants, cafes, bars, pharmacies, etc.) using OpenStreetMap. Works with coordinates, addresses, cities, zip codes, or Telegram location pins. No API keys needed.\", \"category\": \"leisure\"}, {\"name\": \"mcporter\", \"description\": \"Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.\", \"category\": \"mcp\"}, {\"name\": \"native-mcp\", \"description\": \"Built-in MCP (Model Context Protocol) client that connects to external MCP servers, discovers their tools, and registers them as native Hermes Agent tools. Supports stdio and HTTP transports with automatic reconnection, security filtering, and zero-config tool injection.\", \"category\": \"mcp\"}, {\"name\": \"gif-search\", \"description\": \"Search and download GIFs from Tenor using curl. No dependencies beyond curl and jq. Useful for finding reaction GIFs, creating visual content, and sending GIFs in chat.\", \"category\": \"media\"}, {\"name\": \"heartmula\", \"description\": \"Set up and run HeartMuLa, the open-source music generation model family (Suno-like). Generates full songs from lyrics + tags with multilingual support.\", \"category\": \"media\"}, {\"name\": \"songsee\", \"description\": \"Generate spectrograms and audio feature visualizations (mel, chroma, MFCC, tempogram, etc.) from audio files via CLI. Useful for audio analysis, music production debugging, and visual documentation.\", \"category\": \"media\"}, {\"name\": \"spotify\", \"description\": \"Spotify: play, search, queue, manage playlists and devices.\", \"category\": \"media\"}, {\"name\": \"youtube-content\", \"description\": \"Fetch YouTube video transcripts and transform them into structured content (chapters, summaries, threads, blog posts). Use when the user shares a YouTube URL or video link, asks to summarize a video, requests a transcript, or wants to extract and reformat content from any YouTube video.\", \"category\": \"media\"}, {\"name\": \"audiocraft-audio-generation\", \"description\": \"PyTorch library for audio generation including text-to-music (MusicGen) and text-to-sound (AudioGen). Use when you need to generate music from text descriptions, create sound effects, or perform melody-conditioned music generation.\", \"category\": \"mlops\"}, {\"name\": \"axolotl\", \"description\": \"Expert guidance for fine-tuning LLMs with Axolotl - YAML configs, 100+ models, LoRA/QLoRA, DPO/KTO/ORPO/GRPO, multimodal support\", \"category\": \"mlops\"}, {\"name\": \"clip\", \"description\": \"OpenAI's model connecting vision and language. Enables zero-shot image classification, image-text matching, and cross-modal retrieval. Trained on 400M image-text pairs. Use for image search, content moderation, or vision-language tasks without fine-tuning. Best for general-purpose image understanding.\", \"category\": \"mlops\"}, {\"name\": \"dspy\", \"description\": \"Build complex AI systems with declarative programming, optimize prompts automatically, create modular RAG systems and agents with DSPy - Stanford NLP's framework for systematic LM programming\", \"category\": \"mlops\"}, {\"name\": \"evaluating-llms-harness\", \"description\": \"Evaluates LLMs across 60+ academic benchmarks (MMLU, HumanEval, GSM8K, TruthfulQA, HellaSwag). Use when benchmarking model quality, comparing models, reporting academic results, or tracking training progress. Industry standard used by EleutherAI, HuggingFace, and major labs. Supports HuggingFace, vLLM, APIs.\", \"category\": \"mlops\"}, {\"name\": \"fine-tuning-with-trl\", \"description\": \"Fine-tune LLMs using reinforcement learning with TRL - SFT for instruction tuning, DPO for preference alignment, PPO/GRPO for reward optimization, and reward model training. Use when need RLHF, align model with preferences, or train from human feedback. Works with HuggingFace Transformers.\", \"category\": \"mlops\"}, {\"name\": \"gguf-quantization\", \"description\": \"GGUF format and llama.cpp quantization for efficient CPU/GPU inference. Use when deploying models on consumer hardware, Apple Silicon, or when needing flexible quantization from 2-8 bit without GPU requirements.\", \"category\": \"mlops\"}, {\"name\": \"grpo-rl-training\", \"description\": \"Expert guidance for GRPO/RL fine-tuning with TRL for reasoning and task-specific model training\", \"category\": \"mlops\"}, {\"name\": \"guidance\", \"description\": \"Control LLM output with regex and grammars, guarantee valid JSON/XML/code generation, enforce structured formats, and build multi-step workflows with Guidance - Microsoft Research's constrained generation framework\", \"category\": \"mlops\"}, {\"name\": \"huggingface-hub\", \"description\": \"Hugging Face Hub CLI (hf) — search, download, and upload models and datasets, manage repos, query datasets with SQL, deploy inference endpoints, manage Spaces and buckets.\", \"category\": \"mlops\"}, {\"name\": \"llama-cpp\", \"description\": \"Runs LLM inference on CPU, Apple Silicon, and consumer GPUs without NVIDIA hardware. Use for edge deployment, M1/M2/M3 Macs, AMD/Intel GPUs, or when CUDA is unavailable. Supports GGUF quantization (1.5-8 bit) for reduced memory and 4-10× speedup vs PyTorch on CPU.\", \"category\": \"mlops\"}, {\"name\": \"modal-serverless-gpu\", \"description\": \"Serverless GPU cloud platform for running ML workloads. Use when you need on-demand GPU access without infrastructure management, deploying ML models as APIs, or running batch jobs with automatic scaling.\", \"category\": \"mlops\"}, {\"name\": \"obliteratus\", \"description\": \"Remove refusal behaviors from open-weight LLMs using OBLITERATUS — mechanistic interpretability techniques (diff-in-means, SVD, whitened SVD, LEACE, SAE decomposition, etc.) to excise guardrails while preserving reasoning. 9 CLI methods, 28 analysis modules, 116 model presets across 5 compute tiers, tournament evaluation, and telemetry-driven recommendations. Use when a user wants to uncensor, abliterate, or remove refusal from an LLM.\", \"category\": \"mlops\"}, {\"name\": \"outlines\", \"description\": \"Guarantee valid JSON/XML/code structure during generation, use Pydantic models for type-safe outputs, support local models (Transformers, vLLM), and maximize inference speed with Outlines - dottxt.ai's structured generation library\", \"category\": \"mlops\"}, {\"name\": \"peft-fine-tuning\", \"description\": \"Parameter-efficient fine-tuning for LLMs using LoRA, QLoRA, and 25+ methods. Use when fine-tuning large models (7B-70B) with limited GPU memory, when you need to train <1% of parameters with minimal accuracy loss, or for multi-adapter serving. HuggingFace's official library integrated with transformers ecosystem.\", \"category\": \"mlops\"}, {\"name\": \"pytorch-fsdp\", \"description\": \"Expert guidance for Fully Sharded Data Parallel training with PyTorch FSDP - parameter sharding, mixed precision, CPU offloading, FSDP2\", \"category\": \"mlops\"}, {\"name\": \"segment-anything-model\", \"description\": \"Foundation model for image segmentation with zero-shot transfer. Use when you need to segment any object in images using points, boxes, or masks as prompts, or automatically generate all object masks in an image.\", \"category\": \"mlops\"}, {\"name\": \"serving-llms-vllm\", \"description\": \"Serves LLMs with high throughput using vLLM's PagedAttention and continuous batching. Use when deploying production LLM APIs, optimizing inference latency/throughput, or serving models with limited GPU memory. Supports OpenAI-compatible endpoints, quantization (GPTQ/AWQ/FP8), and tensor parallelism.\", \"category\": \"mlops\"}, {\"name\": \"stable-diffusion-image-generation\", \"description\": \"State-of-the-art text-to-image generation with Stable Diffusion models via HuggingFace Diffusers. Use when generating images from text prompts, performing image-to-image translation, inpainting, or building custom diffusion pipelines.\", \"category\": \"mlops\"}, {\"name\": \"unsloth\", \"description\": \"Expert guidance for fast fine-tuning with Unsloth - 2-5x faster training, 50-80% less memory, LoRA/QLoRA optimization\", \"category\": \"mlops\"}, {\"name\": \"weights-and-biases\", \"description\": \"Track ML experiments with automatic logging, visualize training in real-time, optimize hyperparameters with sweeps, and manage model registry with W&B - collaborative MLOps platform\", \"category\": \"mlops\"}, {\"name\": \"whisper\", \"description\": \"OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.\", \"category\": \"mlops\"}, {\"name\": \"obsidian\", \"description\": \"Read, search, and create notes in the Obsidian vault.\", \"category\": \"note-taking\"}, {\"name\": \"airtable\", \"description\": \"Airtable REST API via curl. Records CRUD, filters, upserts.\", \"category\": \"productivity\"}, {\"name\": \"google-workspace\", \"description\": \"Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration for Hermes. Uses Hermes-managed OAuth2 setup, prefers the Google Workspace CLI (`gws`) when available for broader API coverage, and falls back to the Python client libraries otherwise.\", \"category\": \"productivity\"}, {\"name\": \"linear\", \"description\": \"Manage Linear issues, projects, and teams via the GraphQL API. Create, update, search, and organize issues. Uses API key auth (no OAuth needed). All operations via curl — no dependencies.\", \"category\": \"productivity\"}, {\"name\": \"maps\", \"description\": \"Geocode, POIs, routes, timezones via OpenStreetMap/OSRM.\", \"category\": \"productivity\"}, {\"name\": \"nano-pdf\", \"description\": \"Edit PDFs with natural-language instructions using the nano-pdf CLI. Modify text, fix typos, update titles, and make content changes to specific pages without manual editing.\", \"category\": \"productivity\"}, {\"name\": \"notion\", \"description\": \"Notion API for creating and managing pages, databases, and blocks via curl. Search, create, update, and query Notion workspaces directly from the terminal.\", \"category\": \"productivity\"}, {\"name\": \"ocr-and-documents\", \"description\": \"Extract text from PDFs and scanned documents. Use web_extract for remote URLs, pymupdf for local text-based PDFs, marker-pdf for OCR/scanned docs. For DOCX use python-docx, for PPTX see the powerpoint skill.\", \"category\": \"productivity\"}, {\"name\": \"powerpoint\", \"description\": \"Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions \\\"deck,\\\" \\\"slides,\\\" \\\"presentation,\\\" or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.\", \"category\": \"productivity\"}, {\"name\": \"godmode\", \"description\": \"Jailbreak API-served LLMs using G0DM0D3 techniques — Parseltongue input obfuscation (33 techniques), GODMODE CLASSIC system prompt templates, ULTRAPLINIAN multi-model racing, encoding escalation, and Hermes-native prefill/system prompt integration. Use when a user wants to bypass safety filters, jailbreak a model, or red-team model robustness.\", \"category\": \"red-teaming\"}, {\"name\": \"arxiv\", \"description\": \"Search and retrieve academic papers from arXiv using their free REST API. No API key needed. Search by keyword, author, category, or ID. Combine with web_extract or the ocr-and-documents skill to read full paper content.\", \"category\": \"research\"}, {\"name\": \"blogwatcher\", \"description\": \"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher-cli tool. Add blogs, scan for new articles, track read status, and filter by category.\", \"category\": \"research\"}, {\"name\": \"llm-wiki\", \"description\": \"Karpathy's LLM Wiki — build and maintain a persistent, interlinked markdown knowledge base. Ingest sources, query compiled knowledge, and lint for consistency.\", \"category\": \"research\"}, {\"name\": \"polymarket\", \"description\": \"Query Polymarket prediction market data — search markets, get prices, orderbooks, and price history. Read-only via public REST APIs, no API key needed.\", \"category\": \"research\"}, {\"name\": \"research-paper-writing\", \"description\": \"End-to-end pipeline for writing ML/AI research papers — from experiment design through analysis, drafting, revision, and submission. Covers NeurIPS, ICML, ICLR, ACL, AAAI, COLM. Integrates automated experiment monitoring, statistical analysis, iterative writing, and citation verification.\", \"category\": \"research\"}, {\"name\": \"openhue\", \"description\": \"Control Philips Hue lights, rooms, and scenes via the OpenHue CLI. Turn lights on/off, adjust brightness, color, color temperature, and activate scenes.\", \"category\": \"smart-home\"}, {\"name\": \"xitter\", \"description\": \"Interact with X/Twitter via the x-cli terminal client using official X API credentials. Use for posting, reading timelines, searching tweets, liking, retweeting, bookmarks, mentions, and user lookups.\", \"category\": \"social-media\"}, {\"name\": \"xurl\", \"description\": \"X/Twitter via xurl CLI: post, search, DM, media, v2 API.\", \"category\": \"social-media\"}, {\"name\": \"debugging-hermes-tui-commands\", \"description\": \"Debug Hermes TUI slash commands: Python, gateway, Ink UI.\", \"category\": \"software-development\"}, {\"name\": \"hermes-agent-skill-authoring\", \"description\": \"Author in-repo SKILL.md: frontmatter, validator, structure.\", \"category\": \"software-development\"}, {\"name\": \"node-inspect-debugger\", \"description\": \"Debug Node.js via --inspect + Chrome DevTools Protocol CLI.\", \"category\": \"software-development\"}, {\"name\": \"plan\", \"description\": \"Plan mode for Hermes — inspect context, write a markdown plan into the active workspace's `.hermes/plans/` directory, and do not execute the work.\", \"category\": \"software-development\"}, {\"name\": \"python-debugpy\", \"description\": \"Debug Python: pdb REPL + debugpy remote (DAP).\", \"category\": \"software-development\"}, {\"name\": \"requesting-code-review\", \"description\": \"Pre-commit verification pipeline — static security scan, baseline-aware quality gates, independent reviewer subagent, and auto-fix loop. Use after code changes and before committing, pushing, or opening a PR.\\n\", \"category\": \"software-development\"}, {\"name\": \"spike\", \"description\": \"Throwaway experiments to validate an idea before build.\", \"category\": \"software-development\"}, {\"name\": \"subagent-driven-development\", \"description\": \"Use when executing implementation plans with independent tasks. Dispatches fresh delegate_task per task with two-stage review (spec compliance then code quality).\", \"category\": \"software-development\"}, {\"name\": \"systematic-debugging\", \"description\": \"Use when encountering any bug, test failure, or unexpected behavior. 4-phase root cause investigation — NO fixes without understanding the problem first.\", \"category\": \"software-development\"}, {\"name\": \"test-driven-development\", \"description\": \"Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.\", \"category\": \"software-development\"}, {\"name\": \"writing-plans\", \"description\": \"Use when you have a spec or requirements for a multi-step task. Creates comprehensive implementation plans with bite-sized tasks, exact file paths, and complete code examples.\", \"category\": \"software-development\"}], \"categories\": [\"autonomous-ai-agents\", \"creative\", \"data-science\", \"devops\", \"email\", \"gaming\", \"github\", \"leisure\", \"mcp\", \"media\", \"mlops\", \"note-taking\", \"productivity\", \"red-teaming\", \"research\", \"smart-home\", \"social-media\", \"software-development\"], \"count\": 95, \"hint\": \"Use skill_view(name) to see full content, tags, and linked files\"}",
      "tool_call_id": "chatcmpl-tool-8618e5abda202e0b"
    }
  ]
}