Skip to content

feat(skills): add composio-cli optional skill - #36730

Open
shawnesquivel wants to merge 4 commits into
NousResearch:mainfrom
shawnesquivel:feat/composio-cli-skill
Open

feat(skills): add composio-cli optional skill#36730
shawnesquivel wants to merge 4 commits into
NousResearch:mainfrom
shawnesquivel:feat/composio-cli-skill

Conversation

@shawnesquivel

@shawnesquivel shawnesquivel commented Jun 1, 2026

Copy link
Copy Markdown

What & why

Adds an optional devops skill at optional-skills/devops/composio-cli/ that teaches Hermes to drive the local Composio CLI CLI through the terminal tool. Composio gives an agent managed-auth access to 1000+ apps (GitHub, Gmail, Slack, Notion, Linear, Jira, Google Calendar, …), so this skill lets Hermes discover and run tools, connect accounts, inspect schemas, script multi-step workflows, listen for triggers, and proxy authenticated API calls — without baking any API keys into the agent (the CLI owns its own auth).

Users can easily manage their connected accounts on a centralized dashboard.

It's placed in optional-skills/ rather than skills/ because it depends on an externally-installed CLI and a Composio account, so it isn't universally needed.

Notable behavior

  • First-run onboarding: when composio connections list shows no linked accounts, the skill has the agent pitch concrete outcomes (social, fitness, devops, AI generation, Google Workspace, cross-app workflows) and connect one — each suggestion grounded in a real composio search so it never promises a tool that doesn't exist.
  • Pushes safe-by-default usage: check auth first, inspect schemas before guessing args, --dry-run uncertain writes, link accounts only when the CLI says there's no connection.

Standards checklist

  • 55 char description
  • Modern section order: intro → When to Use → Prerequisites → How to Run → Quick Reference → Procedure → Pitfalls → Verification.
  • Prose references native Hermes tools (terminal, read_file); third-party CLI invoked through terminal.
  • requires_toolsets: [terminal]; platforms: [macos, linux] (installer is a curl | bash shell script).
  • author credits the human contributor first.
  • No scripts/binaries, so no helper-script tests required (consistent with existing pure-prose optional skills like docker-management).

How to test

hermes chat --toolsets skills -q "Use the composio-cli skill to find a tool that creates a GitHub issue"

With the CLI installed (curl -fsSL https://composio.dev/install | bash + composio login), the agent should check auth, list connections, search for the tool, and inspect its schema before doing anything.

Platforms tested

macOS.

Add an optional devops skill that drives the local Composio CLI through
the terminal tool to discover and run tools for 1000+ apps, connect
accounts, inspect schemas, script workflows, listen for triggers, and
proxy authenticated API calls. Includes a first-run flow that suggests
apps to connect (grounded in composio search) when the user has no
linked accounts.
First run is a pitch of known-supported apps, not a tool lookup. Reserve
composio search for when the user picks a concrete task.
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have tool/skills Skills system (list, view, manage) labels Jun 1, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Related: #9234 also proposes a Composio CLI skill (still open). Maintainers may want to consolidate — this PR places it under optional-skills/devops/composio-cli/ and emphasizes managed-auth/first-run onboarding, while #9234 is the earlier bundled-skill version.

@mxnstrexgl mxnstrexgl 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.

🤖 Automated PR Review

Security Scan

  • ✓ No hardcoded secrets, injection sinks, unsafe deserialization, or dependency red flags found by this automated scan.

Code Quality

  • ✓ No blocking code-quality issues found by this automated scan.

Summary

Status: APPROVE — security findings: 0, quality suggestions: 0.

Automated review; raw diff content intentionally omitted.

@shawnesquivel

Copy link
Copy Markdown
Author

Related: #9234 also proposes a Composio CLI skill (still open). Maintainers may want to consolidate — this PR places it under optional-skills/devops/composio-cli/ and emphasizes managed-auth/first-run onboarding, while #9234 is the earlier bundled-skill version.

We can use this skill over the previous one, thanks for flagging!

@teknium1 teknium1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for contributing an optional CLI-based skill. The placement is compatible with the official optional-skill scanner in tools/skills_hub.py:3281, and current main has no equivalent Composio CLI skill.

Problems

  • optional-skills/devops/composio-cli/SKILL.md:87-88,126 documents top-level composio triggers / composio listen. The current Composio CLI documentation places these in the developer namespace: composio dev triggers ... and composio dev listen .... As written, the trigger quick reference, procedure, and verification path are not aligned with the documented CLI.
  • optional-skills/devops/composio-cli/SKILL.md:17 does not use the required # <Skill> Skill heading form from AGENTS.md:933-940.
  • This new skill has no tests/skills/test_composio_cli_skill.py, required by AGENTS.md:948-950.

Suggested changes

  • Update the trigger commands to the documented composio dev forms and add a static no-network skill test that locks in the frontmatter and trigger guidance.
  • Rename the heading to # Composio CLI Skill.

Automated hermes-sweeper review.

| List trigger types | `composio triggers list github --limit 5` |
| Listen for events | `composio listen GMAIL_NEW_GMAIL_MESSAGE --timeout 5m --stream` |
| Find artifact directory | `composio artifacts cwd` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The current Composio CLI docs put trigger listening in the developer namespace (composio dev listen --trigger-slug ... --max-events ...), not top-level composio listen. Please update this row and the related trigger-listing/procedure guidance at lines 87 and 126 so the documented workflow is executable.


# Composio CLI

Drive the local `composio` CLI through the `terminal` tool to act in third-party apps such as GitHub, Gmail, Slack, Notion, Linear, Jira, and Google Calendar. The CLI manages its own auth, so it is the integration surface for connected apps. Use native Hermes tools for local files, shell work, code edits, browser work, and ordinary web research.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please use # Composio CLI Skill. AGENTS.md:933-940 makes the # <Skill> Skill title form part of the hardline standard for new skills.

@teknium1 teknium1 added the sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users label Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users tool/skills Skills system (list, view, manage) type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants