#Skills Missing Requirements—how to fix?

34 messages · Page 1 of 1 (latest)

neat lance
#

HI @zealous wigeon OpenClaw says that several skills are missing requirements. I'm unable to find in the docs how to resolve this. Let's focus on coding-agent. What do I need to do to resolve the missing requirements and enable these skills?

openclaw skills check

Here's the response from that command:
`Skills Status Check

Total: 59
✓ Eligible: 22
⏸ Disabled: 27
🚫 Blocked by allowlist: 0
✗ Missing requirements: 10
[...]
Missing requirements:
📦 clawhub (bins: clawhub)
🧩 coding-agent (anyBins: claude, codex, opencode, pi)
🎮 discord (config: channels.discord.token)
🧲 gifgrep (bins: gifgrep)
📦 mcporter (bins: mcporter)
📊 model-usage (bins: codexbar)
🌐 openai-whisper-api (env: OPENAI_API_KEY)
👀 peekaboo (bins: peekaboo)
🔉 sherpa-onnx-tts (env: SHERPA_ONNX_RUNTIME_DIR, SHERPA_ONNX_MODEL_DIR)
📞 voice-call (config: plugins.entries.voice-call.enabled)`

high knotBOT
polar falconBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

high knotBOT
zealous wigeonBOT
#

Let me verify the docs and the skill metadata so I can give you the exact fix for coding-agent, not a guess.

#

Quick first check, can you paste openclaw --version? There have been a lot of recent skills changes.

For coding-agent, this part is the key:

anyBins: claude, codex, opencode, pi

That means the skill is already present, but OpenClaw cannot find any supported coding CLI on your PATH.

So to enable coding-agent, install one of these and make sure the command is available in your shell:

pnpm add -g @openai/codex
# or
pnpm add -g @anthropic-ai/claude-code
# or
pnpm add -g @mariozechner/pi-coding-agent
#

Then verify:

which codex   # or: which claude / which pi
openclaw skills info coding-agent
openclaw skills check

If the binary is found, coding-agent should move from Missing requirements to Eligible.
You do not need a separate “enable” flag for this one, unless you’ve also restricted skills via allowlists.

General rule for the rest of that report:

  • bins: install that binary
  • anyBins: install any one of those binaries
  • env: set that environment variable
  • config: add that key in ~/.openclaw/openclaw.json
neat lance
#

version: OpenClaw 2026.4.2 (d74a122). Also, after I installed codex (
brew install --cask codex), openclaw skills check no longer shows a missing requirement for coding-agent!

Please explain the pi bin that relates to coding-agent and why I should consider installing that binary in addition to codex.

zealous wigeonBOT
#

I’m checking the repo so I can explain pi accurately and not hand-wave it.

#

Nice, that means the skill is working exactly as intended.

coding-agent declares:

  • anyBins: claude, codex, opencode, pi

So any one of those binaries is enough. Since you installed codex, the requirement is satisfied, which is why it disappeared from “Missing requirements”.

About pi specifically:

  • pi is the CLI binary for Pi Coding Agent
  • in this skill, it is just another supported coding CLI, alongside Codex / Claude Code / OpenCode
  • it is not required in addition to Codex

So the honest answer is: if Codex already does what you want, I would not install pi just for the sake of it.

Reasons you might want pi anyway:

#
  • you want a second coding agent available as a fallback
  • you want more direct provider/model switching from the CLI, for example the skill docs show:
    • pi --provider openai --model gpt-4o-mini -p '...'
  • you prefer Pi’s workflow or want to experiment with it separately from Codex

If you ever do want it, the skill docs point to:

pnpm add -g @mariozechner/pi-coding-agent

One subtle thing, because the naming is confusing: OpenClaw also talks about PI internally as an embedded runtime/fallback in some docs. But in your skills check output, pi means the external pi command on PATH, nothing more.

Docs:

#

Glad we caught this one fast 🦐
If this fixed it, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow can index it.

neat lance
#

@zealous wigeon there's one more missing requirement that is a bit cryptic, because I have a multi-agent config and each agent has its own token. Both agents are running ok in Discord.

Missing requirements:
:video_game: discord (config: channels.discord.token)


Config snippet:

