Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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".
.claude/skills/jeremylongshore-hermes-tweet/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -51% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 191% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 47% | 0% |
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.
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.
hermes plugins install Xquik-dev/hermes-tweet --enable.
XQUIK_API_KEY on the Hermes runtime host for authenticated reads.tweet_explore remains available without the key or network access.
HERMES_TWEET_ENABLE_ACTIONS unset or false unless the workflow needsan approved write-like or private operation.
HERMES_ENABLE_PROJECT_PLUGINS=true only in atrusted repository.
CLI sessions can use /reload.
tweet_explore, tweet_read, and tweet_action only through the enabledHermes Tweet toolset.
tools. Do not create direct HTTP fallbacks.
the install and registry checks listed in Testing.
credentials, logs, screenshots, or cached API payloads unless the user asks for an explicit export workflow.
XQUIK_API_KEY, HERMES_TWEET_ENABLE_ACTIONS, and HERMES_ENABLE_PROJECT_PLUGINS. Never request or echo their values.
hermes plugins list and confirm toolregistration with hermes tools list.
tweet_explore to find the catalog endpoint and method.tweet_read for public read-only endpoints after the API key isconfigured.
tweet_action, state the exact endpoint, payload, account, reason,and expected side effects, then get explicit approval.
account errors without retrying through alternate routes.
tweet_explore with a shortquery.
GET and the catalog does not mark it as anaction, THEN call tweet_read.
GET, or the route touches private accountstate, THEN call tweet_action only when actions are enabled and the user has approved the operation.
tweet_action is unavailable or disabled, THEN explain that action toolsare intentionally gated by HERMES_TWEET_ENABLE_ACTIONS=true.
XQUIK_API_KEY is missing, THEN ask the user to set it in the Hermesruntime environment without requesting the key value in chat.
not enabled, THEN tell the user to runhermes plugins enable hermes-tweet or reinstall with --enable.
.hermes/plugins/ copy, THENremind the user that Hermes requires HERMES_ENABLE_PROJECT_PLUGINS=true for trusted repositories.
prefer tweet_read and keep tweet_action disabled unless the workflow has a clear approval step.
them that Hermes Tweet must be installed, enabled, and configured on the remote Hermes host where plugin tools execute.
credentials, THEN keep Hermes Tweet secrets in the runtime environment and do not ask for key values in chat.
/api/v1/... endpoints.tweet_action.Mitigation: Start with tweet_explore, prefer tweet_read, and require a user-approved endpoint plus payload before tweet_action.
Mitigation: Ask only for environment configuration, never for key values, and never put credentials in tool arguments.
Mitigation: Accept only catalog-listed /api/v1/... paths and reject direct HTTP fallbacks.
Mitigation: Keep HERMES_TWEET_ENABLE_ACTIONS=false by default and summarize side effects before any account-changing call.
troubleshooting guidance.
Hermes Tweet calls.
tweet_explore has no external side effects, tweet_readperforms authenticated reads, and tweet_action may change account or workflow state only after explicit approval.
Use the narrowest recovery step that preserves the read-first and action-gated contract:
hermes tools list.XQUIK_API_KEY on the runtime host without pastingits value into chat, then run /reload in an active CLI session or run hermes gateway restart and start a new gateway session.
tweet_explore again. Never guess paths or create adirect HTTP fallback.
HERMES_TWEET_ENABLE_ACTIONS=true is intentionally configured.
failure and corrective step. Do not retry through another route.
registry test rather than treating prompt text as registration proof.
Example: Search tweets
json{"query":"tweet search","method":"GET"}
Then call:
json{"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
json{"query":"post tweet","include_actions":true}
Then call tweet_action with:
json{"path":"/api/v1/x/tweets","method":"POST","body":{"account":"@example","text":"Hello from Hermes Tweet"},"reason":"Post the user-approved tweet."}
After installing or upgrading the plugin in Hermes Agent:
hermes plugins enable hermes-tweet unless the install used --enable.hermes plugins list and confirm the plugin is enabled.hermes tools list and confirm the hermes-tweet toolset is enabled.tweet_explore is available without XQUIK_API_KEY.tweet_read appears only when XQUIK_API_KEY is configured.tweet_action stays hidden or disabled unless HERMES_TWEET_ENABLE_ACTIONS=true.Useful CLI checks:
bashhermes plugins enable hermes-tweet hermes tools list
Before presenting this skill as NVIDIA-verified or ready for broad enterprise deployment:
high findings.
skill-card.md with owner, license, use case, deploymentgeography, risks, references, output shape, and release version.
BENCHMARK.md for the reviewed release.skill.oms.sig.Do not claim NVIDIA verification when those release artifacts are absent.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→fail | 55,376 | 27,954 | -50% | 1 | 1 | 0% | 1,547 | 2,804 | +81% | 0 | 0 | — |
case-01 | fail→fail | 30,118 | 7,823 | -74% | 1 | 1 | 0% | 2,666 | 2,766 | +4% | 0 | 0 | — |
case-02 | fail→fail | 14,091 | 12,131 | -14% | 1 | 1 | 0% | 1,279 | 2,856 | +123% | 0 | 0 | — |
case-03 | fail→fail | 11,453 | 10,715 | -6% | 1 | 1 | 0% | 1,960 | 3,923 | +100% | 0 | 0 | — |
case-04 | fail→pass | 15,856 | 9,421 | -41% | 1 | 1 | 0% | 1,627 | 3,139 | +93% | 0 | 0 | — |
case-06 | fail→pass | 39,991 | 8,949 | -78% | 1 | 1 | 0% | 6,047 | 2,937 | -51% | 0 | 0 | — |
case-07 | fail→pass | 17,790 | 3,203 | -82% | 1 | 1 | 0% | 2,288 | 2,709 | +18% | 0 | 0 | — |
case-08 | fail→pass | 11,958 | 2,939 | -75% | 1 | 1 | 0% | 990 | 2,882 | +191% | 0 | 0 | — |
case-09 | pass→pass | 10,564 | 9,176 | -13% | 1 | 1 | 0% | 832 | 3,057 | +267% | 0 | 0 | — |
case-10 | fail→pass | 16,951 | 10,555 | -38% | 1 | 1 | 0% | 2,125 | 3,117 | +47% | 0 | 0 | — |
case-11 | fail→fail | 18,857 | 9,288 | -51% | 1 | 1 | 0% | 2,238 | 3,165 | +41% | 0 | 0 | — |
case-12 | fail→fail | 14,304 | 3,377 | -76% | 1 | 1 | 0% | 1,389 | 3,000 | +116% | 0 | 0 | — |
case-13 | fail→pass | 14,356 | 8,885 | -38% | 1 | 1 | 0% | 1,399 | 3,078 | +120% | 0 | 0 | — |
case-23 | pass→fail | 9,017 | 10,098 | +12% | 1 | 1 | 0% | 696 | 3,271 | +370% | 0 | 0 | — |
case-14 | pass→pass | 17,468 | 8,522 | -51% | 1 | 1 | 0% | 2,095 | 3,006 | +43% | 0 | 0 | — |
case-15 | fail→pass | 10,254 | 10,607 | +3% | 1 | 1 | 0% | 1,602 | 3,317 | +107% | 0 | 0 | — |
case-16 | fail→pass | 8,920 | 3,172 | -64% | 1 | 1 | 0% | 1,344 | 2,863 | +113% | 0 | 0 | — |
case-17 | fail→pass | 13,340 | 10,762 | -19% | 1 | 1 | 0% | 2,485 | 3,478 | +40% | 0 | 0 | — |
case-18 | fail→pass | 8,083 | 8,637 | +7% | 1 | 1 | 0% | 1,280 | 2,957 | +131% | 0 | 0 | — |
case-19 | pass→pass | 15,186 | 10,892 | -28% | 1 | 1 | 0% | 1,703 | 2,959 | +74% | 0 | 0 | — |
case-20 | fail→pass | 7,044 | 18,294 | +160% | 1 | 1 | 0% | 1,238 | 2,881 | +133% | 0 | 0 | — |
case-21 | pass→pass | 17,990 | 15,859 | -12% | 1 | 1 | 0% | 2,309 | 3,938 | +71% | 0 | 0 | — |
case-22 | pass→pass | 12,939 | 10,227 | -21% | 1 | 1 | 0% | 1,615 | 3,958 | +145% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +43 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.