control-kody

Drive and verify the Kody app with a Feature Map and one CLI. Use when changing UI, account routes, preview deploys, or proving a Cloud Agent change with a real origin, session, and /health SHA.

Install
npx skills add 'https://github.com/kentcdodds/kody/tree/main/.agents/skills/control-kody'
Download bundle ↓
main · 8beb6cdScanned 2026-09-15

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗
View on GitHub
← Back to SKILL.md

Account hub

Signed-in home: profile, sign-in providers, export, logout, delete, and links to the other account surfaces. Logout lives at the bottom of this page, not in the site header. Desktop puts an Account link in the header to the left of the avatar; narrower viewports keep Account in the menu panel. The header avatar goes to the public profile (/@username).

The account rail ("Account sections") lists every account page plus Repositories (/@username, the canonical repository list) and Connections (/account/connections, connected agents). The rail is rendered by AccountPageHeader in packages/worker/client/routes/account-management-components.tsx.

How to get there

/account after login. Account deletion is /account/delete.

Drive it

node tools/control-kody.ts login
node tools/control-kody.ts request GET /account/profile.json
node tools/control-kody.ts request GET /account/connections.json

APIs

  • GET|POST /account/profile.json
  • POST /account/profile/avatar.json
  • POST /account/email-change.json
  • POST /account/email-claim-release.json
  • GET /account/export.json
  • POST /account/delete
  • GET|POST /account/connections.json (sign-in providers: GitHub, Google, X, Discord)
  • POST /logout (form at the bottom of this page)

Gotchas

  • Seed users start empty. Profile fields exist; packages/secrets/jobs do not until you create them.
  • Connected agents (inbound MCP hosts) are not on this page. They live on connections at /account/connections; Overview only links there.
  • Former-address release is POST /account/email-claim-release.json, then confirm at /verify-email-claim-release. It drops the claim without reminting users.stable_user_id.
  • Email destinations are managed on the email inbox.