Skip to content

fix(acp): pass --skills flag through to ACP sessions - #24474

Closed
luyao618 wants to merge 1 commit into
NousResearch:mainfrom
luyao618:fix/acp-skills-passthrough
Closed

fix(acp): pass --skills flag through to ACP sessions#24474
luyao618 wants to merge 1 commit into
NousResearch:mainfrom
luyao618:fix/acp-skills-passthrough

Conversation

@luyao618

Copy link
Copy Markdown
Contributor

Summary

Fixes #24466 — the --skills / -s global flag was silently ignored when running hermes acp.

Root Cause

cmd_acp(args) called acp_main() with no arguments, discarding args.skills. acp_main() accepted no parameters and created HermesACPAgent() with no skill preloading.

Changes

File Change
hermes_cli/main.py Pass args.skills to acp_main()
acp_adapter/entry.py Accept skills keyword arg, forward to HermesACPAgent
acp_adapter/server.py Accept skills in HermesACPAgent.__init__(), forward to SessionManager
acp_adapter/session.py Store skills in SessionManager, resolve via build_preloaded_skills_prompt() in _make_agent(), inject as prefill_messages into AIAgent
tests/acp_adapter/test_acp_skills.py New tests for skills passthrough

How It Works

The skills value is threaded through the full ACP startup chain:

CLI args → acp_main(skills=...) → HermesACPAgent(skills=...) → SessionManager(skills=...)

In SessionManager._make_agent(), skills are resolved using the same build_preloaded_skills_prompt() helper that the CLI chat mode uses, and injected as prefill_messages into the AIAgent constructor.

Testing

  • All 17 existing ACP adapter tests pass
  • 3 new tests added for skills passthrough

AI-assisted: implementation by Claude, review by human

@alt-glitch alt-glitch added type/bug Something isn't working comp/acp Agent Communication Protocol adapter comp/cli CLI entry point, hermes_cli/, setup wizard tool/skills Skills system (list, view, manage) P2 Medium — degraded but workaround exists labels May 12, 2026
@luyao618
luyao618 force-pushed the fix/acp-skills-passthrough branch from 9121c70 to 04f522e Compare May 17, 2026 06:59
)

cmd_acp() silently discarded args.skills — acp_main() took no
parameters and HermesACPAgent / SessionManager never received the
skill list.

Thread the skills value from the CLI arg parser through
acp_main() → HermesACPAgent → SessionManager._make_agent(),
where it is resolved via build_preloaded_skills_prompt() and
injected as prefill_messages into the AIAgent, matching the
existing CLI chat-mode behavior.

Closes NousResearch#24466

AI-assisted: implementation by Claude, review by human
@luyao618
luyao618 force-pushed the fix/acp-skills-passthrough branch from 04f522e to f9d6a0d Compare May 18, 2026 05:02
@luyao618

Copy link
Copy Markdown
Contributor Author

Closing — DIRTY conflicts and stale. Will reopen with a fresh branch if the --skills passthrough is still needed.

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

Labels

comp/acp Agent Communication Protocol adapter comp/cli CLI entry point, hermes_cli/, setup wizard P2 Medium — degraded but workaround exists tool/skills Skills system (list, view, manage) type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: --skills not passed to acp command.

2 participants