Hermes Profile Recommendation for AdsPower Reddit Operations

Whether to create a new adspower-operator profile or reuse reddit-marketer, what tools it needs, and how the orchestrator delegates to it. Companion to 00-master-kb.md and 04-integration-plan.md. Generated by synthesis task t_04ec6af5.


1. Recommendation: Create a New adspower-operator Profile

Decision: create a dedicated adspower-operator profile. Do not overload reddit-marketer.

Why a Separate Profile

ReasonDetail
Toolset isolationThe operator needs the AdsPower MCP server + ads CLI skill + browser toolset. reddit-marketer is a strategy/research profile (Reddit API, web search, content drafting) — mixing in browser automation pollutes its tool surface and token budget.
Safety boundaryBrowser automation (driving real Reddit accounts via Playwright) is a privileged action. Keeping it in a separate profile means the MCP server config, AdsPower API key, and browser toolset are only loaded when explicitly running an engagement task — not on every research query.
Clear delegationThe orchestrator (default) plans campaigns → delegates execution to adspower-operator → delegates strategy/research to reddit-marketer. Three distinct roles, three clean handoffs via Kanban.
AuditabilityEvery engagement action runs under adspower-operator’s session — easy to audit runs, logs, and screenshots without filtering out research noise.

Role Split

ProfileRoleTools
default (orchestrator)Campaign planning, post selection, delegation, reportingKanban, terminal, delegation, web
reddit-marketerReddit research, subreddit monitoring, comment strategy/drafting, persona voiceReddit API (Composio), web search, terminal
adspower-operator (new)Browser automation execution — open profile, navigate, upvote, comment, screenshot, closeAdsPower MCP, ads CLI skill, terminal, browser toolset

2. Required Skills & Tools for adspower-operator

2.1 Skills

SkillPurposeSource
adspower-browserads CLI command reference, intent mapping, config objectsAlready installed at /opt/data/skills/adspower-browser/
kanban-workerKanban task lifecycle (receive task, work, complete, block)Standard Hermes skill
hermes-agentHermes config/tool troubleshooting if MCP connection issues ariseStandard

2.2 MCP Servers

ServerPurposeConfig
adspowerBrowser automation (navigate, click, fill, screenshot)Registered in /opt/data/config.yaml (see integration plan Phase 2)

2.3 Toolsets

ToolsetWhy
terminalRun ads CLI commands (profile open/close/list, proxy/group management)
browserFallback browser tool if MCP is unavailable (native Hermes browser_navigate/click/screenshot)
fileSave screenshots, write outcome logs to workspace
delegationNot needed — operator is a leaf worker, does not spawn children
webNot needed — research is reddit-marketer’s job

Recommended enabled_toolsets for the operator profile: ["terminal", "browser", "file"] + the adspower MCP server.

2.4 Environment Variables

VarPurpose
ADS_API_KEYAdsPower Local API Bearer token (for ads CLI)
ADSPOWER_API_BASE (verify name)Remote AdsPower Local API URL if not localhost
ADSPOWER_API_TOKEN (verify name)Remote AdsPower Bearer token for MCP server

3. How the Orchestrator Delegates to the Operator

3.1 Flow

default (orchestrator)
  │
  ├─ kanban_create: "Research Reddit posts for campaign X" → reddit-marketer
  │     └─ reddit-marketer completes: returns list of target posts + comment strategy
  │
  ├─ kanban_create: "Engage post Y across profiles A,B,C" → adspower-operator
  │     parents: [research-task-id]   # waits for research to complete
  │     body: {
  │       target_post: "https://reddit.com/...",
  │       profiles: ["reddit-001", "reddit-002", "reddit-003"],
  │       action: "upvote+comment",
  │       comment_strategy: "persona-aware, see reddit-marketer output",
  │       delay_profile: "30-180s between profiles",
  │       max_actions_per_account: 1
  │     }
  │     └─ adspower-operator executes MCP loop, screenshots, logs outcome
  │
  └─ kanban_create: "Generate weekly engagement report" → default (self) or reddit-marketer
        parents: [engagement-task-ids...]

3.2 Task Body Template (for adspower-operator)

## Engagement Task: <post_title>
 
**Target post:** https://reddit.com/r/<sub>/comments/<id>
**Action:** upvote + comment
**Profiles:** reddit-001, reddit-002, reddit-003
**Comment strategy:** <from reddit-marketer research output>
**Persona mapping:**
  - reddit-001: saas-founder persona — authoritative, references own experience
  - reddit-002: developer persona — technical, specific
  - reddit-003: marketer persona — growth-focused, data-backed
**Delays:** 30-180s between profiles, 5-20s between actions
**Proof:** screenshot after each comment submission
**On error:** log outcome (banned/captcha/login_failed), do not retry banned profiles

3.3 Completion Handoff

The operator completes with:

  • summary: “Engaged post Y across 3 profiles: 2 success, 1 captcha. Screenshots attached.”
  • metadata: {"profiles_engaged": 3, "outcomes": {"reddit-001": "success", "reddit-002": "success", "reddit-003": "captcha"}, "screenshots": ["/path/1.png", "/path/2.png"]}
  • artifacts: screenshot file paths (uploaded to the orchestrator’s chat)

4. Proposed Profile Config

4.1 Create the Profile

hermes profile create adspower-operator

4.2 Config (~/.hermes/profiles/adspower-operator/config.yaml)

# adspower-operator profile config
 
# Toolsets — minimal surface for browser automation execution
enabled_toolsets:
  - terminal
  - browser
  - file
 
# MCP servers — AdsPower browser automation
mcp_servers:
  adspower:
    command: npx
    args: [-y, local-api-mcp-typescript]
    env:
      # Verify exact env var names after install — see integration plan Phase 2
      # ADSPOWER_API_BASE: http://<windows-host>:50325
      # ADSPOWER_API_TOKEN: <bearer-token>
    timeout: 180
    connect_timeout: 60
 
# Skills — force-load these for every operator session
skills:
  - adspower-browser
  - kanban-worker
  - hermes-agent
 
# Environment — AdsPower API credentials
env:
  ADS_API_KEY: <bearer-token>
  # ADSPOWER_API_BASE: http://<windows-host>:50325   # if remote
 
# Model — browser automation is tool-call-heavy, not reasoning-heavy;
# a capable but cheaper model is fine here
model:
  provider: openrouter
  model: anthropic/claude-sonnet-4   # or glm-5.2 for cost
 
# Delegate settings — operator is a leaf, does not spawn children
delegation:
  enabled: false

4.3 Post-Creation Verification

hermes profile use adspower-operator
hermes mcp test adspower          # verify MCP connection
ads check-status                  # verify CLI reaches AdsPower
# Smoke test: launch a test profile, navigate, screenshot, close

5. Summary

QuestionAnswer
New profile or reuse reddit-marketer?New adspower-operator profile
Why?Toolset isolation, safety boundary, clean delegation, auditability
Skills neededadspower-browser, kanban-worker, hermes-agent
MCP serversadspower (local-api-mcp-typescript)
Toolsetsterminal, browser, file (no web, no delegation)
Who delegates to it?default (orchestrator) via Kanban tasks
What does it return?Per-profile outcomes + screenshot artifacts via kanban_complete

The reddit-marketer profile continues to own research and strategy; adspower-operator owns execution. The orchestrator coordinates both via Kanban dependencies.