Skip to content

webcmd-adapter-author skill: root webcmd-plugin.json step is documented but skippable — should be enforced, not optional #222

Description

@ngaurav

Correction

I originally filed this suggesting the root webcmd-plugin.json registration step might be unnecessary and could be removed from the skill. That was the wrong read — flagging the correction: the fix should go the other way. The step is meant to be mandatory whenever a plugin is promoted into the repo; the actual bug is that the skill lets it be silently skipped with no error and no warning.

What the skill says

references/adapter-template.md in the webcmd-adapter-author skill documents this promotion sequence for turning a private CLI into a repo plugin (also referenced from SKILL.md line 260):

webcmd plugin create <site> --dir plugins/<site> --description "<site> commands for Webcmd"
cp ~/.webcmd/clis/<site>/*.js plugins/<site>/
rm plugins/<site>/hello.ts plugins/<site>/greet.ts 2>/dev/null || true

Then add <site> to the root webcmd-plugin.json plugins map:

"<site>": {
  "path": "plugins/<site>",
  "version": "0.1.0",
  "description": "<site> commands for Webcmd",
  "webcmd": ">=0.2.0"
}

What actually happens

Across three independent adapter builds in the same repo (manchester, warwick, mdxdubai), the root-manifest step was skipped every single time. Nothing in webcmd plugin create, webcmd plugin install file://..., or webcmd validate <site> errors, warns, or otherwise signals that a required step was missed — the commands all succeed and the plugin works, so there's no feedback loop that would catch the omission. The repo now has three plugins/<site>/webcmd-plugin.json files (one per plugin) but no root-level webcmd-plugin.json registering any of them.

Why this matters

The skill presents the root-manifest edit as a required part of the promotion sequence, but nothing enforces it — an agent (or a human following the same doc) can complete the entire promotion flow, see every command succeed, and never know the repo-level registration was left out. That's a silent, discoverable-only-by-omission gap, which is worse than either (a) the tooling itself failing loudly if the manifest is missing, or (b) the skill treating it as a real checklist item with a verification step.

Suggested fix

  • Add an explicit verification step to adapter-template.md right after the root-manifest edit — e.g. grep -q '"<site>"' webcmd-plugin.json || echo "MISSING: <site> not registered in root webcmd-plugin.json" — so an agent following the skill has to actively confirm the step landed, not just perform an edit and move on.
  • Consider whether webcmd validate <site> or webcmd plugin install could themselves warn when a plugin exists under plugins/<site> but isn't listed in a root webcmd-plugin.json, so the gap is caught by tooling instead of relying on an agent following documentation to the letter.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions