Skip to content

feat(docs): add SKILL.md for agent integration of scaffold-ui#105

Merged
technophile-04 merged 4 commits into
mainfrom
feat/skill-md
May 7, 2026
Merged

feat(docs): add SKILL.md for agent integration of scaffold-ui#105
technophile-04 merged 4 commits into
mainfrom
feat/skill-md

Conversation

@technophile-04
Copy link
Copy Markdown
Contributor

Summary

Lands the SKILL.md that the discoverability infra in #104 was already designed to pick up. With this in, https://ui.scaffoldeth.io/SKILL.md becomes the agent-facing integration guide and /.well-known/agent-skills/index.json goes from { "skills": [] } to a single-entry index pointing at it.

The SKILL.md is deliberately scoped to what the docs don't shout about loud enough — not a re-documentation of every prop and hook (those already live in llms-full.txt). It captures the integration gotchas that bite agents in practice:

  • Peer-dep ordering between @scaffold-ui/components and @scaffold-ui/hooks
  • The styles.css import as a silent failure mode
  • Provider wrapping order (WagmiProviderQueryClientProvider → optional RainbowKitProvider)
  • ssr: true for Next.js App Router
  • The chain defaulting rule (default to first chain in wagmi config, fallback mainnet) — this is the one that catches agents most often, since they reflexively pass chain={mainnet} everywhere
  • style prop memoization
  • When to opt into @scaffold-ui/debug-contracts and when to skip it

The first line of the body redirects agents to llms-full.txt for full API docs, so the SKILL stays focused and small (~110 lines body, well under Anthropic's 500-line guidance).

Description field

Optimised for triggering accuracy following Anthropic's skill-authoring best practices:

  • Third person, "use when" pattern
  • Lists every package name and hook name explicitly so keyword matches work
  • Includes a deliberate "even if they don't explicitly ask to install" cue, since Claude tends to undertrigger skills
  • ~860 chars, under the 1024 limit

Files changed

  • docs/public/SKILL.md (new, 117 lines including frontmatter)
  • vercel.json (+1/-1) — adds </SKILL.md>; rel="alternate"; type="text/markdown" to the Link header so agents discover it on the same HEAD request as llms.txt and the skills index

Test plan

  • pnpm build from docs/ — confirm docs/dist/SKILL.md exists and docs/dist/.well-known/agent-skills/index.json shows 1 skill entry with a valid sha256 digest
  • After deploy: curl -s https://ui.scaffoldeth.io/SKILL.md | head -5 returns the frontmatter
  • After deploy: curl -s https://ui.scaffoldeth.io/.well-known/agent-skills/index.json | jq '.skills | length' returns 1
  • After deploy: curl -sI https://ui.scaffoldeth.io/ | grep -i ^link shows the new SKILL.md entry alongside the existing four
  • Independent digest check: shasum -a 256 <(curl -s https://ui.scaffoldeth.io/SKILL.md) should match the digest in the index
  • Vibe-test: hand the URL to a fresh Claude instance and ask it to integrate scaffold-ui into a Next.js app — see if it follows the gotchas

Why this is a separate PR from #104

Kept the discoverability infra purely structural so reviewers could verify the scripts and headers in isolation. This PR is the content that flows through that infra. They could have shipped together but stacking made the diffs cleaner to review.

Out of scope (future)

  • A navigable Vocs page version of the SKILL (currently it's only the static /SKILL.md); could add /build-with-ai/skill later if humans want to read it nicely in the docs UI
  • Sub-skills for specific patterns (e.g. "scaffold-ui + RainbowKit", "scaffold-ui + Privy"); the current single skill covers the integration surface

Captures the integration gotchas the docs don't shout about loud enough:
peer-dep ordering between @scaffold-ui/components and @scaffold-ui/hooks,
the styles.css import as a silent failure mode, provider wrapping order,
ssr:true for Next App Router, the chain defaulting rule, style prop
memoization, and when to opt into @scaffold-ui/debug-contracts.

Auto-picked up by gen-agent-skills-index.ts at build time and surfaced
via /.well-known/agent-skills/index.json (RFC v0.2.0).
Adds /SKILL.md to the Link response header so agents discover it on
the same HEAD request that surfaces llms.txt and the agent-skills index.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 6, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
scaffold-ui-docs Ready Ready Preview, Comment May 6, 2026 9:53am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
scaffold-ui-example Skipped Skipped May 6, 2026 9:53am

Request Review

Comment thread docs/public/SKILL.md
Copy link
Copy Markdown
Member

@rin-st rin-st left a comment

Choose a reason for hiding this comment

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

Working great!

Test plan checkpoints: ✅

Vibe test:

Asked to add AddressInput and EtherInput to the main page of the pure next.js app. Everything was installed right, but EtherInput wasn't working first because default http() transports with eth.merkle.io was failing. So EtherInput was disabled. I asked claude just like "EtherInput is disabled, fix it" and then it found the bug and fixed it. After that I asked to add debug page, and it added the page for mainnet WETH. Not sure why WETH but it works as expected

Comment thread docs/public/SKILL.md Outdated
Comment thread docs/public/SKILL.md Outdated
Comment thread docs/public/SKILL.md Outdated
- Remove inaccurate uniswap dep claim (uniswap is a @scaffold-ui/hooks
  dep, not @scaffold-ui/debug-contracts) per @rin-st's review
- Drop ssr: true from the wagmi config example given uncertainty about
  whether it's still required, per @rin-st's note
- Mend a sentence fragment in the intro line
Copy link
Copy Markdown
Contributor Author

@technophile-04 technophile-04 left a comment

Choose a reason for hiding this comment

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

Merging this! thanks @rin-st for the review

@technophile-04 technophile-04 merged commit 77b28e0 into main May 7, 2026
3 checks passed
@technophile-04 technophile-04 deleted the feat/skill-md branch May 7, 2026 06:02
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.

2 participants