writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
onyxOnyx repository operating knowledge for backend, RAG/indexing, agents/Craft, web, mobile, CLI, deployment, and maintainer workflows.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this skill when the task is about understanding, changing, testing, or troubleshooting the Onyx repository. Onyx is a Gen-AI application platform with a Python/FastAPI backend, Celery workers, OpenSearch-backed RAG/indexing, Next.js web app, Expo mobile app, Go-based CLIs, Docker/Helm deployment assets, and Enterprise Edition overlays.
Start here, then route to the smallest sub-skill that owns the workflow. Keep runtime work in the target checkout, but use the bundled references first so common Onyx rules do not have to be rediscovered.
| Task signal | Read first |
|---|---|
| FastAPI route, auth/RBAC, SQLAlchemy, Alembic migration, Celery task/queue, file store, backend test, tenant/security boundary | backend-platform |
Connector, DocumentSource, credential/permission sync, file-backed document, chunking, embedding, OpenSearch, indexing pipeline, RAG retrieval | rag-indexing-connectors |
| Chat turn, custom agent/persona, tool/action, MCP, deep research, Craft build mode, sandbox, skills, code execution, agentic streaming | agents-craft-and-tools |
| Next.js web UI, Opal design system, frontend API proxy, SWR/data fetching, web chat/admin/Craft UI, Jest, Playwright | web-frontend |
| Expo/React Native mobile app, mobile chat/auth/API, NativeWind, MMKV/TanStack Query, mobile tests, web-parity porting | mobile-client |
onyx-cli, ods, Docker Compose, Helm, local service orchestration, deployment lifecycle, generated compose, release/devtools | cli-deployment-devtools |
uv; the Onyx root project is not installed as a normal Python distribution, so backend imports normally resolve from the checkout/PYTHONPATH conventions described in the backend references.uv sync --frozen --group backend --group dev --group ee (add specialized groups only when the task requires them). Use the repo-managed .venv or uv run; do not publish private environment prefixes.bun install --frozen-lockfile from web/ or mobile/ before native JS checks. Do not silently install Bun or Go on a host; report missing toolchains or ask before host-level changes.cli/ and tools/ods/ needs Go plus the repo-specific command guidance in cli-deployment-devtools.http://localhost:3000/api/..., not the backend port directly.From a checkout, use the bundled environment checker before deep work:
python skills/onyx/scripts/check_onyx_environment.py --repo-root .
When a Python environment is available and you want import evidence:
python skills/onyx/scripts/check_onyx_environment.py --repo-root . --check-python-imports
The checker is read-only. It does not start Onyx services, install packages, contact the network, run tests, or mutate Docker/Kubernetes/DB state.
rag-indexing-connectors, then use backend-platform for API/DB/migrations and web-frontend for admin connector form changes.agents-craft-and-tools, then use web-frontend for packet/UI state and backend-platform for route/session/Celery mechanics.mobile-client, then use agents-craft-and-tools for backend chat protocol and web-frontend only for parity evidence.cli-deployment-devtools, then route implementation changes to the owning backend sub-skill.