Hermes Tweet
Overview
Discover catalog-listed Xquik routes and run authenticated reads without guessed endpoints.
Private or state-changing operations require the action gate and user approval.
Enable tweet_action only after the user approves its endpoint, payload, account, and effects.
When to use Hermes Tweet
Use this Skill for X/Twitter research, social listening, monitoring, support triage,
creator research, giveaway audits, community audits, and controlled publishing.
Use tweet_explore first when the user asks for a capability, endpoint, route,
or Xquik API route. Use tweet_read only after a read-only endpoint is known.
Use tweet_action only after the user requests a write, private read, monitor,
webhook, extraction job, giveaway draw, or media operation that requires action
permissions.
Prerequisites
- Install and enable the plugin with
hermes plugins install Xquik-dev/hermes-tweet --enable.
- Review Hermes security-scan warnings. Dangerous plugins are blocked.
- Configure
XQUIK_API_KEY on the Hermes runtime host for authenticated reads.
tweet_explore remains available without the key or network access.
- Leave
HERMES_TWEET_ENABLE_ACTIONS unset or false unless the workflow needs
an approved write-like or private operation.
- For project-local plugins, set
HERMES_ENABLE_PROJECT_PLUGINS=true only in a
trusted repository.
- Restart a gateway after environment changes and start a new session. Active
CLI sessions can use
/reload.
Permissions and capabilities
- Use
tweet_explore, tweet_read, and tweet_action only through the enabled
Hermes Tweet toolset.
- Network access is limited to catalog-listed Xquik API routes reached by those
tools. Do not create direct HTTP fallbacks.
- Shell access is not part of normal operation. Use Hermes CLI commands only for
the install and registry checks listed in Testing.
- Local file access is not part of normal operation. Do not write reports,
credentials, logs, screenshots, or cached API payloads unless the user asks
for an explicit export workflow.
- Environment access is limited to configuration presence checks for
XQUIK_API_KEY, HERMES_TWEET_ENABLE_ACTIONS, and
HERMES_ENABLE_PROJECT_PLUGINS. Never request or echo their values.
- MCP access is not required.
Instructions
- Confirm the plugin is enabled with
hermes plugins list and confirm tool
registration with hermes tools list.
- Use
tweet_explore to find the catalog endpoint and method.
- Use
tweet_read for public read-only endpoints after the API key is
configured.
- Before
tweet_action, state the exact endpoint, payload, account, reason,
and expected side effects, then get explicit approval.
- Verify the tool response. Report policy, authentication, validation, or
account errors without retrying through alternate routes.
Choose a tool
- For endpoint discovery, call
tweet_explore with a short query.
- For catalog-listed
GET routes, call tweet_read.
- For private or write-like routes, require enabled actions and user approval.
- When
tweet_action is disabled, explain the environment gate.
- When
XQUIK_API_KEY is missing, ask the user to configure it.
- Never request the key value in chat.
- When Hermes shows
not enabled, run hermes plugins enable hermes-tweet.
- Project-local plugins require
HERMES_ENABLE_PROJECT_PLUGINS=true in trusted
repositories.
- For unattended work, prefer
tweet_read and keep actions disabled.
- Remote Desktop profiles run tools on the remote Hermes host.
- Keep dashboard-managed secrets in the runtime environment.
Safety
- Never ask for or reveal API keys, signing keys, passwords, cookies, or TOTP secrets.
- Never pass credentials in tool arguments.
- Use only catalog-listed
/api/v1/... endpoints.
- Copied endpoint URLs are accepted only when they resolve to catalog-listed paths.
- Do not use account connection, re-authentication, API key, billing, credit top-up, or support-ticket endpoints.
- For posting, deleting, following, DMs, profile changes, monitors, webhooks, extraction jobs, and draws, summarize the action before calling
tweet_action.
Known risks and mitigations
- Broad requests. Start with
tweet_explore and prefer tweet_read.
Require an approved endpoint and payload before tweet_action.
- Exposed secrets. Ask only whether environment configuration exists.
Never request key values or pass credentials as tool arguments.
- Guessed endpoints. Accept only catalog-listed
/api/v1/... paths.
Never create a direct HTTP fallback.
- Account changes. Keep
HERMES_TWEET_ENABLE_ACTIONS=false by default.
Summarize each account-changing call before approval.
Output
- Return endpoint choices, result summaries, action previews, and fixes.
- Use concise Markdown and JSON-like Hermes Tweet payloads.
tweet_explore does not call the API.
tweet_read performs authenticated reads.
tweet_action can change state only after explicit approval.
Error handling
Use the narrowest recovery step that preserves the read-first and action-gated
contract:
- Missing tool. Confirm the plugin is enabled. Run
hermes tools list.
- Missing API key. Configure
XQUIK_API_KEY on the runtime host without pasting
its value into chat, then run /reload in an active CLI session or run
hermes gateway restart and start a new gateway session.
- Unknown endpoint. Call
tweet_explore again. Never guess paths or create a
direct HTTP fallback.
- Disabled action. Keep it blocked unless the user requested it and
HERMES_TWEET_ENABLE_ACTIONS=true is intentionally configured.
- Request failure. Return the sanitized error and corrective step.
Do not retry through another route.
- Missing slash command. Verify registration in an active Hermes session.
Prompt text does not prove registration.
- Secret in input. Stop and ask the user to rotate it.
Examples
Search tweets.
{"query":"tweet search","method":"GET"}
Then call:
{"path":"/api/v1/x/tweets/search","query":{"q":"AI agents","limit":25}}
Inspect trends.
Run /xtrends in an active Hermes session. Use tweet_explore when the task
needs a catalog endpoint or structured response instead of the slash command.
Post a tweet.
{"query":"post tweet","include_actions":true}
Then call tweet_action with:
{"path":"/api/v1/x/tweets","method":"POST","body":{"account":"@example","text":"Hello from Hermes Tweet"},"reason":"Post the user-approved tweet."}
Testing
After installing or upgrading the plugin in Hermes Agent:
- Run
hermes plugins enable hermes-tweet unless the install used --enable.
- Run
hermes plugins list and confirm the plugin is enabled.
- Run
hermes tools list and confirm the hermes-tweet toolset is enabled.
- Confirm
tweet_explore is available without XQUIK_API_KEY.
- Confirm
tweet_read appears only when XQUIK_API_KEY is configured.
- Confirm
tweet_action stays hidden or disabled unless HERMES_TWEET_ENABLE_ACTIONS=true.
Useful CLI checks:
hermes plugins enable hermes-tweet
hermes tools list
Release trust gate
Before presenting this skill as NVIDIA-verified or ready for broad enterprise
deployment:
- Run SkillSpector against the complete skill directory and resolve critical or
high findings.
- Complete
skill-card.md with owner, license, use case, deployment
geography, risks, references, output shape, and release version.
- Include Tier-3 eval data and
BENCHMARK.md for the reviewed release.
- Sign the exact reviewed skill directory and publish
skill.oms.sig.
- Verify the published directory with the expected certificate chain.
Do not claim NVIDIA verification when those release artifacts are absent.
Resources
1---2name: hermes-tweet3description: Use Xquik in Hermes Agent for public X research, monitoring, thread summaries, creator discovery & approved actions. Not affiliated with X Corp. Use when the user requests X data or a named action. Trigger with "search X", "monitor X", "post tweet", or "X trends".4license: MIT5---67# Hermes Tweet89## Overview1011Discover catalog-listed Xquik routes and run authenticated reads without guessed endpoints.12Private or state-changing operations require the action gate and user approval.13Enable `tweet_action` only after the user approves its endpoint, payload, account, and effects.1415## When to use Hermes Tweet1617Use this Skill for X/Twitter research, social listening, monitoring, support triage,18creator research, giveaway audits, community audits, and controlled publishing.1920Use `tweet_explore` first when the user asks for a capability, endpoint, route,21or Xquik API route. Use `tweet_read` only after a read-only endpoint is known.22Use `tweet_action` only after the user requests a write, private read, monitor,23webhook, extraction job, giveaway draw, or media operation that requires action24permissions.2526## Prerequisites2728- Install and enable the plugin with29 `hermes plugins install Xquik-dev/hermes-tweet --enable`.30- Review Hermes security-scan warnings. Dangerous plugins are blocked.31- Configure `XQUIK_API_KEY` on the Hermes runtime host for authenticated reads.32 `tweet_explore` remains available without the key or network access.33- Leave `HERMES_TWEET_ENABLE_ACTIONS` unset or false unless the workflow needs34 an approved write-like or private operation.35- For project-local plugins, set `HERMES_ENABLE_PROJECT_PLUGINS=true` only in a36 trusted repository.37- Restart a gateway after environment changes and start a new session. Active38 CLI sessions can use `/reload`.3940## Permissions and capabilities4142- Use `tweet_explore`, `tweet_read`, and `tweet_action` only through the enabled43 Hermes Tweet toolset.44- Network access is limited to catalog-listed Xquik API routes reached by those45 tools. Do not create direct HTTP fallbacks.46- Shell access is not part of normal operation. Use Hermes CLI commands only for47 the install and registry checks listed in Testing.48- Local file access is not part of normal operation. Do not write reports,49 credentials, logs, screenshots, or cached API payloads unless the user asks50 for an explicit export workflow.51- Environment access is limited to configuration presence checks for52 `XQUIK_API_KEY`, `HERMES_TWEET_ENABLE_ACTIONS`, and53 `HERMES_ENABLE_PROJECT_PLUGINS`. Never request or echo their values.54- MCP access is not required.5556## Instructions57581. Confirm the plugin is enabled with `hermes plugins list` and confirm tool59 registration with `hermes tools list`.602. Use `tweet_explore` to find the catalog endpoint and method.613. Use `tweet_read` for public read-only endpoints after the API key is62 configured.634. Before `tweet_action`, state the exact endpoint, payload, account, reason,64 and expected side effects, then get explicit approval.655. Verify the tool response. Report policy, authentication, validation, or66 account errors without retrying through alternate routes.6768## Choose a tool6970- For endpoint discovery, call `tweet_explore` with a short query.71- For catalog-listed `GET` routes, call `tweet_read`.72- For private or write-like routes, require enabled actions and user approval.73- When `tweet_action` is disabled, explain the environment gate.74- When `XQUIK_API_KEY` is missing, ask the user to configure it.75- Never request the key value in chat.76- When Hermes shows `not enabled`, run `hermes plugins enable hermes-tweet`.77- Project-local plugins require `HERMES_ENABLE_PROJECT_PLUGINS=true` in trusted78 repositories.79- For unattended work, prefer `tweet_read` and keep actions disabled.80- Remote Desktop profiles run tools on the remote Hermes host.81- Keep dashboard-managed secrets in the runtime environment.8283## Safety8485- Never ask for or reveal API keys, signing keys, passwords, cookies, or TOTP secrets.86- Never pass credentials in tool arguments.87- Use only catalog-listed `/api/v1/...` endpoints.88- Copied endpoint URLs are accepted only when they resolve to catalog-listed paths.89- Do not use account connection, re-authentication, API key, billing, credit top-up, or support-ticket endpoints.90- For posting, deleting, following, DMs, profile changes, monitors, webhooks, extraction jobs, and draws, summarize the action before calling `tweet_action`.9192## Known risks and mitigations9394- **Broad requests.** Start with `tweet_explore` and prefer `tweet_read`.95 Require an approved endpoint and payload before `tweet_action`.96- **Exposed secrets.** Ask only whether environment configuration exists.97 Never request key values or pass credentials as tool arguments.98- **Guessed endpoints.** Accept only catalog-listed `/api/v1/...` paths.99 Never create a direct HTTP fallback.100- **Account changes.** Keep `HERMES_TWEET_ENABLE_ACTIONS=false` by default.101 Summarize each account-changing call before approval.102103## Output104105- Return endpoint choices, result summaries, action previews, and fixes.106- Use concise Markdown and JSON-like Hermes Tweet payloads.107- `tweet_explore` does not call the API.108- `tweet_read` performs authenticated reads.109- `tweet_action` can change state only after explicit approval.110111## Error handling112113Use the narrowest recovery step that preserves the read-first and action-gated114contract:115116- **Missing tool.** Confirm the plugin is enabled. Run `hermes tools list`.117- **Missing API key.** Configure `XQUIK_API_KEY` on the runtime host without pasting118 its value into chat, then run `/reload` in an active CLI session or run119 `hermes gateway restart` and start a new gateway session.120- **Unknown endpoint.** Call `tweet_explore` again. Never guess paths or create a121 direct HTTP fallback.122- **Disabled action.** Keep it blocked unless the user requested it and123 `HERMES_TWEET_ENABLE_ACTIONS=true` is intentionally configured.124- **Request failure.** Return the sanitized error and corrective step.125 Do not retry through another route.126- **Missing slash command.** Verify registration in an active Hermes session.127 Prompt text does not prove registration.128- **Secret in input.** Stop and ask the user to rotate it.129130## Examples131132**Search tweets.**133134```json135{"query":"tweet search","method":"GET"}136```137138Then call:139140```json141{"path":"/api/v1/x/tweets/search","query":{"q":"AI agents","limit":25}}142```143144**Inspect trends.**145146Run `/xtrends` in an active Hermes session. Use `tweet_explore` when the task147needs a catalog endpoint or structured response instead of the slash command.148149**Post a tweet.**150151```json152{"query":"post tweet","include_actions":true}153```154155Then call `tweet_action` with:156157```json158{"path":"/api/v1/x/tweets","method":"POST","body":{"account":"@example","text":"Hello from Hermes Tweet"},"reason":"Post the user-approved tweet."}159```160161## Testing162163After installing or upgrading the plugin in Hermes Agent:1641651. Run `hermes plugins enable hermes-tweet` unless the install used `--enable`.1662. Run `hermes plugins list` and confirm the plugin is `enabled`.1673. Run `hermes tools list` and confirm the `hermes-tweet` toolset is enabled.1684. Confirm `tweet_explore` is available without `XQUIK_API_KEY`.1695. Confirm `tweet_read` appears only when `XQUIK_API_KEY` is configured.1706. Confirm `tweet_action` stays hidden or disabled unless `HERMES_TWEET_ENABLE_ACTIONS=true`.171172Useful CLI checks:173174```bash175hermes plugins enable hermes-tweet176hermes tools list177```178179## Release trust gate180181Before presenting this skill as NVIDIA-verified or ready for broad enterprise182deployment:1831841. Run SkillSpector against the complete skill directory and resolve critical or185 high findings.1862. Complete `skill-card.md` with owner, license, use case, deployment187 geography, risks, references, output shape, and release version.1883. Include Tier-3 eval data and `BENCHMARK.md` for the reviewed release.1894. Sign the exact reviewed skill directory and publish `skill.oms.sig`.1905. Verify the published directory with the expected certificate chain.191192Do not claim NVIDIA verification when those release artifacts are absent.193194## Resources195196- [Endpoint and approval contract](references/endpoint-contract.md)197- [Skill card](skill-card.md)198- [Hermes Tweet repository](https://github.com/Xquik-dev/hermes-tweet)199- [Hermes Agent plugin guide](https://github.com/NousResearch/hermes-agent/blob/main/website/docs/user-guide/features/plugins.md)200- [Xquik Hermes Tweet guide](https://docs.xquik.com/guides/hermes-tweet)