Skip to content

Skill hard-codes the --agent roster and has drifted from --help and the README #181

Description

@simihablo

Summary

skills/gnhf/SKILL.md hard-codes the --agent roster in two places. The roster is already maintained in two other places (gnhf --help and the README Agents table), so the skill is a third copy that has to be updated by hand every time an agent is added or its spec changes.

It has already drifted.

Evidence

Checked against gnhf@0.1.41.

gnhf --help:

  --agent <agent>          Agent to use (claude, codex, rovodev, opencode,
                           copilot, pi, or acp:<target-or-command>)

README Agents table:

| ACP target | `--agent acp:<target-or-command>` | ... |

skills/gnhf/SKILL.md, Launch section:

gnhf \
  --agent <claude|codex|rovodev|opencode|copilot|pi|acp:<target>> \

and the Agent section:

- `acp:<target>`: explicit ACP target request, or when the user wants to drive a custom ACP-compatible agent through GNHF.

The skill says acp:<target>; --help and the README both say acp:<target-or-command>. An agent reading only the skill will not learn that a quoted custom ACP server command is accepted, which is exactly the capability #110 added.

This is the predictable failure mode of a third hand-maintained copy, not a one-off typo.

Proposed change

Have the skill point at the two surfaces that are already authoritative, and tell the reading agent not to hard-code the roster.

In Launch, make the placeholder generic:

gnhf \
  --agent <agent> \

In the Agent section, replace the enumerated list with a pointer plus the selection heuristics that are genuinely skill-level advice:

The supported `--agent` roster comes from `gnhf --help`; the [Agents table](https://github.com/kunchenguid/gnhf#agents) in the README owns per-agent requirements. Do not hard-code the roster.

- Default to the agent the user explicitly requested, or the one already configured and authenticated locally.
- `codex`: repo-aware code work or review-heavy tasks.
- `claude`: reasoning-heavy implementation or prose-heavy planning when configured.
- `acp:<target>`: when the user wants to drive a custom ACP-compatible agent through GNHF.

This keeps the part of that section that is actual routing judgement (which agent suits which kind of task) and drops the part that is a duplicated inventory. The skill's own Launch section already instructs the agent to run gnhf --help before relying on flags, so the pointer is consistent with how the skill already tells agents to behave.

Why I am filing this

We run this skill downstream and made exactly this edit locally. Carrying a permanently diverging copy of your skill is the outcome I would rather avoid, so I would prefer the change live here. Happy to open a PR if you want it as one; filing as an issue first in case you would rather solve the duplication a different way, for example generating the roster line at build time from the same source as --help.

Context: the skill was added in #98, and the acp:<target-or-command> spec came from #110.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions