#agent not seeing skill

1 messages · Page 1 of 1 (latest)

proven mirage
#

I've installed agentmail as a skill but the agent is not seeing it

blazing narwhalBOT
#

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

hoary hareBOT
#

First check: what does openclaw --version show?

For missing skills, the usual culprits are:

  1. Installed into the wrong workspace/agent. Run:
openclaw skills list --agent <your-agent-id> --verbose
openclaw skills check --agent <your-agent-id>

If you don’t know the agent id, try openclaw agents list first.

  1. The agent has a skill allowlist. If agents.defaults.skills or agents.list[].skills is set, only those skills are visible. A per-agent skills list replaces defaults; it doesn’t merge. Add agentmail there, or remove the allowlist if you want unrestricted skills.

  2. Existing sessions don’t always pick up newly installed skills. Start a new session/thread after installing. openclaw skills install <slug> installs into the active workspace’s skills/, and OpenClaw sees that on the next session.

  3. The skill may be gated by missing env/binaries/config in its SKILL.md metadata. openclaw skills check --agent <id> should call that out.

proven mirage
#

OpenClaw 2026.5.7

hoary hareBOT
#

2026.5.7 should be fine for skills. Next thing I’d check is whether OpenClaw thinks agentmail is eligible for that specific agent:

openclaw skills info agentmail --agent <agent-id>
openclaw skills check --agent <agent-id>
openclaw skills list --agent <agent-id> --verbose

If agentmail is listed but not visible to the agent, start a fresh session/thread — skills are snapshotted when a session starts, so installing mid-session can look like “the agent can’t see it.”

If it’s not listed, it’s almost always one of:

  • installed into a different workspace/agent (openclaw skills install agentmail --agent <agent-id> fixes that)
  • blocked by agents.defaults.skills / agents.list[].skills allowlist
  • gated by missing env/config/binary declared in the skill metadata

Paste the output of openclaw skills check --agent <agent-id> if you want and I’ll help decode it. Docs: https://docs.openclaw.ai/tools/skills

proven mirage
#

If I run this is says it is there openclaw skills list --agent dba-scout

hoary hareBOT
#

Good, that narrows it down: the skill is installed in the right agent workspace.

Now check whether it’s actually ready/visible, not just present:

openclaw skills check --agent dba-scout
openclaw skills info agentmail --agent dba-scout

Also: if the session already existed before you installed it, start a brand-new session/thread with dba-scout. Skills are snapshotted at session start, so an old session can keep acting like the skill doesn’t exist.

One more gotcha: if agentmail needs an API key/env var, list can still show it while check reports it gated/missing. If the output says missing env/config/binary, that’s the thing to fix.

proven mirage
#

it says
Skill "agentmail" not found. Run openclaw skills list to see available skills.

hoary hareBOT
#

Ah — that means list is showing something, but its actual SKILL.md name / skillKey is not exactly agentmail.

skills info is exact-match and case-sensitive. Try this to see the real name OpenClaw has loaded:

openclaw skills list --agent dba-scout --json | jq -r '.skills[] | [.name, .skillKey, .source, .eligible] | @tsv'

Then run info with the exact .name or .skillKey from that output, e.g. if it says agent-mail or Agent Mail, use:

openclaw skills info 'EXACT_NAME_HERE' --agent dba-scout

If you paste the one line from that JSON output for the agentmail-looking skill, I can tell you the exact command/config entry to use.

proven mirage
#

-bash: jq: command not found

hoary hareBOT
#

No worries — use Node instead (OpenClaw already needs Node):

openclaw skills list --agent dba-scout --json | node -e "let s='';process.stdin.on('data',d=>s+=d);process.stdin.on('end',()=>{for (const x of JSON.parse(s).skills) console.log([x.name,x.skillKey,x.source,x.eligible].join('\t'))})"

Or the simpler visual version:

openclaw skills list --agent dba-scout --verbose

Look for the exact name in the Skill column, then use that exact text with openclaw skills info 'name here' --agent dba-scout.

proven mirage
#

i get a list but agentmail is not in it

hoary hareBOT
#

Got it — then agentmail is not visible to dba-scout at all. Earlier openclaw skills list --agent dba-scout probably showed a list of other skills.

Install it specifically for that agent:

openclaw skills install agentmail --agent dba-scout
openclaw skills list --agent dba-scout --verbose

Then start a new session/thread with dba-scout so it gets a fresh skills snapshot.

If install says it’s already installed, check where it landed:

find ~/.openclaw ~/.agents -path '*/SKILL.md' -maxdepth 6 2>/dev/null | grep -i agent
#

Most likely it was installed into the default/current workspace, not the dba-scout workspace. The --agent dba-scout install should put it in the right place.

proven mirage
#

The skill is now intalled and visible to the agent, if I prompt it to send an email though it initially says I don't have a direct email tool configured

hoary hareBOT
#

That usually means the agent sees the skill instructions, but it does not have an actual email-sending tool exposed.

Skills don’t automatically create new core tools like email.send; they either:

  • teach the agent to use existing tools, often exec/CLI or browser, or
  • expose a slash command if the skill is written that way, or
  • document an external API workflow that still needs env/config.

Check what agentmail is expecting:

openclaw skills info agentmail --agent dba-scout

Look for:

  • required env/config/API key
  • allowed-tools in the skill frontmatter
  • whether it expects exec or a specific command
#
  • whether it defines command-dispatch

If it expects exec, make sure dba-scout is allowed to use exec in tools.allow. If it expects an API key, add it under skills.entries.agentmail.env / apiKey, then start a new session.

Also try prompting explicitly once:

Use the agentmail skill to send an email to ...

If it still says “no direct email tool,” paste the openclaw skills info agentmail --agent dba-scout output — especially the Details / Requirements bits — and I’ll help map it to the missing config.

proven mirage
#

Is there something I can place in the agents files that will tell it to use this skill for sending emails

hoary hareBOT
#

Yes — put a small routing rule in that agent’s workspace AGENTS.md. That’s the right place for “when the user asks X, prefer Y” behavior.

Example:

## Email

When the user asks to send, draft, check, or manage email, use the `agentmail` skill. Do not say there is no direct email tool until you have first checked the `agentmail` skill instructions and attempted the workflow it describes.

For outbound email: draft the message, show recipient/subject/body, and ask for confirmation before sending unless the user explicitly already approved sending.

If you’re not sure where dba-scout’s workspace is:

openclaw agents list --json
#

Then edit the AGENTS.md in that workspace, start a new session/thread, and test with something explicit like “Use the agentmail skill to draft an email…”.

One caveat: this only guides model behavior. If agentmail depends on exec, browser, or env vars/API keys, those still need to be allowed/configured separately.