Extending Agents & Skills
Relevant source files
The following files were used as context for generating this wiki page:
Extending the FusionOps Agent system involves creating or modifying "Skills"—modular executable units that define the behavior, schedule, and integration points for autonomous agents. These agents, primarily operating within the Hermes runtime, perform tasks ranging from brand protection and competitor intelligence to complex risk scoring and automated account management.
The system is designed for high extensibility, allowing developers to deploy new Python-based logic or Markdown-defined executable skills. This architecture supports a collaborative environment where specialized teams (e.g., the FBIS Team for Ban Intelligence or the Ads Reporting Team) can operate in parallel or sequence to automate the landing page lifecycle and marketing operations.
Sources: hermes-agents/INDEX.md, HERMES_FBIS_AUDIT.txt:26-50, AGENTS.md
Agent Architecture & Skill Definition
The core of the extension system is the Skill, which typically consists of a configuration file (SKILL.md) and an execution script (usually run.py). Skills are deployed to the ~/.hermes/skills/ directory and managed by the Hermes Agent Runtime.
Skill Components
A standard skill includes metadata for the runtime and the actual business logic. For example, the FBIS Team uses Python FastMCP to implement tool modules that the agents consume.
| Component | File/Format | Purpose |
|---|---|---|
| Skill Config | SKILL.md | Defines metadata, required environment variables, and registration info. |
| Logic Script | run.py | Python script (typically 150-350 LOC) containing the agent's core loop. |
| State Management | .json / .jsonl | Persistent storage in ~/.hermes/{skill}-state/ for comparisons and logs. |
| MCP Tools | tools/*.py | (Optional) FastMCP tool implementations for complex system interactions. |
Sources: hermes-agents/INDEX.md, hermes-agents/BUILD_SUMMARY.md:30-100, HERMES_FBIS_AUDIT.txt:10-23
Execution Flow
Agents follow a structured execution path from trigger to state persistence and alerting.
The diagram above illustrates the typical lifecycle of a Hermes agent run, from the initial cron trigger to the final data persistence and notification.
Sources: hermes-agents/BUILD_SUMMARY.md:120-140, HERMES_FBIS_AUDIT.txt:53-75
Implementing New Skills
To extend the system with a new skill, a developer must follow the standardized deployment pattern used by existing agents like AEGIS or ORACLE.
Python-Based Skill Implementation
Most skills leverage the requests and json libraries to interact with the FusionOps API Worker or external services like DataForSEO.
# Example logic pattern for a new Skill (run.py)
import requests
import json
from pathlib import Path
def run_skill():
# Load state
state_path = Path("~/.hermes/new-skill-state/seen.json").expanduser()
# Execute API call
response = requests.get("https://api.dataforseo.com/v3/...", auth=('login', 'pass'))
data = response.json()
# Process and Alert
# ... logic here ...
# Persist state
state_path.write_text(json.dumps(data))
Sources: hermes-agents/BUILD_SUMMARY.md:40-60, hermes-agents/DEPLOYMENT_CHECKLIST.md:105-115
MCP Server Extensions
For complex integrations (like the FBIS MCP Server), extensions are written as Python FastMCP tools. These tools provide the "hands" for agents to query databases, check proxies, or analyze risks.
The class diagram shows the relationship between the autonomous Agent, the MCP Server acting as a tool provider, and the backend API Worker.
Sources: HERMES_FBIS_AUDIT.txt:10-23, CLAUDE.md:65-80
Risk Scoring & Automated Response
A critical extension point is the Risk Scoring System, which aggregates data from multiple agents to make automated decisions (e.g., pausing a campaign).
Scoring Logic
Agents like ARGUS (Proxy risk) and IRIS (Traffic quality) contribute to a weighted average.
| Score Component | Provider | Metric Focus |
|---|---|---|
proxy_risk | ARGUS | IP/Proxy health and reputation |
isolation_score | NEXUS | Account isolation and fingerprint safety |
traffic_quality | IRIS | Click/conversion patterns and bot detection |
timeline_risk | CHRONO | Ban timeline prediction and historical patterns |
Sources: HERMES_FBIS_AUDIT.txt:80-100
Auto-Pause Rules
Extended skills can trigger automated actions based on the verdict_score (0-100, where higher is more risk).
- Critical (Score ≥80): Automatic account PAUSE.
- High Risk (Score ≥60): Automatic budget reduction by 50%.
- Alert: Telegram notification to team chat.
Sources: HERMES_FBIS_AUDIT.txt:100-110
Deployment & Verification
Extending the system requires following the 10-step deployment checklist to ensure environment variables and cron schedules are correctly configured.
Skill Installation Path
Skills must be placed in a specific directory hierarchy for the Hermes runtime to detect them:
~/.hermes/skills/{category}/{skill_name}/
Configuration Requirements
Every new agent must be registered in the ~/.hermes/config.yaml file with a schedule and an environment file reference.
# Example Config Entry
new-agent-skill:
schedule: "0 */4 * * *"
skill: "category/new-agent"
enabled: true
env_file: /opt/fusionops/agents/.env
Sources: hermes-agents/DEPLOYMENT_CHECKLIST.md:45-70, hermes-agents/INDEX.md:85-95
Conclusion
Extending Agents and Skills in FusionOps allows for the continuous evolution of the platform's autonomous capabilities. By leveraging the Hermes runtime, MCP servers, and a standardized Python-based skill structure, developers can implement sophisticated monitoring and automation pipelines that directly integrate with the Cloudflare-based infrastructure and D1 databases.
Sources: CLAUDE.md:65-80, HERMES_FBIS_AUDIT.txt:150-165