start-auth SKILL.md skillB
start-auth from fusengine/agents is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add fusengine/agents/start-auth@git:20260729.3b91eedPins git:20260729.3b91eed in mdr.lock. Pin the fingerprint instead.
- Audit grade
- B, 16 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- fusengine/agents
- Path
plugins/tanstack-start-expert/skills/start-auth/SKILL.md- Versions recorded
- 2
- Latest version
- git:20260729.3b91eed, committed Jul 29, 2026
- First version recorded
- Jul 5, 2026
- Size
- 6,360 bytes
- Repository stars
- 36
- License
- MIT
Use when adding auth to a TanStack Start app — route protection, server-function authorization, sessions, CSRF. Do NOT use for generic route guards.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
<objective> Covers authentication and authorization in TanStack Start: protecting routes with beforeLoad + redirect, authorizing server functions via middleware (the actual security boundary), session/cookie handling (useSession, getRequest, __Host- cookies), CSRF protection (createCsrfMiddleware + Origin checks), and wiring managed providers like Auth.js, Better Auth, Clerk, or WorkOS. The central gotcha this skill exists to prevent: beforeLoad + redirect() protects the UI only — server functions and server routes are independently reachable API endpoints, so authorization MUST be enforced inside the server-function handler or its middleware, never assumed from a route guard. Ships DIY server-primitive templates (portable, no vendor lock-in) for an _authed layout + authMiddleware, session/CSRF helpers, and OAuth authorization-code flow with PKCE. For a managed auth library, install it and follow its own current docs or the dedicated better-auth skill rather than assuming a Start adapter API. Do NOT use this skill for generic route guards unrelated to auth (react-tanstack-router) or non-Start Node auth setups. </objective> # TanStack Start — Authentication …
Read the whole file at its exact version.
How to install
mdr add fusengine/agents/start-auth@sha256:b42cecc3138ae66eThe line at the top of this page pins the label git:20260729.3b91eed, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_bqqwytfnmxscq4kq)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 2 versions of this file, between Jul 5, 2026 and Jul 29, 2026, about one every 24 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260729.3b91eed latest | 2026-07-29 | 3b91eed | 6,360 B | B | view · diff |
| git:20260705.8c2f9bc | 2026-07-05 | 8c2f9bc | 5,385 B | B | view |
Audit of the latest version
- fail: No instruction to read or print local credentials (matched: Read env/cookies per request** — `process.env)
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (6360 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Starting a new one? Use a template for SKILL.md on mdpantry, which passes every one of these checks and says what to change in it.
Source
fusengine/agents · 36 stars · license MIT · pushed 2026-10-30 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_bqqwytfnmxscq4kq GET https://markdownregistry.com/api/v1/resolve?ref=fusengine/agents/start-auth GET https://markdownregistry.com/api/v1/blob/b42cecc3138ae66e10c7019ad1bfe46d7ca3d10c00509aa498c753198ae95e37
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.