Skip to content

feat: parseResolverEntries supports list-based resolver format#1370

Open
garrytan-agents wants to merge 1 commit into
garrytan:masterfrom
garrytan-agents:fix/resolver-list-format
Open

feat: parseResolverEntries supports list-based resolver format#1370
garrytan-agents wants to merge 1 commit into
garrytan:masterfrom
garrytan-agents:fix/resolver-list-format

Conversation

@garrytan-agents
Copy link
Copy Markdown
Contributor

Problem

parseResolverEntries only handles markdown table format:

| trigger | `skills/name/SKILL.md` |

But OpenClaw agents use a compact list format:

- **skill-name**: trigger1 | trigger2 | trigger3

This causes checkResolvable to find 0 reachable skills → 238 FAIL errors in gbrain doctor.

Fix

Adds a second parser branch for list-format entries. Both formats are handled in the same pass:

  • Format 1 (table): | trigger | \skills/name/SKILL.md` |` — unchanged
  • Format 2 (list): - **name**: trigger1 | trigger2 — new
    • Bold or plain skill names
    • Pipe-delimited triggers
    • Optional → \skills/...`` suffix (stripped)
    • Ellipsis markers filtered

Table format continues to work identically. Tested against both formats.

Impact

  • gbrain doctor resolver_health: FAIL (238 errors) → 0 errors
  • No changes needed to existing table-format resolvers
  • OpenClaw compact resolvers now work out of the box

OpenClaw compact resolver format uses markdown lists instead of tables:

  - **skill-name**: trigger1 | trigger2 | trigger3
  - skill-name: trigger phrase

This is the format OpenClaw agents actually use. The table format
(| trigger | skill path |) continues to work — both formats are
parsed in the same pass.

Handles:
- Bold skill names: - **name**: triggers
- Plain skill names: - name: triggers
- Pipe-delimited triggers: trigger1 | trigger2 | trigger3
- Optional path suffix: → `skills/<name>/SKILL.md` (stripped)
- Ellipsis markers: ... (filtered out)
- Section headings: ## Section Name (tracked as before)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant