mmtaee/ocserv-dashboard/dashboard-auth-bootstrap
Claude Code and agent skill by mmtaee/ocserv-dashboard
- community
Checking that the SKILL.md file is still in the repository.
Maintain the pre-mount system initialization and authentication flow in this Vue admin dashboard. Use when changing main.ts startup, system-init Pinia state, auth/setup routes, generated system API wrappers, login/setup forms, or captcha gating.
Install
npx vskill@latest install mmtaee/ocserv-dashboard/dashboard-auth-bootstrapSKILL.md
Dashboard Auth Bootstrap
Preserve these startup invariants:
- Call
GET /system/initbefore mounting Vue and store its raw response in the Pinia system-init store. - Treat a request failure as unavailable and route to the server-unavailable view before making authentication or initialization routing decisions.
- When the server is available, validate the stored access token with the generated profile API. Route unauthenticated users to
login-02regardless offirst_init. - After login stores a new token, call
GET /system/users/profileand save that canonical response in the auth store. Do not use an embedded login-response user as the stored profile. - When
/loginis requested with a stored token, validate it through the profile API. Redirect a valid session home; clear an invalid session and remain on login. - Handle every API
401in the shared Axios response interceptor: clear the token and auth-store user, then redirect to login. Register router/store behavior through a callback so the API client does not import application routing. - Only after authentication succeeds, read
first_initfrom the system-init store. Routefirst_init !== trueto thesignup-02system configuration view andfirst_init === truehome. - After login, availability retry, or setup submission, preserve the same availability → authentication → first-init routing order. After a successful setup update, merge the
PATCH /systemresponse into the system-init store; do not callGET /system/initagain. - Pass
requireAuthorizationHeader()to generated system endpoints that require an explicit authorization parameter. The shared Axios interceptor adds the current bearer token to other system requests whenever a token exists. - Render the captcha atom only when
google_captcha_site_keyis non-empty and submit its token through the login schema'stokenfield.
Keep generated files in src/api/generated read-only. Put API behavior in src/api/services, state in src/stores, routed screens in src/views, and reusable UI in src/components. Type forms from generated request schemas and validate changes with yarn type-check and yarn build.
Naming
- Never use
OCServin user-facing text or project-authored identifiers. UseOcservfor names and titles, andocservfor lowercase identifiers, commands, paths, and configuration keys. - Do not rename generated OpenAPI symbols; their spelling is controlled by the backend schema.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingweb/admin/.agents/skills/dashboard-auth-bootstrap/SKILL.md
Popularity
- Repository stars
- 275
- Repository forks
- 92
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mmtaee/ocserv-dashboard/dashboard-auth-bootstrap)