From dc636e44c8443b955f106ce937a35994cab15757 Mon Sep 17 00:00:00 2001 From: Ryan Ghods Date: Thu, 30 Apr 2026 12:17:02 -0700 Subject: [PATCH] fix: clawhub_slug is opensea-marketplace, not opensea/opensea-marketplace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Confirmed against a working agent manifest that successfully attached the skill — ClawHub slugs are flat (opensea-marketplace), not namespaced (opensea/opensea-marketplace). Fixed the slug in manifest.json and every doc reference (README, CONTRIBUTING, AGENTS.md, TOOLS.md). Updated the CI regex from ^[a-z0-9-]+/[a-z0-9-]+$ to ^[a-z0-9-]+$ to match the flat form. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/validate.yml | 2 +- CONTRIBUTING.md | 2 +- README.md | 6 +++--- manifest.json | 2 +- workspace/AGENTS.md | 2 +- workspace/TOOLS.md | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index ac98f0a..f3c1f5d 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -38,7 +38,7 @@ jobs: jq -e '.template.authorName | type == "string"' manifest.json > /dev/null # Skills shape — every entry needs clawhub_slug + name - jq -e 'all(.skills[]; .clawhub_slug | type == "string" and test("^[a-z0-9-]+/[a-z0-9-]+$"))' manifest.json > /dev/null + jq -e 'all(.skills[]; .clawhub_slug | type == "string" and test("^[a-z0-9-]+$"))' manifest.json > /dev/null jq -e 'all(.skills[]; .name | type == "string" and length > 0)' manifest.json > /dev/null # Scripts shape — build is required (start is optional) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5dc6bb9..13c60d4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contributing -This is the **template** for the NFT Collector Copilot agent on Pinata. The OpenSea skill it depends on lives in [`ProjectOpenSea/opensea-skill`](https://github.com/ProjectOpenSea/opensea-skill) and is published to ClawHub as `opensea/opensea-marketplace`. Skill changes do **not** belong here — open them against that repo. Template changes (workspace docs, manifest, README) belong here. +This is the **template** for the NFT Collector Copilot agent on Pinata. The OpenSea skill it depends on lives in [`ProjectOpenSea/opensea-skill`](https://github.com/ProjectOpenSea/opensea-skill) and is published to ClawHub as `opensea-marketplace`. Skill changes do **not** belong here — open them against that repo. Template changes (workspace docs, manifest, README) belong here. ## Repo layout diff --git a/README.md b/README.md index 4651233..bd0f7d0 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Supported chains: see `workspace/TOOLS.md`. Mainnets only by default. ## What's bundled - [`@opensea/cli`](https://github.com/ProjectOpenSea/opensea-cli) — installed globally at build time. -- [`opensea/opensea-marketplace`](https://clawhub.ai/opensea/opensea-marketplace) — attached via `manifest.json` → `skills` and mounted at `skills/opensea/`. SKILL.md + reference docs + shell scripts for Seaport, swaps, stream events, wallet setup, and policy templates. Pinata pulls the latest published version at deploy time. +- [`opensea-marketplace`](https://clawhub.ai/opensea-marketplace) — attached via `manifest.json` → `skills` and mounted at `skills/opensea/`. SKILL.md + reference docs + shell scripts for Seaport, swaps, stream events, wallet setup, and policy templates. Pinata pulls the latest published version at deploy time. ## Secrets you'll need @@ -74,7 +74,7 @@ Full walkthrough: `skills/opensea/references/wallet-setup.md`. Policy templates: ``` . -├── manifest.json # Pinata agent manifest — attaches opensea/opensea-marketplace from ClawHub +├── manifest.json # Pinata agent manifest — attaches opensea-marketplace from ClawHub ├── LICENSE # MIT ├── .openclaw/ │ ├── openclaw.json # OpenClaw harness config (compaction, concurrency) @@ -94,4 +94,4 @@ At deploy time Pinata attaches the OpenSea skill under `skills/opensea/` (SKILL. ## Updating the skill -Skill versions are managed on ClawHub, not in this template. To pick up a new version, no repo change is needed — Pinata pulls the latest published version of `opensea/opensea-marketplace` on each deploy. To pin to a specific version, replace `clawhub_slug` in `manifest.json` with a `cid` for that version. +Skill versions are managed on ClawHub, not in this template. To pick up a new version, no repo change is needed — Pinata pulls the latest published version of `opensea-marketplace` on each deploy. To pin to a specific version, replace `clawhub_slug` in `manifest.json` with a `cid` for that version. diff --git a/manifest.json b/manifest.json index 736ad5e..9ace64f 100644 --- a/manifest.json +++ b/manifest.json @@ -16,7 +16,7 @@ "authorLogoUrl": "https://static.seadn.io/logos/Logomark-Blue.png" }, "skills": [ - { "clawhub_slug": "opensea/opensea-marketplace", "name": "OpenSea" } + { "clawhub_slug": "opensea-marketplace", "name": "OpenSea" } ], "scripts": { "build": "npm install -g @opensea/cli" diff --git a/workspace/AGENTS.md b/workspace/AGENTS.md index 4f63718..357ecc8 100644 --- a/workspace/AGENTS.md +++ b/workspace/AGENTS.md @@ -13,7 +13,7 @@ workspace/ USER.md # About your human (filled on first run) MEMORY.md # Long-running free-text observations (create when useful) memory/ # Structured memory files (create on first write) -skills/opensea/ # Attached from ClawHub at deploy time (opensea/opensea-marketplace) +skills/opensea/ # Attached from ClawHub at deploy time (opensea-marketplace) ``` ## Memory Schemas diff --git a/workspace/TOOLS.md b/workspace/TOOLS.md index cde827e..4ca822f 100644 --- a/workspace/TOOLS.md +++ b/workspace/TOOLS.md @@ -5,7 +5,7 @@ _User-tunable. Edit this file to change what the agent watches, who it follows, ## Stack - **OpenSea CLI:** `@opensea/cli` — installed globally at build time. Use `opensea --help` for the command tree. -- **OpenSea skill:** `skills/opensea/` — attached from ClawHub (`opensea/opensea-marketplace`) at deploy time. +- **OpenSea skill:** `skills/opensea/` — attached from ClawHub (`opensea-marketplace`) at deploy time. - **Wallet:** Privy server wallet, env-configured (`PRIVY_APP_ID`, `PRIVY_APP_SECRET`, `PRIVY_WALLET_ID`). ## Watchlist