Skip to content

feat(docs): Agent Skills registry + Templates gallery - #36

Open
alexander-sei wants to merge 15 commits into
mainfrom
docs/skills-registry-and-templates
Open

feat(docs): Agent Skills registry + Templates gallery#36
alexander-sei wants to merge 15 commits into
mainfrom
docs/skills-registry-and-templates

Conversation

@alexander-sei

@alexander-sei alexander-sei commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

Agent Skills registry — generated from sei-skill

  • 8 Foundation skills under .mintlify/skills/<name>/SKILL.mdsei-contracts, sei-frontend, sei-precompiles, sei-nodes, sei-payments, sei-security, sei-bridges, sei-migration. Mintlify serves these at /.well-known/skills/, installable via npx skills add https://docs.sei.io.
  • Canonical source is sei-protocol/sei-skill — skill content is never hand-authored here. The committed files are generated from sei-skill@0ce5ace (post-docs(node): sync default configs from seid v6.5.1 #9: SIP-3 bridges/IBC, oracle precompile retired, Hardhat 3 + OZ upgrades v4, current gas facts, LayerZero V2 only) via scripts/build-mintlify-skills.mjs, each stamped with a GENERATED FROM sei-protocol/sei-skill@<ref> banner.
  • Enforced by CI: a new validate-docs step fails any SKILL.md missing the generated marker, so divergent hand-edits can't land. .github/workflows/sync-skills.yml regenerates on demand (workflow_dispatch, or repository_dispatch type sei-skill-release) and opens a review PR; fixed to stage before diffing so brand-new skill files are detected.
  • Registry page at /ai/skills with a filterable card grid (snippets/skills-registry.jsx), a per-skill copy-install command, and a community-skills CTA (community skills are hosted on their own docs sites and listed here — not committed to this repo).

Generation verification

  • Every hex constant grep-matched verbatim against its sei-skill source bundle; no invented addresses/values.
  • All 49 unique docs.sei.io links map to existing pages in this repo and returned HTTP 200 live.
  • No dropped content reintroduced (no Axelar, no LayerZero v1 API, no Seitrace, native oracle only as retired/reverting).
  • Frontmatter + marker validated on all 8; registry card ids match skill directories.

Templates gallery

  • Gallery at /evm/templates (next to create-sei) listing the real @sei-js/create-sei entries — the Next.js + wagmi template and the precompiles extension — each with a working one-command scaffold.

Navigation + redirects (docs.json)

  • Added ai/skills and evm/templates to the nav.
  • Redirects /skills → /ai/skills and /templates → /evm/templates.

Notes

  • Skills link to live docs for governance-adjustable params (gas, deposits) rather than hardcoding values that can change.
  • .gitignore: .mintlify/ is the Mintlify CLI's local cache and was fully ignored. Changed to .mintlify/* + !.mintlify/skills/ so the skills subtree ships while the cache stays ignored.
  • Follow-ups (separate repos/settings, not this PR): add a release workflow to sei-skill that sends the sei-skill-release repository dispatch, and set the ANTHROPIC_API_KEY repo secret for sync-skills.yml.

🤖 Generated with Claude Code

Closes the P1 #4 (Agent Skills registry) and P1 #5 (Templates gallery)
gaps from the Sei-vs-Solana docs review.

Skills (P1 #4):
- 6 Foundation skills under .mintlify/skills/<name>/SKILL.md
  (sei-contracts, sei-frontend, sei-precompiles, sei-nodes,
  sei-payments, sei-security), installable via `npx skills add docs.sei.io`
  and served at /.well-known/skills/.
- Registry page at /ai/skills with a filterable grid
  (snippets/skills-registry.jsx) and one-command install.
- .gitignore: un-ignore .mintlify/skills/ so the skills deploy
  (the rest of .mintlify/ stays ignored as a local cache).

Templates (P1 #5):
- Gallery at /evm/templates listing the real @sei-js/create-sei
  entries only (Next.js + wagmi template, precompiles extension) —
  no fabricated demos or screenshots.

Nav + redirects (docs.json): add ai/skills and evm/templates;
redirect /skills -> /ai/skills and /templates -> /evm/templates.

SSTORE gas is cited as 72,000 (same on both networks, governance
Proposal #109), consistent with /evm/differences-with-ethereum.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
sei-docs 🟢 Ready View Preview Jun 27, 2026, 6:05 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@cursor

cursor Bot commented Jun 27, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Mostly docs, generated skill artifacts, and workflow changes; no runtime app or auth changes. Risk is mainly broken links/MDX or a bad generated skill batch until human review on sync PRs.

Overview
Adds hosted Foundation agent skills under .mintlify/skills/ (eight domain SKILL.md files generated from sei-protocol/sei-skill), discoverable via Mintlify at /.well-known/skills/ and installable with npx skills add https://docs.sei.io.

Registry & nav: New /ai/skills page with a filterable SkillsRegistry UI; docs.json adds ai/skills and evm/templates, plus redirects from /skills and /templates.

CI & generation: scripts/build-mintlify-skills.mjs flattens sei-skill sources into Mintlify skills; .github/workflows/sync-skills.yml regenerates on dispatch and opens a PR (ANTHROPIC_API_KEY). validate-docs rejects hand-edited skills without the GENERATED FROM sei-protocol/sei-skill marker; link-check documents MDX constraints for generated skills. .gitignore tracks .mintlify/skills/ while ignoring the rest of .mintlify/.

Templates: New /evm/templates gallery for @sei-js/create-sei (default Next.js + wagmi stack and precompiles extension); create-sei docs updated to the current stack versions.

Doc fixes: Giga Storage / SeiDB app.toml examples aligned to v6.6+ (sc-write-mode, evm-ss-split); SIP-03 proposal notes for testnet equivalents; minor bridge list and lychee exclusions.

Reviewed by Cursor Bugbot for commit 8e3ce2e. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread .mintlify/skills/sei-security/SKILL.md Outdated
- Skills: import sei/seiTestnet viem chains from viem/chains (the
  @sei-js/precompiles package only exports seiLocal); keep
  @sei-js/precompiles for precompile addresses/ABIs. Fixes the runnable
  examples in sei-precompiles, sei-security, and sei-contracts.
- templates: correct the create-sei stack to Next.js 15 / React 19,
  add RainbowKit, note Tailwind v4.
- skills install command uses the https:// scheme (npx skills add
  https://docs.sei.io).
- sei-contracts: separate the 6-decimal usei micro-denom from the
  18-decimal EVM wei representation.
- Drop the imprecise "(proposal 99)" CosmWasm-freeze attribution
  (per SIP-3); deep-link "live value" pointers to
  /evm/differences-with-ethereum (and /evm/networks).
- sei-precompiles: getSeiAddr reverts or returns "" when unassociated.
- sei-nodes: replace the ~28h figure with ~100k blocks; name the
  current evm-ss-split flag for Giga storage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Independent-review fixes for the Agent Skills registry (PR #36):

- sei-security: getSeiAddr REVERTS for an unassociated address (verified
  against sei-chain precompiles/addr/addr.go:128-132 — returns a non-nil
  error, no empty-string path). The old `require(bytes(actual).length != 0)`
  guard was dead code; wrap the call in try/catch and treat the revert as
  "not associated". Fix the off-chain prose to match.
- sei-precompiles: drop the "reverts or returns ''" hedge so all skills
  agree the call reverts when unassociated.
- All skills: remove the false "no safe/finalized block tags" claim — on Sei
  safe/finalized/latest all resolve to the same instantly-final block (per
  evm/differences-with-ethereum.mdx), so just query latest.
- ai/skills + snippet: clarify every card copies the same full-set install
  command; add per-skill aria-labels for accessibility.
- sei-frontend: @sei-js/precompiles ships only the seiLocal viem chain,
  not sei/seiTestnet.
- sei-contracts/sei-security: use ~22,100 for the revm SSTORE figure to
  match differences-with-ethereum.mdx.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Comment thread .mintlify/skills/sei-security/SKILL.md Outdated
Comment thread .mintlify/skills/sei-frontend/SKILL.md Outdated
Update skill documentation to use seiTestnet by default instead of mainnet in code examples. Replace hardcoded chain IDs with testnet chain objects and add comments reminding developers to get explicit approval before switching to mainnet (1329). This enforces safer defaults and makes the approval requirement explicit in the code.
Remove hand-authored .mintlify/skills SKILL.md files and introduce an automated generation pipeline: add .github/workflows/sync-skills.yml and scripts/build-mintlify-skills.mjs to regenerate docs skills from the canonical sei-skill repo (LLM-assisted, opens PRs). Update docs and UI to reflect the new skills and content changes: add Bridges and Migration skills in snippets/skills-registry.jsx and filters, tweak ai/skills.mdx and ai/sei-skill/index.mdx, bump create-sei tech stack, clarify SIP-03 migration notes, and revise node operator docs (SC/SS/Giga storage migration config keys). This centralizes skill authorship in sei-skill and automates safe regeneration for review.
alexander-sei and others added 3 commits July 2, 2026 18:40
… note

The SC migration model on the skills-registry branch (memiavl_only
enum + sc-keys-to-migrate-per-block) is confirmed correct against the
v6.6.0-rc1 tag — the earlier review finding calling it 'unreleased main'
predated the rc cut and checked only v6.5.x tags and main.

Changes on top of the base branch:
- Mirror the exact v6.6.0-rc1 toml template comment for
  sc-keys-to-migrate-per-block in the auto-generated app.toml block
  (drain-rate tuning guidance; 'defaults to memiavl_only' line removed
  to match seid init output).
- Add a <Note> scoping the SC keys per version: v6.5.x uses
  cosmos_only/dual_write/split_write + sc-read-mode +
  sc-enable-lattice-hash, and each binary line rejects the other's
  sc-write-mode values at startup (no compat mapping in app/seidb.go),
  so operators must update app.toml when crossing v6.6. Also flags the
  post-v6.6 rework already on main (#3650): drain rate becomes the
  NumKeysToMigratePerBlock gov param and sc-write-mode-enable-auto
  (default true) derives the mode automatically.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…n new files

- validate-docs.yml: new CI step fails if any .mintlify/skills/*/SKILL.md
  lacks the 'GENERATED FROM sei-protocol/sei-skill' marker — mechanically
  enforces that skill content is authored only in sei-skill.
- sync-skills.yml: stage before diffing (git diff --quiet ignores untracked
  files, so generating into an empty skills dir silently no-op'd).
- skills-registry.jsx: stop advertising the retired Oracle precompile on the
  sei-precompiles card.
- ai/skills.mdx: state that Foundation skills are generated from
  sei-protocol/sei-skill (content PRs go there), and stop inviting
  hand-authored community skills into this repo (they'd fail the new guard).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Populate .mintlify/skills/ via the scripts/build-mintlify-skills.mjs flow
(no-key mode: per-skill PROMPT.md + SOURCE_BUNDLE.md handed to the LLM),
sourced from sei-protocol/sei-skill@0ce5ace — the post-#9 canonical state
(SIP-3 bridges/IBC, oracle precompile retired, Hardhat 3 + OZ upgrades v4,
current gas facts, LayerZero V2 only, no Axelar).

Six skills regenerated at 1.1.0 against their reviewed 8c8132d versions as
the quality bar (preserving the Addr-reverts and testnet-first review
fixes); sei-bridges and sei-migration are new at 1.0.0.

Verified: frontmatter + GENERATED marker on all 8; every hex constant
grep-matched verbatim against its source bundle; all 49 linked docs.sei.io
pages exist in-repo and return HTTP 200 live; no Axelar/Seitrace/LZ-v1
content; registry ids match skill dirs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
alexander-sei and others added 2 commits July 6, 2026 10:53
… URLs

- link-check.yml: mint broken-links parses every .md as MDX and chokes on
  the skills' HTML-comment generation banner. Stash .mintlify/skills/ for
  that step — skill links are covered by the lychee external-links workflow.
- lychee.toml: exclude 1rpc.io (JSON-RPC, 400 on GET) and api.pimlico.io
  (401 without key) — live endpoints the skills reference.
- skills: replace two rotted URLs that came in from the sei-skill source
  (atlantic-2.app.sei.io/faucet -> docs.sei.io/learn/faucet; LayerZero
  /v2/concepts/intro -> /v2) — flagged for upstream backport.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The Mintlify platform (and mint broken-links) parse .md as MDX, where the
HTML comment banner is a syntax error — the previous deploy failed on it.
Move the marker into the frontmatter as YAML comments (invisible to YAML/
skill consumers, ignored by MDX), update stampGenerated in the generator
to emit the same shape, and revert the link-check stash: keeping skills in
mint broken-links now surfaces an unparseable generated skill with a
file:line instead of an opaque deployment failure. Local mint broken-links
passes with the skills tree included.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Future regenerations must not reintroduce MDX-hostile constructs (HTML
comments, bare angle brackets/braces outside code spans) — mint and the
Mintlify platform parse the skill files as MDX.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alexander-sei
alexander-sei marked this pull request as ready for review July 8, 2026 11:56

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 3 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 03db520. Configure here.

if [[ "$bad" -gt 0 ]]; then
exit 1
fi
echo "All ${count} skill(s) carry the generated-from-sei-skill marker."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI allows zero skills

Medium Severity

The new “generated-only agent skills” step only checks markers on files that exist. With nullglob, an empty or missing .mintlify/skills/*/SKILL.md set leaves count at 0 and the job still exits successfully, so the registry can ship with no installable skills.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 03db520. Configure here.

git add .mintlify/skills
if git diff --cached --quiet; then
echo 'No skill changes; nothing to do.'
exit 0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sync succeeds without generation

Medium Severity

The sync job always runs build-mintlify-skills.mjs --write, but that script only writes .mintlify/skills/ when ANTHROPIC_API_KEY is set. Without the secret, generation is skipped, git diff --cached is empty, and the workflow exits 0 as if nothing were wrong.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 03db520. Configure here.

writeFileSync(dest, skillMd);
}
console.log(` ✓ ${m.name}/SKILL.md${write ? ' (written into .mintlify/skills/)' : ''}`);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing sources still generate

Low Severity

When canonical sei-skill source paths are missing, the script logs missing files but continues with a partial bundle and still calls the model with --write, which can overwrite committed skills with incomplete content.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 03db520. Configure here.

alexander-sei and others added 2 commits August 7, 2026 18:40
v6.6.0 added a back-compat shim after v6.6.0-rc1 (which this page was
originally verified against): ParseSCWriteMode maps the legacy
"cosmos_only" to memiavl_only, so a v6.6.x binary accepts the v6.5
default rather than rejecting it. Only dual_write / split_write /
evm_only are rejected at startup.

Replaces the blanket "each binary rejects the other line's values"
claim with the asymmetric behavior, and narrows the upgrade
instruction accordingly -- operators on the v6.5 default need no
app.toml change. Also drops the now-stale "first tagged in v6.6.0-rc1"
parenthetical.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs(node): confirm v6.6 SC migration model, add version-scoping note for operators
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