How to register user-facing setup steps (API keys, OAuth, connecting third-party services) for the sidebar setup checklist. Use when adding a feature that needs initial user configuration.
70
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
If a feature requires user-facing setup (API keys, OAuth, connecting a third-party service), register an onboarding step so it appears in the agent sidebar's setup checklist.
Onboarding must point users to a secure credential path; it must never encode
the credential value in source, docs, fixtures, prompts, or generated content.
For API keys and service tokens, prefer registerRequiredSecret() from the
secrets skill so the settings UI, encrypted storage, validation, and
onboarding checklist stay in one place. For OAuth, check the scoped OAuth token
store. Use deployment env vars only for deploy-level configuration, not
per-user credentials.
import { registerOnboardingStep } from "@agent-native/core/onboarding";
import { hasOAuthTokens } from "@agent-native/core/oauth-tokens";
registerOnboardingStep({
id: "gmail",
order: 100,
title: "Connect Gmail",
description: "Grant read/send access.",
methods: [
{
id: "oauth",
kind: "link",
primary: true,
label: "Sign in with Google",
payload: { url: "/_agent-native/google/auth-url" },
},
],
isComplete: async (ctx) =>
ctx?.userEmail ? hasOAuthTokens("google", ctx.userEmail) : false,
});See packages/core/docs/content/onboarding.md for method kinds and built-in steps.
adding-a-feature — The four-area checklist; onboarding is often part of a new integrationauthentication — Most onboarding steps involve OAuth or credentialsc1ee18b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.