-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Skill config requirements with object format show "[object Object]" instead of proper values #79488
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.staleMarked as stale due to inactivityMarked as stale due to inactivity
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.staleMarked as stale due to inactivityMarked as stale due to inactivity
Type
Fields
Priority
None yet
Bug type
CLI / Skill parsing
Summary
When a SKILL.md defines
requires.configusing the object format (withpath,access,purposeproperties), theopenclaw skills infocommand incorrectly serializes the config requirement as"[object Object]", and the skill is marked aseligible: false/blockedeven though the config file exists and is readable.Reproduction
requires.configentry in object format:openclaw skills info example-skill --agent main --jsonActual behavior
{ "name": "example-skill", "eligible": false, "requirements": { "config": ["[object Object]"] }, "missing": { "config": ["[object Object]"] }, "configChecks": [ { "path": "[object Object]", "satisfied": false } ] }The skill shows as
blockedin the UI / CLI.Expected behavior
The config requirement should be parsed as an object with
path,access, andpurposeproperties, and the path check should validate correctly against the filesystem.Root cause analysis
Looking at the source code:
src/shared/frontmatter.ts—resolveOpenClawManifestRequires()callsnormalizeStringList(requiresRaw.config)src/shared/string-normalization.ts—normalizeStringEntries()usesString(entry)which converts objects to"[object Object]"src/shared/requirements.ts—Requirements.configis typed asstring[], not supporting objectsThe
configfield inrequiressupports object format per the documentation/schema, but the normalization and type definitions only handle string values.Environment
2026.5.7 (eeef486)Workaround
None known. The skill still functions correctly at runtime (the plugin loads via npm), but the status display and eligibility check are broken.
Related
openclaw doctoralso reports this skill as having missing requirements due to the same bug.