Skip to content

Commit bbdea5e

Browse files
zebastienethclaude
andcommitted
docs: plain-text provider question, current provider list, weekly docs-drift check
- Ask for the provider as a plain-text question instead of a structured option picker (option caps and required descriptions mangle the list) - Add GoldRush and Moralis to the frontmatter provider list - Add a weekly GitHub Action that compares the SKILL.md provider list against the live migration hub and opens an issue on drift Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 86f00b7 commit bbdea5e

2 files changed

Lines changed: 62 additions & 2 deletions

File tree

.github/workflows/docs-drift.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: docs-drift
2+
3+
# SKILL.md fetches all endpoint mappings from developers.zerion.io at run time,
4+
# so the only part that can go stale is the provider list in the frontmatter
5+
# description (it drives skill triggering before the docs are ever fetched).
6+
# This check compares that list against the live migration hub weekly.
7+
8+
on:
9+
schedule:
10+
- cron: "0 6 * * 1"
11+
workflow_dispatch:
12+
13+
permissions:
14+
contents: read
15+
issues: write
16+
17+
jobs:
18+
check:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- name: Compare SKILL.md provider list with the live docs
24+
id: drift
25+
run: |
26+
curl -sf https://developers.zerion.io/migrate-to-zerion.md -o hub.md
27+
providers=$(grep -o 'title="From [^"]*"' hub.md | sed 's/^title="From //; s/"$//' | sort -u)
28+
count=$(echo "$providers" | grep -c . || true)
29+
if [ "$count" -lt 3 ]; then
30+
echo "Extracted only $count providers from the hub page; its markup likely changed. Fix the grep in this workflow."
31+
exit 1
32+
fi
33+
missing=""
34+
while IFS= read -r p; do
35+
grep -qF "$p" SKILL.md || missing="$missing- $p"$'\n'
36+
done <<< "$providers"
37+
if [ -n "$missing" ]; then
38+
{
39+
echo "missing<<EOF"
40+
printf '%s' "$missing"
41+
echo "EOF"
42+
} >> "$GITHUB_OUTPUT"
43+
echo "Providers on the migration hub but absent from SKILL.md:"
44+
printf '%s' "$missing"
45+
exit 1
46+
fi
47+
echo "SKILL.md provider list matches the migration hub ($count providers)."
48+
49+
- name: Open issue on drift
50+
if: failure() && steps.drift.outputs.missing != ''
51+
env:
52+
GH_TOKEN: ${{ github.token }}
53+
MISSING: ${{ steps.drift.outputs.missing }}
54+
run: |
55+
title="SKILL.md provider list is behind developers.zerion.io"
56+
if gh issue list --state open --search "in:title \"$title\"" --json number --jq length | grep -qv '^0$'; then
57+
echo "Drift issue already open, skipping."
58+
exit 0
59+
fi
60+
gh issue create --title "$title" --body "$(printf 'The migration hub lists providers missing from the SKILL.md frontmatter description:\n\n%s\nUpdate the description so the skill still triggers on these provider names.\n\nHub: https://developers.zerion.io/migrate-to-zerion\n' "$MISSING")"

SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: zerion-api-migration
33
description: >
44
Migrates a codebase off any wallet-data provider covered by Zerion's migration guides
5-
(currently Zapper, Dune SIM, DeBank, Allium, OneBalance; the canonical list lives at
5+
(currently Zapper, Dune SIM, DeBank, Allium, OneBalance, GoldRush, Moralis; the canonical list lives at
66
developers.zerion.io/migrate-to-zerion) onto the Zerion REST API. Provider-agnostic:
77
fetches the endpoint parity tables, field mappings, and code samples from
88
developers.zerion.io at run time, so it always reflects the latest docs. Inventories
@@ -45,7 +45,7 @@ Links inside a guide are relative docs paths (e.g. `/api-reference/wallets/get-w
4545
Fetch `https://developers.zerion.io/migrate-to-zerion.md` to get the current list of supported providers and their guide URLs.
4646

4747
- If the user already named a provider on the list, use its guide without asking.
48-
- Otherwise, ask the user to pick their provider from the fetched list (one question, one answer; include an "other" option). Each option is the provider name only, with no description at all — no feature summaries, sunset dates, or guide slugs; those come later from the guide itself. Don't try to auto-detect the provider from the codebase.
48+
- Otherwise, ask which provider they're on as a plain-text chat question listing every provider name from the fetched list, and note that any other provider is fine to name too. Don't use a structured option-picker tool for this (option caps and required descriptions mangle the list); just ask in prose and wait for the answer. List provider names only — no feature summaries, sunset dates, or guide slugs; those come later from the guide itself. Don't try to auto-detect the provider from the codebase.
4949
- If the provider isn't on the list, there is no guide to follow. Offer a best-effort manual migration using the [API reference](https://developers.zerion.io/api-reference) and tell the user to contact api@zerion.io (or the chat widget on dashboard.zerion.io) so Zerion can help directly and consider adding a guide.
5050

5151
If the guide opens with a discount or sunset note (many do), relay it to the user verbatim.

0 commit comments

Comments
 (0)