Use when adding a logged-in user menu, profile dropdown, logout button, or a top navigation bar to a SEMOSS app. Covers installing the shadcn/ui dropdown-menu primitive (@radix-ui/react-dropdown-menu), building a UserProfileMenu (shows the user name + logout), a MainNavigation bar, and rendering the nav inside InitializedLayout. Assumes auth is already wired (AuthProvider/useAuth, LoginPage, AuthorizedLayout — shipped in the template). Do not use for the login flow itself (already in the base) or for shadcn setup in general.
Use when publishing, uploading, or updating a SEMOSS app — choosing among the three deploy tiers (manual UI zip, the semoss_asset_sync.py iterate flow, or the ai-repo submit pipeline), switching between named environments (local/preprod/prod), writing client/.env.local before a build, or handling SSL/proxy errors during upload. Do not use for the ai-repo CLI command reference specifically (see semoss-ai-repo) or for editing tool manifests (see semoss-mcp-manifest).
Use when adding, editing, or wiring up a SEMOSS MCP tool manifest — mcp/py_mcp.json (Python tools) or mcp/pixel_mcp.json (Java reactors). Covers the manifest schema, the _meta fields (resourceURI, SMSS_MCP_EXECUTION, displayLocation, loadingMessage), mapping a tool's resourceURI to a hash route in Router.tsx, default vs custom UI, and when to fall back to the MakePythonMCP/MakePixelMCP regenerator reactors. Do not use for the deploy/upload flow (see semoss-deploy) or writing the tool logic itself (Java reactor / Python tool rules live in CLAUDE.md).
Use when working with the SEMOSS platform control plane via the connected MCP servers — creating/publishing/tagging projects (Semoss_project_manager), creating/querying databases and fetching schema (Semoss_database_helper), or pulling platform guidance (Semoss_Platform_Instructions). Covers the project lifecycle, the MCP project tag that gates Playground-chat visibility, standalone-vs-MCP app modes, and which of the platform MCP's frontend claims to ignore. Do not use for in-app SDK calls from React (see CLAUDE.md + the engine skills) or for the deploy mechanics (see semoss-deploy).
Use when submitting a SEMOSS app into the review/repository pipeline with the ai-repo CLI — logging in, registering an app (create-app), publishing a zipped version (publish), and checking workflow status (status, versions). Covers the command set, publish gotchas (build first, what gets zipped, what's excluded), and where credentials are stored. Assumes the ai-repo binary is already installed. Do not use for iterating against a live instance (that's scripts/claude/semoss_asset_sync.py — see semoss-deploy) or for manual UI zip uploads.
Use when writing code in an app that queries a relational or graph database on the platform, running SELECTs, inserts, updates, deletes, or fetching schema/table structure. Covers the SqlQuery(), SqlQueryBase64(), and GetDatabaseTableStructure() pixel commands via the Semoss SDK, plus listing databases with MyEngines(engineTypes=["DATABASE"]). Do not use for LLM calls (see semoss-model) or vector database queries (see semoss-vector).
Use when writing code in an app that calls an LLM, embedding model, or other model engine, OR when listing/selecting models the user has access to. Covers the LLM() and MyEngines() pixel commands via the Semoss SDK, including prompt/completion calls, conversational history, image inputs, and parsing model responses. Do not use for vector database queries (see semoss-vector) or raw SQL/graph queries (see semoss-database).
Use when the user wants to add JUnit/Mockito tests for Java reactors, set up pre-commit hooks (husky + the pre-commit framework), or wire GitHub Actions CI (lint + unit-test workflows) to a SEMOSS app. The base template ships none of this to stay lean — this skill carries the full, working setup as reference files under reference/ that you copy back in and adapt. Do not use for the deploy flow (see semoss-deploy) or routine linting, which is just `pnpm fix` (Biome) at the repo root.