Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Monorepo Deploy

ASecurity

Deploying services from a monorepo to PaaS — selective builds, shared code, and per-service pipelines.

2 stars
0 votes
0 copies
0 views
Added 9/29/2026
ai-agentsrustgodockerdebuggingapi

Works with

api

Security Analysis

A100/100

Scanned 9/29/2026

$npx -y skills add aicodedecode/awesome-muse-skills --skill monorepo-deploy --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Monorepo Deploy?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Monorepo Deploy
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aicodedecode-monorepo-deploy/badge)](https://www.skillsdirectory.com/skills/aicodedecode-monorepo-deploy)

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

Download with Pro
Files
SKILL.md
---
name: monorepo-deploy
description: Deploying services from a monorepo to PaaS — selective builds, shared code, and per-service pipelines.
category: railway
---

## Overview

Monorepos keep related services in one repository — shared types, atomic
cross-service changes, one PR for the whole feature. But PaaS platforms
deploy from repos, and naively that means rebuilding everything on every
commit. This skill covers deploying monorepo services independently:
selective builds, shared packages, and per-service pipelines.

## When to use

- Structuring a monorepo (apps + shared packages) for PaaS deployment
- Setting up per-service build triggers (only build what changed)
- Sharing code between services without publishing packages
- Managing per-service env config within one repo
- Debugging "deploy picked up the wrong code" issues

## Core concepts

**One repo, many deployables.** Each service (app) is an independent
deployable with its own build config, env vars, and release cadence — the
monorepo is an organizational choice, not a deployment unit. The platform
sees N services that happen to share a repo.

**Selective builds via path filters.** CI and platform build triggers
should watch paths: changes under `apps/api/**` rebuild only the API.
Without path filtering, every commit rebuilds and redeploys everything —
slow, noisy, and risky. Most platforms and CI systems support path-based
triggers; configure them per service.

**Shared code without publishing.** Internal packages (`packages/ui`,
`packages/config`, `packages/db`) imported via workspace links (npm/yarn/
pnpm workspaces, Go modules replace, etc.). The build must resolve
workspaces — Docker builds need the workspace context (build from repo
root, copy what's needed), not just the app directory.

**Atomic cross-service changes.** The monorepo superpower: change the API
and its consumer in one PR. But independent deploys mean version skew is
real — keep APIs backward compatible across deploys (expand-contract),
because service A may deploy before service B.

**Per-service config.** Env vars, secrets, and domains differ per service
even in one repo. Keep a config manifest per app (`apps/api/.env.example`,
deploy configs) — shared defaults where sensible, explicit overrides where
not.

## Practical workflow

1. **Lay out the repo:** `apps/<service>/` for deployables,
   `packages/<shared>/` for shared code, one lockfile at root, workspace
   configuration linking them.
2. **Configure builds per service:** build command, root directory, and
   Dockerfile path per app; Docker builds run from repo root with
   service-specific Dockerfiles to access shared packages.
3. **Set path-filtered triggers:** each service rebuilds only when its app
   dir or its shared-package dependencies change (dependency-aware filters
   or a small script mapping package → dependent apps).
4. **Wire per-service config:** env vars and secrets per service in the
   platform; validate required vars at each service's boot.
5. **Sequence cross-service changes:** backward-compatible API changes
   first, deploy provider, then deploy consumers — or feature-flag the
   seam.
6. **Monitor per service:** separate logs, metrics, alerts, and deploy
   history — a monorepo doesn't mean mono-observability.

## Common pitfalls

- **Rebuilding everything on every commit** — no path filters; slow
  pipelines and unrelated deploys erode trust in the process.
- **Docker context too narrow** — building from `apps/api/` can't see
  `packages/shared`; build from root or vendor shared code into the image
  explicitly.
- **Breaking cross-service contracts** — deploying a breaking API change
  while consumers still expect the old shape; expand-contract discipline.
- **Shared package changes with blast radius** — a "small" change to
  `packages/auth` redeploys five services; treat shared packages with
  library-level care (versioning, changelogs, tests).
- **Secret sprawl** — copying the same secrets into N service configs by
  hand; use shared/secret references where the platform supports them.
- **Monorepo as an excuse for coupling** — services importing each other's
  internals via relative paths; enforce package boundaries (lint rules,
  clear public APIs per package).

Attribution

aicodedecodeaicodedecode
View sourceSee grades on GitHubMore from aicodedecode →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →