Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Comment thread
Rodriguespn marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -40,23 +40,15 @@ jobs:
if: ${{ steps.release.outputs.release_created }}
run: pnpm install --frozen-lockfile

- name: Package skill tarballs
- name: Build release artifacts
if: ${{ steps.release.outputs.release_created }}
run: |
mkdir -p dist

for skill_dir in skills/*; do
if [ -d "${skill_dir}" ]; then
skill_name=$(basename "${skill_dir}")
tar -czf "dist/${skill_name}.tar.gz" -C skills "${skill_name}"
fi
done
run: pnpm build:release

- name: Upload release assets
if: ${{ steps.release.outputs.release_created }}
env:
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
run: gh release upload ${{ steps.release.outputs.tag_name }} dist/*.tar.gz
run: gh release upload ${{ steps.release.outputs.tag_name }} dist/index.json dist/*.tar.gz

- name: Generate GitHub App token (supabase-community)
id: generate-token-plugin
Expand Down
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,23 @@ Each skill follows the [Agent Skills Open Standard](https://agentskills.io/):

- `SKILL.md` - Required skill manifest with frontmatter (name, description, metadata)
- `references/` - (Optional) Reference files for detailed documentation

## `.well-known` discovery

Each release uploads a `dist/index.json` alongside the skill tarballs. This index conforms to the [agent-skills `.well-known` URI spec](https://github.com/agentskills/agentskills/pull/254) (schema v0.2.0) and is consumed by `supabase.com` to serve skills at `https://supabase.com/.well-known/agent-skills/`.

The release artifacts are built by `scripts/build-release.ts` and triggered by [Release Please](https://github.com/googleapis/release-please) on every semver release.

### Migrating to the official GitHub Action

[`jonathanhefner/agentskills-build-for-well-known`](https://github.com/jonathanhefner/agentskills-build-for-well-known) is intended to be transferred to the `agentskills` org and published to the GitHub Marketplace. When that happens, `scripts/build-release.ts` and the `pnpm build:release` step in `release-please.yml` can be replaced with the Action directly:

```yaml
- name: Build release artifacts
uses: agentskills/build-for-well-known@v1 # replaces pnpm build:release
with:
skills-dir: skills
output-dir: dist
```

Everything else — the Release Please trigger, the upload step, the supabase-plugin dispatch — stays exactly the same. The script and the Action produce identical output, so it is a drop-in swap.
9 changes: 8 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,18 @@
"author": "Supabase",
"license": "MIT",
"description": "Official Supabase agent skills",
"type": "module",
"scripts": {
"test": "vitest run",
"test:sanity": "vitest run test/sanity.test.ts"
"test:sanity": "vitest run test/sanity.test.ts",
"build:release": "tsx scripts/build-release.ts"
},
"devDependencies": {
"@types/node": "^22.0.0",
"gray-matter": "^4.0.3",
"tar": "^7.5.15",
"tsx": "^4.21.0",
"typescript": "^6.0.0",
"vitest": "^4.1.4"
}
}
Loading