"channels": {
    "discord": {
      "groupPolicy": "allowlist",
      "enabled": true,
      "allowBots": true,
      "accounts": {
        "default": {
          "token": "__REDACTED__",
          "guilds": {
            "__REDACTED__": {
              "requireMention": true,
              "users": [
                "__REDACTED__",
                "__REDACTED__"
              ]
            }
          }
        },
        "agent2": {
          "token": "__REDACTED__",
          "guilds": {
            "__REDACTED__": {
              "requireMention": true,
              "users": [
                "__REDACTED__",
                "__REDACTED__"
              ]
            }
          }
        }
      },

My ask for you, Krill:
Please explain what's causing the missing requirement message for Discord and if there's something I need to do to resolve it.

zealous wigeonBOT
#

Let me verify the Discord skill’s gating and the actual Discord config shape, because this smells like a mismatch between the skill check and multi-account config.

#

Yep, this one looks cryptic because it’s really a skill-gating mismatch, not a Discord channel failure.

What’s happening:

  • the bundled discord skill currently declares this requirement:
    • channels.discord.token
  • but your multi-account setup stores tokens here:
    • channels.discord.accounts.default.token
    • channels.discord.accounts.agent2.token

So openclaw skills check is checking the single-account top-level key, while your config is using the account-scoped multi-account keys. That is why you still see:

  • discord (config: channels.discord.token)

even though Discord itself is clearly working.

A few important clarifications:

#
  • this does not mean your Discord channel config is broken
  • it means the Discord skill is being marked ineligible
  • that skill is just extra guidance for using the message tool with channel=discord, it is not the channel runtime itself

So, do you need to do anything?

  • If Discord is already working for both agents, probably no
  • I would not add a duplicate top-level channels.discord.token just to silence the skill check, because that starts mixing single-account and multi-account shapes

My read is that this is a current limitation / bug in the skill metadata, because the docs do support account-scoped Discord tokens in multi-account setups.

Relevant docs:

So the short version is:

#
  • Cause: the discord skill only checks channels.discord.token
  • Your config: valid multi-account config under channels.discord.accounts.*.token
  • Need to fix? not unless you specifically need that skill to become eligible
  • Best next step: leave config as-is, and file a GitHub issue so the skill gate can be updated to understand multi-account Discord config

If you want, I can help you write the exact GitHub issue text for this in one message.

neat lance
#

Yes, please Krill. This is the kind of small issue that can drive a person absolutely batty. Let's report it.

zealous wigeonBOT
#

Yep, that kind of paper cut is maddening 😅 I can’t open the issue for you, but here’s a paste-ready one for https://github.com/openclaw/openclaw/issues/new:

Title

skills check: bundled discord skill reports missing channels.discord.token in valid multi-account Discord config

Body

## Summary

`openclaw skills check` reports the bundled `discord` skill as missing:

- `discord (config: channels.discord.token)`

But Discord is already configured and working correctly in a multi-account setup where tokens live under:
#

- `channels.discord.accounts.default.token`
- `channels.discord.accounts.<id>.token`

This makes the skill check look broken/confusing in valid multi-account configs.

## Version

```bash
openclaw --version
OpenClaw 2026.4.2 (d74a122)

What I expected

#
If Discord is configured via multi-account tokens, I would expect the bundled `discord` skill to be considered eligible, or at least not report `channels.discord.token` as missing.

## What actually happens

`openclaw skills check` shows:

```text
Missing requirements:
  🎮 discord (config: channels.discord.token)

even though both Discord accounts are working normally.

Repro

#
1. Configure Discord using account-scoped tokens only, for example:

```json5
{
  "channels": {
    "discord": {
      "enabled": true,
      "accounts": {
        "default": {
          "token": "__REDACTED__"
        },
        "agent2": {
          "token": "__REDACTED__"
        }
      }
    }
#

}
}


2. Start OpenClaw and verify both Discord accounts are working.
3. Run:

```bash
openclaw skills check

Result

The bundled discord skill is reported as missing:

discord (config: channels.discord.token)
#

## Why this seems wrong

The bundled skill currently appears to gate on the single-account key:

- `channels.discord.token`

But the docs support multi-account Discord config with tokens under:

- `channels.discord.accounts.<id>.token`

So this looks like a mismatch between skill gating and valid channel config shapes.

## Notes
#
Relevant places I found while debugging:

- `skills/discord/SKILL.md` currently requires:
  - `channels.discord.token`
- Docs mention multi-account Discord tokens under:
  - `channels.discord.accounts.<id>.token`

## Suggested fix

Any of these would make sense:

1. Update the bundled `discord` skill gating so multi-account Discord config satisfies it
2. Treat `channels.discord.accounts.*.token` as satisfying the requirement
3. Adjust `skills check` messaging so it doesn't report a false missing requirement for valid multi-account setups
#

If you want, I can also tighten that into a shorter maintainer-style version.

neat lance
#

You do excellent work, Krill. I'll mark this as solved. Thanks for holding my claw through this.

zealous wigeonBOT
#

Aw, thank you, that made my day 🦐

I’m glad we pinned it down. Those tiny config mismatches are the worst.

And thank you for marking it solved, that really helps future folks via Answer Overflow.

neat lance
#

Krill, one more question: Are there any related issues which I can tag / comment on to connect dots for maintainers?

zealous wigeonBOT
#

Let me check whether there’s already an issue nearby so you don’t create duplicate noise.

#

I found a few nearby Discord multi-account issues. I’m opening the most relevant ones so I don’t send you on a wild goose chase.

#

I looked, and I didn’t find an exact duplicate for this specific skills check mismatch.

The closest related ones are:

  • https://github.com/openclaw/openclaw/issues/22938
    Bug: Discord ack reaction silently fails with named accounts (no "default" account)
    This is the closest conceptual match. It’s another case where Discord logic falls back toward channels.discord.token / "default" even though the real setup uses channels.discord.accounts.<id>.token.

  • https://github.com/openclaw/openclaw/issues/50411
    bug: pin/unpin/listPins Discord actions fail with SecretRef token accounts
    Also related if your tokens are account-scoped and especially if they’re SecretRefs. Different symptom, same neighborhood of “account token handling is a little uneven”.

Historical context, but I would not tag these unless you really want background:

#

Those were older “please add multi-account Discord” requests. Since multi-account now exists, they feel more like archaeology than the right place to connect dots.

My recommendation:

  • open a new issue for the discord skill gating mismatch
  • in that new issue, add a short line like:
Possibly related:
- #22938, another Discord multi-account path that falls back to channels.discord.token / "default"
- #50411, account-scoped Discord token handling inconsistency with SecretRefs

That gives maintainers breadcrumbs without making it look like a duplicate.