Borrowing it
Nothing to install: this file belongs to nikzlabs/shipit. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/nikzlabs/shipit/main/.agents/skills/server-architecture/SKILL.mdgit clone --depth 1 https://github.com/nikzlabs/shipitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nikzlabs/shipit/server-architecture)<a href="https://agentmods.dev/skills/nikzlabs/shipit/server-architecture"><img src="https://agentmods.dev/badge/skills/nikzlabs/shipit/server-architecture/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nikzlabs/shipit/server-architecture"><img src="https://agentmods.dev/badge/skills/nikzlabs/shipit/server-architecture.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Tool Misuse · line 140 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Privilege Escalation · line 298 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00059 | $0.03527 |
| Opus 5.5 | $0.00024 | $0.01411 |
| Sonnet 5.5 | $0.00012 | $0.00705 |
| Haiku 4.5 | $0.00006 | $0.00353 |
Grade A, and why
server-architecture scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 26d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 257 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Server Architecture
The server is a single Fastify process (the orchestrator) that handles HTTP, WebSocket, and SSE connections from the browser. It delegates session-scoped work to Docker containers running session workers.
Entry Point: buildApp()
src/server/orchestrator/index.ts exports buildApp(deps: AppDeps), which:
- Instantiates all managers (or accepts injected stubs from
deps) - Initializes global git config and agent detection
- Sets up Docker container manager (production) or skips it (tests)
- Creates the session runner registry with a factory
- Registers HTTP routes via
registerApiRoutes() - Registers WebSocket handler at
/ws/sessions/:id - Registers SSE endpoint at
/api/events - Registers preview proxy routes
- Sets up startup tasks (warm pool validation, orphan cleanup)
- Returns the Fastify instance without starting it
The function returns the app without calling listen(), so integration tests can use app.inject() without binding a port.
Dependency Injection
buildApp() accepts an AppDeps object where every field is optional. Production uses real implementations; tests supply mocks/stubs. This is the foundation of testability — integration tests never spawn real Docker containers, Claude CLI processes, or Vite servers.
Key injectable dependencies:
| Dependency | Type | Purpose |
|---|---|---|
createGitManager |
(dir) => GitManager |
Per-session git operations |
createRepoGit |
(dir) => RepoGit |
Bare cache + per-session local-clone ops |
sessionManager |
SessionManager |
Session metadata persistence |
authManager |
AuthManager |
Claude CLI OAuth |
githubAuthManager |
GitHubAuthManager |
GitHub token + API |
credentialStore |
CredentialStore |
Unified credentials |
agentFactory |
(agentId) => AgentProcess |
Agent process creation (test-only) |
runnerFactory |
SessionRunnerFactory |
Session runner creation |
sessionContainerManager |
SessionContainerManager |
Docker orchestration |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 26d ago Changed · +2 lines 7a8d34832020
- 1mo ago Changed · -73 lines f922ad3524ce
- 1mo ago Changed 487c6e905f4f
- 1mo ago First seen · 328 lines · 59 tokens per session scan A 0dce78e386ea
server-architecture is a skill published in the GitHub repository nikzlabs/shipit (9 stars, last pushed today), licensed Apache-2.0. It adds 59 tokens to every session and 3,527 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
lanes-forms
Use when the user wants a form backend or contact form set up (a live POST endpoint that captures submissions and emails them), OR wants an agent to fill in / submit to a form on their behalf. Lanes Forms creates and manages hosted form endpoints from Claude Code. Triggers on "set up a contact form", "provision a…
build-teaql-app
Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C#/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries. Mandatory order: first draft and save a complete KSML model, then verify the client and evaluate that saved model, repair it through repeated evaluation…
moai-platform-deployment
Deployment and hosting platform specialist covering Vercel, Railway, and Convex. Use when deploying applications, configuring edge functions, setting up continuous deployment, or managing serverless infrastructure.
moai-ref-api-patterns
REST/GraphQL API design patterns, error handling conventions, and input validation reference for backend development. Agent-extending skill that amplifies backend domain work (spawned via Agent(general-purpose) with backend instructions) with production-grade API patterns. Use when designing APIs, implementing…
moai-platform-auth
Authentication and authorization specialist covering Auth0, Clerk, and Firebase Auth. Use when implementing authentication, MFA, SSO, passkeys, WebAuthn, social login, or security features.
moai-domain-backend
Backend development specialist covering API design, database integration, microservices architecture, and modern backend patterns. Use when designing APIs, implementing server logic, authentication, or authorization.