Skip to content

feat: /skill.md agent-optimized service catalog#266

Open
bussyjd wants to merge 2 commits intomainfrom
feat/marketplace-page
Open

feat: /skill.md agent-optimized service catalog#266
bussyjd wants to merge 2 commits intomainfrom
feat/marketplace-page

Conversation

@bussyjd
Copy link
Collaborator

@bussyjd bussyjd commented Mar 13, 2026

Summary

  • /skill.md endpoint: Dynamic, agent-optimized markdown document served at the tunnel root, aggregating all Ready ServiceOffers into a structured catalog with x402 payment instructions, per-service details, curl examples, and USDC contract references.
  • Frontend v0.1.13: Fixes Cannot read properties of undefined (reading 'map') crash in AgentRegistry when 8004scan API returns agents with undefined supported_protocols/supported_trust_models.

How it works

The monetize reconciler (monetize.py) now publishes /skill.md on every heartbeat cycle using the proven busybox httpd pattern (ConfigMap + Deployment + Service + HTTPRoute). The document regenerates automatically as ServiceOffers are created/deleted/updated.

Resources deployed in openclaw-obol-agent namespace:

  • obol-skill-md ConfigMap (markdown content + httpd.conf for text/markdown MIME)
  • obol-skill-md Deployment (busybox httpd with content-hash annotation for auto-rollout)
  • obol-skill-md Service (ClusterIP)
  • obol-skill-md-route HTTPRoute (Exact /skill.md, public, no ForwardAuth)

No RBAC changes needed — existing openclaw-monetize-workload ClusterRole covers all resources.

Test plan

  • curl -sI https://<tunnel>/skill.md returns Content-Type: text/markdown
  • Document lists all Ready ServiceOffers with correct endpoints and pricing
  • Document regenerates when offers are added/removed
  • Empty state shows "No services currently available"
  • Frontend loads without crash on AgentRegistry page

bussyjd added 2 commits March 13, 2026 16:43
… v0.1.13

Add dynamic /skill.md endpoint aggregating all Ready ServiceOffers into
structured markdown for AI agent consumption. Includes x402 payment
instructions, per-service details, curl examples, and USDC contract refs.

- _build_skill_md(): generates markdown from Ready ServiceOffer items
- _publish_skill_md(): deploys ConfigMap + busybox httpd + Service + HTTPRoute
  in openclaw-obol-agent namespace (no ownerRefs, aggregate resource)
- Hooked into cmd_process() at all exit paths (no offers, all ready, post-reconcile)
- Content-hash annotation triggers pod rollout on content changes
- busybox httpd.conf for text/markdown MIME type

Also bumps frontend to v0.1.13 (fixes AgentRegistry crash on undefined
supported_protocols/supported_trust_models from 8004scan API).
@bussyjd bussyjd requested a review from OisinKyne March 13, 2026 16:23
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