Latitude is an open-source platform for monitoring AI agents by collecting execution traces, grouping failures, dispatching coding agents to make fixes, and replaying failures to verify them. Teams use it to observe agent behavior, investigate errors, and monitor whether fixes prevent regressions. The catalogue entries include skills, instructions, and an MCP server for working with Latitude.
Borrowing it
Nothing to install: this file belongs to latitude-dev/latitude-llm. 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/latitude-dev/latitude-llm/development/.agents/skills/architecture-boundaries/SKILL.mdgit clone --depth 1 https://github.com/latitude-dev/latitude-llmWrote 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/latitude-dev/latitude-llm/architecture-boundaries)<a href="https://agentmods.dev/skills/latitude-dev/latitude-llm/architecture-boundaries"><img src="https://agentmods.dev/badge/skills/latitude-dev/latitude-llm/architecture-boundaries/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/latitude-dev/latitude-llm/architecture-boundaries"><img src="https://agentmods.dev/badge/skills/latitude-dev/latitude-llm/architecture-boundaries.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00048 | $0.02789 |
| Opus 5 | $0.00024 | $0.01394 |
| Sonnet 5 | $0.00010 | $0.00558 |
| Haiku 4.5 | $0.00005 | $0.00279 |
Grade A, and why
architecture-boundaries 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 10d 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 — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Architecture and layer boundaries
When to use: Layering and boundaries, web vs public API, app layout (clients, routes, logging), ports/adapters, runtime-portable domain/shared/utils code, multi-tenancy, DDD layout, or anti-patterns.
App boundaries (apps/*)
Apps only handle:
- Input validation
- Authentication and authorization
- Organization access enforcement
- Routing to domain use-cases
No business logic in handlers, controllers, or jobs.
Application layout (apps/*)
- Clients: Initialize integrations in
apps/*/clients.tsand import from boundaries — avoid scattering raw clients. - Routes: Use
apps/*/routes/with aregisterRoutes()(or equivalent) pattern so the HTTP surface stays modular. - Logging: Use
createLogger()from@repo/observabilitywith a stable service name per app. - Tracing: Every
Effect.runPromisecall site must includewithTracingfrom@repo/observabilityin the pipe chain to connect Effect spans to the OTel pipeline. See effect-and-errors for the full tracing rules. - Configuration values: Read env through
parseEnv/parseEnvOptional— see env-configuration.
Web vs public API (apps/web, apps/api, @repo/operations)
- The public API's operation definitions (route config + transport-neutral
executelogic) live inpackages/operations(@repo/operations) — the boundary-contract layer between apps and domain. One definition fans out to the HTTP route, OpenAPI, MCP tool, SDK methods, CLI command, and in-process agent tools. apps/apiis the transport shell: middleware (auth, org context, rate limiting), the MCP HTTP transport, mountingoperationModules, and the manifest emit scripts. Treat the operation contracts as externally consumed and evolve them carefully.@repo/operationssits above domain: operations validate input, map to public schemas, and orchestrate@domain/*use-cases — the same boundary responsibilities apps own, factored into a package so non-HTTP consumers (worker-side agents) can runexecutein-process.apps/webmust not call or proxy throughapps/apifor internal product features.- For web product development, implement backend behavior in
apps/webserver functions by composing domain use-cases and platform adapters directly. - Keep iteration velocity in
apps/webby adding web-private server functions/stores while preservingapps/apistability. - Shared business rules still belong in domain packages;
apps/weband@repo/operationsshould both orchestrate domain use-cases rather than duplicating policy. - Latitude product capabilities should be equally accessible to humans through the web UI and to other LLM agents through MCP/API surfaces.
- Do not dead-end product behavior into UI-only flows. Preserve the boundary rules above, but design schemas, use-cases, and public capabilities so machine-facing access can exist without redesign.
- For the concrete recipe —
defineOperation,OperationModulemanifests,group/sdkMethod/access/rateLimitTier,pnpm openapi:emit/pnpm mcp:emit, schema-description rules that fan out to the TS + Python SDKs, MCP tools, and thelatitudeCLI, the required declarativeaccessfield, anddefineToolset(with its access ceiling) for internal agents — see api-endpoints.
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.
- 10d ago First seen · 160 lines · 48 tokens per session scan A 4eaf906cc812
architecture-boundaries is a skill published in the GitHub repository latitude-dev/latitude-llm (4,632 stars, last pushed today), licensed MIT. It adds 48 tokens to every session and 2,789 once invoked, about $0.0002 per session on Opus 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-30.
Other skills, from other repositories
phoenix-cli-development
Design and implementation guide for the Phoenix CLI (px). Covers the noun-verb command structure, dual-audience design (humans and coding agents), Commander.js patterns, configuration resolution, output formats, exit codes, and conventions for adding or modifying commands. Triggers when working on phoenix-cli commands…
phoenix-graphql
Write efficient GraphQL queries against the Phoenix API. Load this skill in two cases: (1) before composing any non-trivial GraphQL query yourself for data analysis (via the phoenix-gql bash command) — it contains schema entrypoints and patterns that eliminate the need for introspection; (2) when the user asks for…
phoenix-otel-development
Guide for the phoenix-otel TypeScript package — OTel registration, stack-based global provider management, and provider lifecycle.
trulens-evaluation-setup
Configure feedback functions and selectors for TruLens evaluations.
trulens-instrumentation
Instrument LLM apps with TruLens OTEL-based tracing - from setup to debugging and optimization.
trulens-notebook-execution
Execute and display Jupyter notebooks for TruLens demos and quickstarts.