Skip to content
Back to skills

Server

ASecurity

"Operate on Observal FastAPI backend routes, data services, auth,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
developmentgosqlreactfastapiapifrontendbackend

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill server --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Server?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Server
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-server-arex-skill/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-server-arex-skill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: server
description: "Operate on Observal FastAPI backend routes, data services, auth,
  migrations, jobs, insights, and route-focused tests."
metadata:
  disco-role: operating
disable-model-invocation: true
license: Apache 2.0
---

# server

Use this sub-skill when a task touches the Observal FastAPI backend: REST or GraphQL route registration, PostgreSQL models and Pydantic schemas, service-layer behavior, auth/JWT/SSO/SCIM, registry and agent/component APIs, telemetry ingest storage, ClickHouse versus PostgreSQL migrations, dynamic settings, background jobs, insights, or route-focused tests.

Do not use this sub-skill for Typer CLI command hierarchy, frontend React/TanStack Router work, harness adapter/hook-spec/session-parser additions, or repo-wide release/compliance workflow except where they call into server APIs.

## Start here

1. Identify the backend surface:
   - New or changed REST route: read `references/server-architecture.md` and `references/api-data-workflows.md`.
   - SQLAlchemy model, Alembic, ClickHouse, dynamic settings, or arq jobs: read `references/migrations-and-settings.md`.
   - Auth, SSO, SCIM, route registration, ingest, insights, or failing backend tests: read `references/troubleshooting.md` first, then the focused reference above.
2. Verify the route graph before and after route registration changes with this sub-skill's bundled helper `scripts/check_server_routes.py`.
3. Keep changes in the server-owned layers: `observal-server/api`, `models`, `schemas`, `services`, `jobs`, `alembic/versions`, and `clickhouse/migrations`.
4. Add or update focused `tests/test_*routes*.py`, `tests/test_clickhouse_*.py`, `tests/test_migration*.py`, or `tests/test_insights*.py` coverage for the exact behavior.

## Hard boundaries

- Server owns FastAPI, data models, migrations, settings, jobs, auth/admin routes, insights, and the ingest endpoint.
- Harness telemetry owns harness registry/adapters/hook specs/session parsers/session delivery. Server work may use ingest and ClickHouse storage patterns, but harness-specific parsing or hook installation belongs there.
- CLI owns Typer commands and bundled CLI skills.
- Web owns Vite/React/TanStack Router and Playwright/e2e guidance.
- Repo-development owns contributor policy, global lint/test/release workflow, and change-review process.

## Non-negotiable backend invariants

- Register new top-level routers in `routes.py`; package routers such as `api.routes.agent` and `api.routes.admin` must import submodules so decorators attach to the shared router.
- Authenticated HTTP APIs use `Authorization: Bearer <token>` and dependencies from `api.deps`; do not add an `X-API-Key` bypass without confirming a deliberate auth design change.
- PostgreSQL schema changes require Alembic migrations. ClickHouse schema changes require SQL files in `observal-server/clickhouse/migrations/`. Do not add new ClickHouse DDL to startup code.
- Runtime-tunable settings go through `services.dynamic_settings`, not direct env-var reads. Boot-time infrastructure and crypto settings stay in `config.py`.
- Use Loguru (`from loguru import logger as optic`) with positional placeholders; never log secrets, JWTs, keys, or bearer tokens.
- Outbound network from server services must pass the existing SSRF guard patterns.

Files in this skill

  • SKILL.md3.2 KB
  • references/api-data-workflows.md12.1 KB
  • references/migrations-and-settings.md10.6 KB
  • references/server-architecture.md10.5 KB
  • references/troubleshooting.md13.5 KB
  • scripts/check_server_routes.py4.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.