Back to skills
SkillHub ClubShip Full StackFull Stack

cloud-common

Imported from https://github.com/fractary/claude-plugins.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
4
Hot score
81
Updated
March 20, 2026
Overall rating
C3.3
Composite score
3.3
Best-practice grade
B77.6

Install command

npx @skill-hub/cli install fractary-claude-plugins-cloud-common

Repository

fractary/claude-plugins

Skill path: plugins/faber-cloud/skills/cloud-common

Imported from https://github.com/fractary/claude-plugins.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: fractary.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install cloud-common into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/fractary/claude-plugins before adding cloud-common to shared team environments
  • Use cloud-common for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: cloud-common
description: Shared utilities for faber-cloud plugin - configuration loading, pattern resolution, auto-discovery
model: claude-haiku-4-5
allowed-tools: Bash, Read
---

# Cloud Common

Shared utilities used across all faber-cloud skills.

## Purpose

This skill provides:
- Configuration loading from `.fractary/plugins/faber-cloud/config.json` **(in project working directory)**
- Backward compatibility with `faber-cloud.json` and `devops.json` (deprecated)
- Pattern substitution (`{project}`, `{environment}`, etc.)
- Auto-discovery fallbacks when config is missing
- Validation and error handling

**CRITICAL**: Always load config from the **project working directory**, NOT the plugin installation directory.

## Configuration Loading

**Primary config file**: `.fractary/plugins/faber-cloud/config.json` (relative to project root / current working directory)

**Common Mistake**: Do NOT look in `~/.claude/plugins/marketplaces/fractary/plugins/faber-cloud/` - that's the plugin installation directory, not the project config location.

**Automatic migration** (seamless upgrade):
- If `config.json` exists: use it (current standard)
- If `faber-cloud.json` exists: automatically rename to `config.json`
- If `devops.json` exists: show warning to migrate manually

**Migration is automatic and preserves all configuration settings.**

## Components

### scripts/config-loader.sh

Core configuration management:

**Main Functions:**
- `load_faber_cloud_config()` - Load configuration from file or auto-discover (with backward compatibility)
- `resolve_pattern(pattern, environment)` - Substitute placeholders in patterns
- `get_aws_profile(environment)` - Get AWS profile for environment
- `get_config_value(key)` - Get specific config value
- `show_config()` - Display current configuration

**Usage:**
```bash
# Source the loader
source "${SKILL_DIR}/../cloud-common/scripts/config-loader.sh"

# Load configuration (checks config.json, auto-migrates from faber-cloud.json if needed)
load_faber_cloud_config

# Use configuration variables
echo "Project: $PROJECT_NAME"
echo "Provider: $PROVIDER"
echo "IaC Tool: $IAC_TOOL"

# Resolve patterns
USER_NAME=$(resolve_pattern "$USER_NAME_PATTERN" "test")
# Result: corthuxa-core-test-deploy

# Get AWS profile
AWS_PROFILE=$(get_aws_profile "test")
# Result: corthuxa-core-test-deploy
```

**Exported Variables:**
- `PROJECT_NAME` - Project name
- `NAMESPACE` - Project namespace
- `ORGANIZATION` - Organization name
- `PROVIDER` - Cloud provider (aws, gcp, azure)
- `IAC_TOOL` - IaC tool (terraform, pulumi, cdk)
- `AWS_REGION` - AWS region
- `TERRAFORM_DIR` - Terraform directory path
- `IAM_POLICIES_DIR` - IAM policies directory path
- `PROFILE_DISCOVER`, `PROFILE_TEST`, `PROFILE_PROD` - AWS profiles
- `USER_NAME_PATTERN`, `POLICY_NAME_PATTERN` - IAM naming patterns
- `RESOURCE_PREFIX` - Resource naming prefix

### templates/faber-cloud.json.template

Template for generating `.fractary/plugins/faber-cloud/config.json`:
- Placeholders: `{{PROJECT_NAME}}`, `{{NAMESPACE}}`, etc.
- Used by `/fractary-faber-cloud:init` command
- Includes sensible defaults
- Template filename remains `faber-cloud.json.template` for compatibility, generates `config.json`

## Auto-Discovery

When configuration file doesn't exist, auto-discovers:
- Project name from Git repository
- Organization from Git remote
- AWS account ID from credentials
- Provider and IaC tool from installed tools

## Pattern Substitution

Supported placeholders:
- `{project}` - Project name
- `{namespace}` - Project namespace
- `{organization}` - Organization name
- `{environment}` - Current environment (test, prod, etc.)
- `{prefix}` - Resource prefix

Example:
```
Pattern: "{prefix}-{environment}-bucket"
Result: "corthuxa-test-bucket"
```

## Configuration Schema

See `/docs/specs/fractary-faber-cloud-plugin-spec.md` for complete schema.

## Used By

**Infrastructure Skills:**
- infra-architect
- infra-engineer
- infra-validator
- infra-previewer
- infra-deployer
- infra-permission-manager
- infra-tester
- infra-debugger

**Operations Skills:**
- ops-monitor
- ops-investigator
- ops-responder
- ops-auditor

**Handler Skills:**
- handler-hosting-aws
- handler-iac-terraform

**Note:** Previously used by deprecated agents (devops-deployer, devops-debugger, devops-permissions) - now superseded by Phase 1-4 architecture. See `.archive/pre-phase-architecture/` for historical reference.
cloud-common | SkillHub