Skip to content

Add Hermes Tweet plugin#582

Open
kriptoburak wants to merge 4 commits into
wshobson:mainfrom
kriptoburak:codex/add-hermes-tweet-plugin
Open

Add Hermes Tweet plugin#582
kriptoburak wants to merge 4 commits into
wshobson:mainfrom
kriptoburak:codex/add-hermes-tweet-plugin

Conversation

@kriptoburak

Copy link
Copy Markdown

Summary

Adds a source-native hermes-tweet plugin for Hermes Agent X/Twitter research, read routes, and approval-gated action workflows.

This is distinct from the existing social-publishing plugin: social-publishing covers broad multi-platform publishing, while Hermes Tweet focuses on the Hermes Agent runtime, tweet_explore, tweet_read, and guarded tweet_action workflows.

Changes

  • Add plugins/hermes-tweet with Claude and Codex plugin manifests.
  • Add a portable hermes-tweet skill plus workflow reference material.
  • Register the plugin in Claude, Codex, and Cursor marketplace metadata.
  • Update README and catalog counts from 84 to 85 plugins and 156 to 157 skills.

Validation

  • claude plugin validate plugins/hermes-tweet
  • make generate-all
  • make validate
  • make garden reports 0 errors and 10 pre-existing SKILL_OVER_CODEX_CAP warnings outside this plugin
  • uv run --project plugins/plugin-eval plugin-eval score plugins/hermes-tweet/skills/hermes-tweet --depth quick gives 83.8/100 Gold with 0 anti-patterns
  • TERM=xterm-256color make test gives 443 passed, 3 skipped

@coderabbitai

coderabbitai Bot commented Jun 14, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b4963339-efa7-4d76-940c-ee002d27928d

📥 Commits

Reviewing files that changed from the base of the PR and between 74898a6 and 06e2e63.

📒 Files selected for processing (3)
  • docs/agent-skills.md
  • docs/architecture.md
  • plugins/hermes-tweet/skills/hermes-tweet/references/workflows.md
✅ Files skipped from review due to trivial changes (2)
  • docs/agent-skills.md
  • docs/architecture.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • plugins/hermes-tweet/skills/hermes-tweet/references/workflows.md

📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • New Features

    • Added the Hermes Tweet plugin (v0.1.6) for X/Twitter, including tweet exploration, reading, and controlled actions.
    • Introduced an approval-gated action workflow, with configuration to enable or restrict action execution.
  • Documentation

    • Added full Hermes Tweet skill documentation, including setup, tool guidance, workflow patterns, examples, and troubleshooting.
    • Updated docs/catalog totals to reflect the added plugin and skill.

Walkthrough

Adds a new hermes-tweet plugin (v0.1.6) to the marketplace. This includes plugin manifests for Claude, Codex, and Cursor platforms, entries in all marketplace catalog JSONs with source paths and policy settings, skill documentation covering tools and workflow patterns, and updated plugin/skill count strings across README and docs.

Changes

hermes-tweet Plugin Addition

Layer / File(s) Summary
Plugin manifests across platforms
plugins/hermes-tweet/.claude-plugin/plugin.json, plugins/hermes-tweet/.codex-plugin/plugin.json, .cursor-plugin/plugins/hermes-tweet.json
New plugin.json manifests added for Claude, Codex, and Cursor platforms, each defining name, version 0.1.6, description, author, homepage, repository, and license.
Marketplace catalog registrations
.agents/plugins/marketplace.json, .claude-plugin/marketplace.json, .cursor-plugin/marketplace.json, .cursor-plugin/plugin.json
hermes-tweet inserted into the plugins arrays of all three marketplace catalogs with source paths, policy/authentication settings, and category. Metadata description strings updated to reflect 85 plugins and 157 skills.
Skill documentation
plugins/hermes-tweet/skills/hermes-tweet/SKILL.md, plugins/hermes-tweet/skills/hermes-tweet/references/workflows.md
SKILL.md added covering setup (XQUIK_API_KEY, HERMES_TWEET_ENABLE_ACTIONS), tools (tweet_explore, tweet_read, tweet_action), output format, examples, and troubleshooting. workflows.md defines four workflow patterns (Social Listening, Support Triage, Giveaway Audit, Controlled Publishing) with approval-gated action guidance.
README and docs count updates
README.md, docs/plugins.md, docs/architecture.md, docs/usage.md
Headline numbers, table counts, and section headers updated to 85 plugins and 157 skills throughout README and documentation pages. hermes-tweet install command added to docs/plugins.md Marketing section.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

  • wshobson/agents#522: Updates the same .claude-plugin/marketplace.json metadata description and docs/agent-skills.md/docs/plugins.md count totals using the same increment pattern.

Suggested reviewers

  • wshobson
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Add Hermes Tweet plugin' is specific and directly summarizes the main change—adding a new plugin to the repository.
Description check ✅ Passed The description clearly explains the purpose, changes, and validation of the hermes-tweet plugin addition, directly related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/agent-skills.md (1)

390-390: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update stale skill count on line 390.

