Hermes Tweet
Overview
Hermes Tweet solves X research and automation tasks without direct HTTP fallbacks
or guessed endpoints. It discovers catalog-listed Xquik routes, performs
authenticated reads, and keeps write-like or private operations behind an
explicit environment gate and user approval.
Use the skill for read-first workflows. Enable action tooling only for a named
operation whose endpoint, payload, account, and side effects the user approves.
When to Use
Use this skill for Hermes Agent sessions that need X/Twitter data or controlled
X actions through the Hermes Tweet plugin.
Use this skill especially for social listening, launch monitoring, support
triage, creator research, brand research, giveaway audits, community audits,
and controlled publishing workflows.
Use tweet_explore first when the user asks for a capability, endpoint, route,
or Xquik API surface. 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.
- 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.
Decision Rules
- IF the task is endpoint discovery, THEN call
tweet_explore with a short
query.
- IF the endpoint method is
GET and the catalog does not mark it as an
action, THEN call tweet_read.
- IF the endpoint method is not
GET, or the route touches private account
state, THEN call tweet_action only when actions are enabled and the user has
approved the operation.
- IF
tweet_action is unavailable or disabled, THEN explain that action tools
are intentionally gated by HERMES_TWEET_ENABLE_ACTIONS=true.
- IF
XQUIK_API_KEY is missing, THEN ask the user to set it in the Hermes
runtime environment without requesting the key value in chat.
- IF Hermes lists the plugin as
not enabled, THEN tell the user to run
hermes plugins enable hermes-tweet or reinstall with --enable.
- IF the plugin is installed as a project-local
.hermes/plugins/ copy, THEN
remind the user that Hermes requires HERMES_ENABLE_PROJECT_PLUGINS=true for
trusted repositories.
- IF the task is unattended, scheduled, gateway-driven, or cron-driven, THEN
prefer
tweet_read and keep tweet_action disabled unless the workflow has a
clear approval step.
- IF the user is in Hermes Desktop with a remote gateway profile, THEN remind
them that Hermes Tweet must be installed, enabled, and configured on the
remote Hermes host where plugin tools execute.
- IF the user uses the Hermes dashboard for gateway administration or
credentials, THEN keep Hermes Tweet secrets in the runtime environment and do
not ask for key values in chat.
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
- Risk: A broad X/Twitter request may map to a write-capable route.
Mitigation: Start with
tweet_explore, prefer tweet_read, and require a
user-approved endpoint plus payload before tweet_action.
- Risk: Secrets may be pasted into chat or examples.
Mitigation: Ask only for environment configuration, never for key values, and
never put credentials in tool arguments.
- Risk: Endpoint guessing may bypass catalog review.
Mitigation: Accept only catalog-listed
/api/v1/... paths and reject direct
HTTP fallbacks.
- Risk: Automated X/Twitter actions can affect real accounts.
Mitigation: Keep
HERMES_TWEET_ENABLE_ACTIONS=false by default and summarize
side effects before any account-changing call.
Output
- Output type: endpoint selection, API-result summaries, action previews, and
troubleshooting guidance.
- Output format: concise Markdown for humans and JSON-like tool payloads for
Hermes Tweet calls.
- Side effects:
tweet_explore has no external side effects, tweet_read
performs authenticated reads, and tweet_action may change account or
workflow 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, then 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 the action blocked unless the user requested it and
HERMES_TWEET_ENABLE_ACTIONS=true is intentionally configured.
- Policy, authentication, validation, or account error: return the sanitized
failure and corrective step. Do not retry through another route.
- Missing slash command: verify it in an active Hermes session or plugin
registry test rather than treating prompt text as registration proof.
- Secret in input: stop and ask the user to rotate it before continuing.
Examples
Example: Search tweets
{"query":"tweet search","method":"GET"}
Then call:
{"path":"/api/v1/x/tweets/search","query":{"q":"AI agents","limit":25}}
Example: 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.
Example: 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
Source: jeremylongshore/claude-code-plugins-plus-skills → skills/.curated/hermes-tweet/SKILL.md
Also appears in: jeremylongshore/claude-code-plugins-plus-skills/plugins/community/hermes-tweet/skills/hermes-tweet/SKILL.md, jeremylongshore/claude-code-plugins-plus-skills/plugins/community/hermes-tweet/hermes_tweet/skills/hermes-tweet/SKILL.md, hashgraph-online/awesome-codex-plugins/plugins/Xquik-dev/hermes-tweet/skills/hermes-tweet/SKILL.md
1---
2name: hermes-tweet-3
3description: ">- Uses Xquik from Hermes Agent for X research, monitoring, and approval-gated actions. Use when the user requests X data or an approved X action. Trigger with \"search X\", \"monitor X\", \"post tweet\", or \"X trends\"."
4allowed-tools: "tweet_explore tweet_read tweet_action"
5category: ai-agents-and-harness
6source_repo: jeremylongshore/claude-code-plugins-plus-skills
7source_path: "skills/.curated/hermes-tweet/SKILL.md"
8source_url: https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/HEAD/skills/.curated/hermes-tweet/SKILL.md
9---
10
11
12# Hermes Tweet
13
14## Overview
15
16Hermes Tweet solves X research and automation tasks without direct HTTP fallbacks
17or guessed endpoints. It discovers catalog-listed Xquik routes, performs
18authenticated reads, and keeps write-like or private operations behind an
19explicit environment gate and user approval.
20
21Use the skill for read-first workflows. Enable action tooling only for a named
22operation whose endpoint, payload, account, and side effects the user approves.
23
24## When to Use
25
26Use this skill for Hermes Agent sessions that need X/Twitter data or controlled
27X actions through the Hermes Tweet plugin.
28
29Use this skill especially for social listening, launch monitoring, support
30triage, creator research, brand research, giveaway audits, community audits,
31and controlled publishing workflows.
32
33Use `tweet_explore` first when the user asks for a capability, endpoint, route,
34or Xquik API surface. Use `tweet_read` only after a read-only endpoint is known.
35Use `tweet_action` only after the user requests a write, private read, monitor,
36webhook, extraction job, giveaway draw, or media operation that requires action
37permissions.
38
39## Prerequisites
40
41- Install and enable the plugin with
42 `hermes plugins install Xquik-dev/hermes-tweet --enable`.
43- Configure `XQUIK_API_KEY` on the Hermes runtime host for authenticated reads.
44 `tweet_explore` remains available without the key or network access.
45- Leave `HERMES_TWEET_ENABLE_ACTIONS` unset or false unless the workflow needs
46 an approved write-like or private operation.
47- For project-local plugins, set `HERMES_ENABLE_PROJECT_PLUGINS=true` only in a
48 trusted repository.
49- Restart a gateway after environment changes and start a new session. Active
50 CLI sessions can use `/reload`.
51
52## Permissions and Capabilities
53
54- Use `tweet_explore`, `tweet_read`, and `tweet_action` only through the enabled
55 Hermes Tweet toolset.
56- Network access is limited to catalog-listed Xquik API routes reached by those
57 tools. Do not create direct HTTP fallbacks.
58- Shell access is not part of normal operation. Use Hermes CLI commands only for
59 the install and registry checks listed in Testing.
60- Local file access is not part of normal operation. Do not write reports,
61 credentials, logs, screenshots, or cached API payloads unless the user asks
62 for an explicit export workflow.
63- Environment access is limited to configuration presence checks for
64 `XQUIK_API_KEY`, `HERMES_TWEET_ENABLE_ACTIONS`, and
65 `HERMES_ENABLE_PROJECT_PLUGINS`. Never request or echo their values.
66- MCP access is not required.
67
68## Instructions
69
701. Confirm the plugin is enabled with `hermes plugins list` and confirm tool
71 registration with `hermes tools list`.
722. Use `tweet_explore` to find the catalog endpoint and method.
733. Use `tweet_read` for public read-only endpoints after the API key is
74 configured.
754. Before `tweet_action`, state the exact endpoint, payload, account, reason,
76 and expected side effects, then get explicit approval.
775. Verify the tool response. Report policy, authentication, validation, or
78 account errors without retrying through alternate routes.
79
80## Decision Rules
81
82- IF the task is endpoint discovery, THEN call `tweet_explore` with a short
83 query.
84- IF the endpoint method is `GET` and the catalog does not mark it as an
85 action, THEN call `tweet_read`.
86- IF the endpoint method is not `GET`, or the route touches private account
87 state, THEN call `tweet_action` only when actions are enabled and the user has
88 approved the operation.
89- IF `tweet_action` is unavailable or disabled, THEN explain that action tools
90 are intentionally gated by `HERMES_TWEET_ENABLE_ACTIONS=true`.
91- IF `XQUIK_API_KEY` is missing, THEN ask the user to set it in the Hermes
92 runtime environment without requesting the key value in chat.
93- IF Hermes lists the plugin as `not enabled`, THEN tell the user to run
94 `hermes plugins enable hermes-tweet` or reinstall with `--enable`.
95- IF the plugin is installed as a project-local `.hermes/plugins/` copy, THEN
96 remind the user that Hermes requires `HERMES_ENABLE_PROJECT_PLUGINS=true` for
97 trusted repositories.
98- IF the task is unattended, scheduled, gateway-driven, or cron-driven, THEN
99 prefer `tweet_read` and keep `tweet_action` disabled unless the workflow has a
100 clear approval step.
101- IF the user is in Hermes Desktop with a remote gateway profile, THEN remind
102 them that Hermes Tweet must be installed, enabled, and configured on the
103 remote Hermes host where plugin tools execute.
104- IF the user uses the Hermes dashboard for gateway administration or
105 credentials, THEN keep Hermes Tweet secrets in the runtime environment and do
106 not ask for key values in chat.
107
108## Safety
109
110- Never ask for or reveal API keys, signing keys, passwords, cookies, or TOTP secrets.
111- Never pass credentials in tool arguments.
112- Use only catalog-listed `/api/v1/...` endpoints.
113- Copied endpoint URLs are accepted only when they resolve to catalog-listed paths.
114- Do not use account connection, re-authentication, API key, billing, credit top-up, or support-ticket endpoints.
115- For posting, deleting, following, DMs, profile changes, monitors, webhooks, extraction jobs, and draws, summarize the action before calling `tweet_action`.
116
117## Known Risks and Mitigations
118
119- Risk: A broad X/Twitter request may map to a write-capable route.
120 Mitigation: Start with `tweet_explore`, prefer `tweet_read`, and require a
121 user-approved endpoint plus payload before `tweet_action`.
122- Risk: Secrets may be pasted into chat or examples.
123 Mitigation: Ask only for environment configuration, never for key values, and
124 never put credentials in tool arguments.
125- Risk: Endpoint guessing may bypass catalog review.
126 Mitigation: Accept only catalog-listed `/api/v1/...` paths and reject direct
127 HTTP fallbacks.
128- Risk: Automated X/Twitter actions can affect real accounts.
129 Mitigation: Keep `HERMES_TWEET_ENABLE_ACTIONS=false` by default and summarize
130 side effects before any account-changing call.
131
132## Output
133
134- Output type: endpoint selection, API-result summaries, action previews, and
135 troubleshooting guidance.
136- Output format: concise Markdown for humans and JSON-like tool payloads for
137 Hermes Tweet calls.
138- Side effects: `tweet_explore` has no external side effects, `tweet_read`
139 performs authenticated reads, and `tweet_action` may change account or
140 workflow state only after explicit approval.
141
142## Error Handling
143
144Use the narrowest recovery step that preserves the read-first and action-gated
145contract:
146
147- Missing tool: confirm the plugin is enabled, then run `hermes tools list`.
148- Missing API key: configure `XQUIK_API_KEY` on the runtime host without pasting
149 its value into chat, then run `/reload` in an active CLI session or run
150 `hermes gateway restart` and start a new gateway session.
151- Unknown endpoint: call `tweet_explore` again. Never guess paths or create a
152 direct HTTP fallback.
153- Disabled action: keep the action blocked unless the user requested it and
154 `HERMES_TWEET_ENABLE_ACTIONS=true` is intentionally configured.
155- Policy, authentication, validation, or account error: return the sanitized
156 failure and corrective step. Do not retry through another route.
157- Missing slash command: verify it in an active Hermes session or plugin
158 registry test rather than treating prompt text as registration proof.
159- Secret in input: stop and ask the user to rotate it before continuing.
160
161## Examples
162
163**Example: Search tweets**
164
165```json
166{"query":"tweet search","method":"GET"}
167```
168
169Then call:
170
171```json
172{"path":"/api/v1/x/tweets/search","query":{"q":"AI agents","limit":25}}
173```
174
175**Example: Inspect trends**
176
177Run `/xtrends` in an active Hermes session. Use `tweet_explore` when the task
178needs a catalog endpoint or structured response instead of the slash command.
179
180**Example: Post a tweet**
181
182```json
183{"query":"post tweet","include_actions":true}
184```
185
186Then call `tweet_action` with:
187
188```json
189{"path":"/api/v1/x/tweets","method":"POST","body":{"account":"@example","text":"Hello from Hermes Tweet"},"reason":"Post the user-approved tweet."}
190```
191
192## Testing
193
194After installing or upgrading the plugin in Hermes Agent:
195
1961. Run `hermes plugins enable hermes-tweet` unless the install used `--enable`.
1972. Run `hermes plugins list` and confirm the plugin is `enabled`.
1983. Run `hermes tools list` and confirm the `hermes-tweet` toolset is enabled.
1994. Confirm `tweet_explore` is available without `XQUIK_API_KEY`.
2005. Confirm `tweet_read` appears only when `XQUIK_API_KEY` is configured.
2016. Confirm `tweet_action` stays hidden or disabled unless `HERMES_TWEET_ENABLE_ACTIONS=true`.
202
203Useful CLI checks:
204
205```bash
206hermes plugins enable hermes-tweet
207hermes tools list
208```
209
210## Release Trust Gate
211
212Before presenting this skill as NVIDIA-verified or ready for broad enterprise
213deployment:
214
2151. Run SkillSpector against the complete skill directory and resolve critical or
216 high findings.
2172. Complete `skill-card.md` with owner, license, use case, deployment
218 geography, risks, references, output shape, and release version.
2193. Include Tier-3 eval data and `BENCHMARK.md` for the reviewed release.
2204. Sign the exact reviewed skill directory and publish `skill.oms.sig`.
2215. Verify the published directory with the expected certificate chain.
222
223Do not claim NVIDIA verification when those release artifacts are absent.
224
225## Resources
226
227- [Endpoint and approval contract](references/endpoint-contract.md)
228- [Skill card](skill-card.md)
229- [Hermes Tweet repository](https://github.com/Xquik-dev/hermes-tweet)
230- [Hermes Agent plugin guide](https://github.com/NousResearch/hermes-agent/blob/main/website/docs/user-guide/features/plugins.md)
231- [Xquik Hermes Tweet guide](https://docs.xquik.com/guides/hermes-tweet)
232
233---
234
235**Source:** [`jeremylongshore/claude-code-plugins-plus-skills`](https://github.com/jeremylongshore/claude-code-plugins-plus-skills) → `skills/.curated/hermes-tweet/SKILL.md`
236
237**Also appears in:** `jeremylongshore/claude-code-plugins-plus-skills/plugins/community/hermes-tweet/skills/hermes-tweet/SKILL.md`, `jeremylongshore/claude-code-plugins-plus-skills/plugins/community/hermes-tweet/hermes_tweet/skills/hermes-tweet/SKILL.md`, `hashgraph-online/awesome-codex-plugins/plugins/Xquik-dev/hermes-tweet/skills/hermes-tweet/SKILL.md`