Skip to main content
ClaudeWave
Skill85 estrellas del repoactualizado 3mo ago

environment-setup-assistant

Generate setup scripts and instructions for development environments across platforms. Use when: (1) Setting up new development machines (Python, Node.js, Docker, databases), (2) Creating automated setup scripts for team onboarding, (3) Need cross-platform setup instructions (macOS, Linux, Windows), (4) Installing development tools and dependencies, (5) Configuring version managers and package managers. Provides executable setup scripts, platform-specific guides, and tool installation instructions.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE /tmp/environment-setup-assistant && cp -r /tmp/environment-setup-assistant/skills/environment-setup-assistant ~/.claude/skills/environment-setup-assistant
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# Environment Setup Assistant

Generate automated setup scripts and detailed instructions for development environments across multiple platforms.

## Quick Start

### Generate Setup Script

Specify your requirements and get an automated setup script:

```bash
# Example: Python development environment
bash scripts/setup_python.sh

# Example: Node.js development environment
bash scripts/setup_nodejs.sh

# Example: Docker environment
bash scripts/setup_docker.sh
```

### Get Platform-Specific Instructions

For manual setup or understanding what the scripts do, see **[platform_instructions.md](references/platform_instructions.md)**.

## Common Setup Scenarios

### Scenario 1: New Team Member Onboarding

**Goal**: Set up complete development environment for a new developer

**Approach**:
1. Identify target platform (macOS, Linux, Windows)
2. List required tools (Git, Python, Node.js, Docker, etc.)
3. Generate comprehensive setup script
4. Provide verification checklist

**Example Request**: "Set up a Python and Node.js development environment on macOS"

**Generated Output**:
```bash
#!/usr/bin/env bash
# Complete Development Environment Setup

# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install Git
brew install git

# Install Python via pyenv
brew install pyenv
pyenv install 3.11.0
pyenv global 3.11.0

# Install Node.js via nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts

# Install Docker Desktop
echo "Please download Docker Desktop from https://www.docker.com/products/docker-desktop"

# Install VS Code
brew install --cask visual-studio-code

# Verify installations
git --version
python --version
node --version
```

### Scenario 2: Project-Specific Setup

**Goal**: Set up environment for a specific project with exact dependencies

**Approach**:
1. Analyze project requirements (package.json, requirements.txt, etc.)
2. Detect required runtime versions
3. Generate setup script with project initialization
4. Include virtual environment or project-specific configuration

**Example Request**: "Create setup script for a Django project requiring Python 3.11 and PostgreSQL"

**Generated Output**:
```bash
#!/usr/bin/env bash
# Django Project Environment Setup

# Install Python 3.11
if ! command -v python3.11 &> /dev/null; then
    # macOS
    brew install python@3.11
    # Linux: sudo apt-get install python3.11
fi

# Install PostgreSQL
brew install postgresql@15
brew services start postgresql@15

# Create virtual environment
python3.11 -m venv venv
source venv/bin/activate

# Install Django and dependencies
pip install django psycopg2-binary

# Create database
createdb myproject_dev

# Initialize Django project
django-admin startproject myproject .

echo "Setup complete! Activate venv: source venv/bin/activate"
```

### Scenario 3: CI/CD Environment Replication

**Goal**: Replicate CI/CD environment locally

**Approach**:
1. Analyze CI configuration (.github/workflows, .gitlab-ci.yml, etc.)
2. Extract runtime versions and dependencies
3. Generate matching local setup
4. Include container-based option if applicable

**Example Request**: "Match my GitHub Actions environment locally (Ubuntu, Python 3.10, Node 18)"

### Scenario 4: Multi-Language Development

**Goal**: Set up polyglot development environment

**Approach**:
1. Install version managers for each language
2. Set up common tools (Git, Docker, editor)
3. Configure shell environment
4. Provide switching instructions

**Example Request**: "Set up Python, Node.js, and Go development on Linux"

## Setup Script Templates

### Python Development

Use `scripts/setup_python.sh`:
- Installs Python 3.11
- Sets up virtual environment
- Installs common tools (pytest, black, mypy)
- Cross-platform (macOS, Linux, Windows/WSL)

### Node.js Development

Use `scripts/setup_nodejs.sh`:
- Installs Node.js via nvm
- Installs package managers (npm, pnpm)
- Installs global tools (TypeScript, ESLint, Prettier)
- Cross-platform support

### Docker Development

Use `scripts/setup_docker.sh`:
- Installs Docker Engine or Docker Desktop
- Installs Docker Compose
- Adds user to docker group (Linux)
- Verification steps

## Platform-Specific Guidance

### macOS Setup

See **[platform_instructions.md](references/platform_instructions.md#macos-setup)** for:
- Homebrew installation
- Command Line Tools
- Common package installation patterns
- Shell configuration (zsh)

### Linux Setup

See **[platform_instructions.md](references/platform_instructions.md#linux-setup)** for:
- apt-get based installation (Ubuntu/Debian)
- Build tools and dependencies
- systemd service management
- Shell configuration (bash)

### Windows Setup

See **[platform_instructions.md](references/platform_instructions.md#windows-setup)** for:
- WSL 2 setup (recommended)
- Native Windows tools
- PowerShell configuration
- Git Bash alternative

## Development Tools

### Version Managers

See **[tool_guides.md](references/tool_guides.md#version-managers)** for:
- **pyenv**: Python version management
- **nvm**: Node.js version management
- **rbenv**: Ruby version management

### Code Editors

See **[tool_guides.md](references/tool_guides.md#code-editors)** for:
- **VS Code**: Installation and essential extensions
- **JetBrains IDEs**: PyCharm, WebStorm, IntelliJ
- Editor configuration

### Database Tools

See **[tool_guides.md](references/tool_guides.md#database-tools)** for:
- **PostgreSQL**: Installation and pgAdmin
- **MySQL/MariaDB**: Installation and Workbench
- **MongoDB**: Installation and Compass
- **Redis**: Installation and CLI

### Containerization

See **[tool_guides.md](references/tool_guides.md#containerization)** for:
- **Docker**: Setup and Docker Compose
- **Kubernetes**: Minikube and kubectl

## Workflow

### 1. Assess Requirements

Determine what needs to be installed:
```
Questions to ask:
- What programming languages? (Python, Node.js, Java, Go, etc.)
- What databa
abstract-domain-explorerSkill

Applies abstract interpretation using different abstract domains (intervals, octagons, polyhedra, sign, congruence) to statically analyze program variables and infer invariants, value ranges, and relationships. Use when analyzing program properties, inferring loop invariants, detecting potential errors, or understanding variable relationships through static analysis.

abstract-invariant-generatorSkill

Uses abstract interpretation to automatically infer loop invariants, function preconditions, and postconditions for formal verification. Generates invariants that capture program behavior and support correctness proofs in Dafny, Isabelle, Coq, and other verification systems. Use when adding formal specifications to code, generating verification conditions, inferring contracts for functions, or discovering loop invariants for proofs.

abstract-state-analyzerSkill

Performs abstract interpretation over source code to infer possible program states, variable ranges, and data properties without executing the program. Reports potential runtime errors including out-of-bounds accesses, null dereferences, type inconsistencies, division by zero, and integer overflows. Use when analyzing code for potential runtime errors, performing static analysis, checking safety properties, or verifying program behavior without execution.

abstract-trace-summarizerSkill

Performs abstract interpretation to produce summarized execution traces and high-level program behavior representations. Highlights key control flow paths, variable relationships, loop invariants, function summaries, and potential runtime states using abstract domains (intervals, signs, nullness, etc.). Use when analyzing program behavior, understanding execution paths, computing loop invariants, tracking variable ranges, detecting potential runtime errors, or generating program summaries without concrete execution.

acsl-annotation-assistantSkill

Create ACSL (ANSI/ISO C Specification Language) formal annotations for C/C++ programs. Use this skill when working with formal verification, adding function contracts (requires/ensures), loop invariants, assertions, memory safety annotations, or any ACSL specifications. Supports Frama-C verification and generates comprehensive formal specifications for C/C++ code.

agent-browserSkill

CLI-based browser automation with persistent page state using ref-based element interaction. Use when users ask to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

ambiguity-detectorSkill

Detects and analyzes ambiguous language in software requirements and user stories. Use when reviewing requirements documents, user stories, specifications, or any software requirement text to identify vague quantifiers, unclear scope, undefined terms, missing edge cases, subjective language, and incomplete specifications. Provides detailed analysis with clarifying questions and suggested improvements.

api-design-assistantSkill

Design and review APIs with suggestions for endpoints, parameters, return types, and best practices. Use when designing new APIs from requirements, reviewing existing API designs, generating API documentation, or getting implementation guidance. Supports REST APIs with focus on endpoint structure, request/response schemas, authentication, pagination, filtering, versioning, and OpenAPI specifications. Triggers when users ask to design, review, document, or improve APIs.