The introduction on line 3 correctly states 157 skills, but the specification compliance statement on line 390 refers to 156 skills — a leftover from the previous count. Update line 390 to match the new total.

🔧 Proposed fix
-All 156 skills follow the [Agent Skills Specification](https://agentskills.io/specification):
+All 157 skills follow the [Agent Skills Specification](https://agentskills.io/specification):
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/agent-skills.md` at line 390, Update the skill count in the
specification compliance statement from 156 to 157 to match the correct total
stated in the document introduction. In the sentence starting with "All 156
skills follow the", change the number 156 to 157 to ensure consistency across
the documentation.
🧹 Nitpick comments (1)
plugins/hermes-tweet/skills/hermes-tweet/SKILL.md (1)

65-79: ⚡ Quick win

Rewrite workflow prose to action-verb language in body sections.

The workflow/tool guidance is currently phrased in tool-name vocabulary (tweet_explore, tweet_read, tweet_action) rather than action-first instructions. Rephrase the body text to action verbs and keep tool identifiers as secondary references/examples.

As per coding guidelines, "Use action verbs in markdown body, not tool-name vocabulary: prefer 'open the file' over 'use the Read tool'."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/hermes-tweet/skills/hermes-tweet/SKILL.md` around lines 65 - 79, The
workflow guidance items 1-3 in the SKILL.md file are currently phrased with tool
names as the primary subject (starting with "Start with," "Use," "Use"). Rewrite
items 1-3 to lead with action verbs instead, placing the tool identifiers
(tweet_explore, tweet_read, tweet_action) as secondary references. For example,
rephrase "Start with `tweet_explore` to find matching catalog routes" to "Search
the bundled endpoint catalog with `tweet_explore` to find matching routes," and
similarly rephrase items 2 and 3 to emphasize the action being performed
(reading data, executing actions) with the tool name as supporting context
rather than the directive itself. Items 4-6 already follow the action-verb
pattern and do not require changes.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.claude-plugin/marketplace.json:
- Line 9: Remove all modifications to .claude-plugin/marketplace.json from this
PR, as registry edits must not be included in plugin PRs according to coding
guidelines. This includes the description change at line 9 and any other
registry modifications affecting lines 715-727. These registry updates should be
submitted separately through the appropriate registry update flow instead of
being included in plugin PRs.

In @.cursor-plugin/marketplace.json:
- Line 9: The marketplace.json file should not be hand-edited and instead must
be regenerated through the build system. Revert any manual changes made to the
description field and other affected areas in marketplace.json, then regenerate
the entire file by running the appropriate make generate command with the
correct HARNESS parameter as specified in the coding guidelines for
.cursor-plugin/ directory files.

In @.cursor-plugin/plugin.json:
- Line 5: The description field in the plugin.json manifest has been manually
edited, which violates the guideline that files under `.cursor-plugin/` should
only be generated through the automated flow. Revert the manual changes to the
description field in plugin.json and instead regenerate the entire manifest file
by running the appropriate make generate command with the correct HARNESS
parameter. Do not commit manual edits to this file; let the generation process
handle all manifest updates.

In @.cursor-plugin/plugins/hermes-tweet.json:
- Around line 1-12: The hermes-tweet.json file under .cursor-plugin/plugins/ is
being directly edited in this PR, but files under .cursor-plugin/ are
auto-generated artifacts and should not be manually modified. Revert all direct
edits to this file and instead regenerate it using the proper harness target by
running make generate HARNESS=<x> as appropriate for this plugin. Ensure the
file is not included as a direct edit in the PR.

---

Outside diff comments:
In `@docs/agent-skills.md`:
- Line 390: Update the skill count in the specification compliance statement
from 156 to 157 to match the correct total stated in the document introduction.
In the sentence starting with "All 156 skills follow the", change the number 156
to 157 to ensure consistency across the documentation.

---

Nitpick comments:
In `@plugins/hermes-tweet/skills/hermes-tweet/SKILL.md`:
- Around line 65-79: The workflow guidance items 1-3 in the SKILL.md file are
currently phrased with tool names as the primary subject (starting with "Start
with," "Use," "Use"). Rewrite items 1-3 to lead with action verbs instead,
placing the tool identifiers (tweet_explore, tweet_read, tweet_action) as
secondary references. For example, rephrase "Start with `tweet_explore` to find
matching catalog routes" to "Search the bundled endpoint catalog with
`tweet_explore` to find matching routes," and similarly rephrase items 2 and 3
to emphasize the action being performed (reading data, executing actions) with
the tool name as supporting context rather than the directive itself. Items 4-6
already follow the action-verb pattern and do not require changes.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0502a040-724e-4e7b-83e3-801d4255220d

📥 Commits

Reviewing files that changed from the base of the PR and between cc37bfd and 6632151.

📒 Files selected for processing (12)
  • .agents/plugins/marketplace.json
  • .claude-plugin/marketplace.json
  • .cursor-plugin/marketplace.json
  • .cursor-plugin/plugin.json
  • .cursor-plugin/plugins/hermes-tweet.json
  • README.md
  • docs/agent-skills.md
  • docs/plugins.md
  • plugins/hermes-tweet/.claude-plugin/plugin.json
  • plugins/hermes-tweet/.codex-plugin/plugin.json
  • plugins/hermes-tweet/skills/hermes-tweet/SKILL.md
  • plugins/hermes-tweet/skills/hermes-tweet/references/workflows.md
📜 Review details
🧰 Additional context used
📓 Path-based instructions (6)
**/.cursor-plugin/**

📄 CodeRabbit inference engine (.cursor/rules/000-project-conventions.mdc)

Do not hand-edit anything under .cursor-plugin/ — regenerate via make generate HARNESS=<x>

Files:

  • .cursor-plugin/plugin.json
  • .cursor-plugin/plugins/hermes-tweet.json
  • .cursor-plugin/marketplace.json
plugins/**/{.claude-plugin/plugin.json,agents/*.md,skills/*/SKILL.md,commands/*.md}

📄 CodeRabbit inference engine (.cursor/rules/000-project-conventions.mdc)

Plugin files follow the structure: plugins/<name>/{.claude-plugin/plugin.json, agents/*.md, skills/<name>/SKILL.md, commands/*.md} and are auto-discovered

Files:

  • plugins/hermes-tweet/skills/hermes-tweet/SKILL.md
  • plugins/hermes-tweet/.claude-plugin/plugin.json
plugins/*/skills/*/SKILL.md

📄 CodeRabbit inference engine (.cursor/rules/020-agent-skill-authoring.mdc)

plugins/*/skills/*/SKILL.md: Skills frontmatter must include: name, description. Other Anthropic SKILL.md fields are optional and respected only on Claude Code
Cap skill body at approximately 8 KB. Push longer reference material into skills/<name>/references/ files, as Codex will hard-truncate at 8 KB

Plugin frontmatter shapes must follow authoring standards defined in 'docs/authoring.md'

Files:

  • plugins/hermes-tweet/skills/hermes-tweet/SKILL.md
{plugins/*/agents/*.md,plugins/*/skills/*/SKILL.md,plugins/*/commands/*.md}

📄 CodeRabbit inference engine (.cursor/rules/020-agent-skill-authoring.mdc)

{plugins/*/agents/*.md,plugins/*/skills/*/SKILL.md,plugins/*/commands/*.md}: Use action verbs in markdown body, not tool-name vocabulary: prefer "open the file" over "use the Read tool". The adapter rewrites a conservative set, but unrewritten cases may bleed through
Do not reference TodoWrite, the Task spawn tool, or hooks as load-bearing — they don't exist in Codex or Cursor

Files:

  • plugins/hermes-tweet/skills/hermes-tweet/SKILL.md
{README.md,ARCHITECTURE.md}

📄 CodeRabbit inference engine (AGENTS.md)

Keep README/overview files short (~150 lines max) per OpenAI's harness-engineering practice; push procedural detail to docs/ and skill files

Files:

  • README.md
.claude-plugin/marketplace.json

📄 CodeRabbit inference engine (.cursor/rules/000-project-conventions.mdc)

Never modify .claude-plugin/marketplace.json from inside a plugin PR — it's the registry

Files:

  • .claude-plugin/marketplace.json
🔇 Additional comments (3)
plugins/hermes-tweet/.claude-plugin/plugin.json (1)

1-12: LGTM!

plugins/hermes-tweet/.codex-plugin/plugin.json (1)

1-18: LGTM!

.agents/plugins/marketplace.json (1)

568-579: LGTM!

Comment thread .claude-plugin/marketplace.json Outdated
Comment thread .cursor-plugin/marketplace.json Outdated
Comment thread .cursor-plugin/plugin.json Outdated
Comment thread .cursor-plugin/plugins/hermes-tweet.json Outdated
@kriptoburak

Copy link
Copy Markdown
Author

Update pushed in 74898a6.

Validated:

  • claude plugin validate plugins/hermes-tweet
  • make generate-all
  • make validate
  • make garden (0 errors, 10 pre-existing SKILL_OVER_CODEX_CAP warnings outside hermes-tweet)
  • uv run --project plugins/plugin-eval plugin-eval score plugins/hermes-tweet/skills/hermes-tweet --depth quick (83.8/100 Gold, 0 anti-patterns)
  • TERM=xterm-256color make test (443 passed, 3 skipped)

The docs count and action-verb comments are fixed. The .cursor-plugin/* files are generated by make generate-all. The .claude-plugin/marketplace.json entry is required by this repo's current contribution guide and tools/tests/test_real_world.py; removing it makes the local plugin directory fail marketplace consistency tests.

@kriptoburak

Copy link
Copy Markdown
Author

Addressed the registry/generated-file review items in 3d97775 by removing the .claude-plugin marketplace edit and .cursor-plugin generated-file changes from the PR. Validation run: jq on plugin manifests, claude plugin validate plugins/hermes-tweet, git diff --check. CodeRabbit is now passing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant