Perform 12-Factor App compliance analysis on any codebase. Use when evaluating application architecture, auditing SaaS applications, or reviewing cloud-native applications against the original 12-Factor methodology.
View on GitHubskills/12-factor-apps/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/existential-birds/beagle/blob/main/skills/12-factor-apps/SKILL.md -a claude-code --skill 12-factor-appsInstallation paths:
.claude/skills/12-factor-apps/# 12-Factor App Compliance Analysis > Reference: [The Twelve-Factor App](https://12factor.net) ## Overview The 12-Factor App methodology is a set of best practices for building Software-as-a-Service applications that are: - Portable across execution environments - Scalable without architectural changes - Suitable for continuous deployment - Maintainable with minimal friction ## Input Parameters | Parameter | Description | Required | |-----------|-------------|----------| | `codebase_path` | Root path of the codebase to analyze | Required | ## Analysis Framework ### Factor I: Codebase **Principle:** One codebase tracked in revision control, many deploys. **Search Patterns:** ```bash # Check for version control ls -la .git 2>/dev/null || ls -la .hg 2>/dev/null # Check for multiple apps sharing codebase find . -name "package.json" -o -name "pyproject.toml" -o -name "setup.py" | head -20 # Check for environment-specific code branches grep -r "if.*production\|if.*development\|if.*staging" --include="*.py" --include="*.js" --include="*.ts" ``` **File Patterns:** `.git/`, `package.json`, `pyproject.toml`, deployment configs **Compliance Criteria:** | Level | Criteria | |-------|----------| | **Strong** | Single Git repo, same codebase for all environments, no env-specific code branches | | **Partial** | Single repo but some environment-specific code paths | | **Weak** | Multiple repos for same app or significant code duplication across environments | **Anti-patterns:** - Multiple Git repositories for the same application - Environment-specific code branches (`if production: ...`) - Different source files for dev vs prod - Shared code not extracted to libraries --- ### Factor II: Dependencies **Principle:** Explicitly declare and isolate dependencies. **Search Patterns:** ```bash # Python dependency files find . -name "requirements.txt" -o -name "pyproject.toml" -o -name "setup.py" -o -name "Pipfile" -o -name "uv.lock" # JavaScript/TypeScript dependency