[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADQZ07Y485PKZQFWQ72PWT":3,"skill-same:01M6ADQZ07Y485PKZQFWQ72PWT":243},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":65,"updatedAt":66,"install":67,"resources":80},"01M6ADQZ07Y485PKZQFWQ72PWT","infrastructure-lambda-labs",null,"Reserved and on-demand GPU cloud instances for ML training and inference. Use when you need dedicated GPU instances with simple SSH access, persistent filesystems, or high-performance multi-node clusters for large-scale training.","davila7\u002Fclaude-code-templates","davila7","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6216945?v=4","01M6ADEWWFPS191NFM0Y1EX1JH","Daniel Avila","01M6ADJHGM78PHQRD3XZTFDVKK",33602,"MIT","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Finfrastructure-lambda-labs\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"infrastructure","infrastructure lambda labs","lambda","Clusters","inference","On-Demand GPU","when","for","orchestra","you","Multi-Node","high-performance","instances","use","node","access","Lambda Labs","GPU Cloud","Large-Scale Training","cloud","gpu","training","ml","research","performance","2026-11-10 10:12:30",false,"---\nname: infrastructure-lambda-labs\ndescription: Reserved and on-demand GPU cloud instances for ML training and inference. Use when you need dedicated GPU instances with simple SSH access, persistent filesystems, or high-performance multi-node clusters for large-scale training.\nversion: 1.0.0\nauthor: Orchestra Research\nlicense: MIT\ntags: [Infrastructure, GPU Cloud, Training, Inference, Lambda Labs]\ndependencies: [lambda-cloud-client>=1.0.0]\n---\n\n# Lambda Labs GPU Cloud\n\nComprehensive guide to running ML workloads on Lambda Labs GPU cloud with on-demand instances and 1-Click Clusters.\n\n## When to use Lambda Labs\n\n**Use Lambda Labs when:**\n- Need dedicated GPU instances with full SSH access\n- Running long training jobs (hours to days)\n- Want simple pricing with no egress fees\n- Need persistent storage across sessions\n- Require high-performance multi-node clusters (16-512 GPUs)\n- Want pre-installed ML stack (Lambda Stack with PyTorch, CUDA, NCCL)\n\n**Key features:**\n- **GPU variety**: B200, H100, GH200, A100, A10, A6000, V100\n- **Lambda Stack**: Pre-installed PyTorch, TensorFlow, CUDA, cuDNN, NCCL\n- **Persistent filesystems**: Keep data across instance restarts\n- **1-Click Clusters**: 16-512 GPU Slurm clusters with InfiniBand\n- **Simple pricing**: Pay-per-minute, no egress fees\n- **Global regions**: 12+ regions worldwide\n\n**Use alternatives instead:**\n- **Modal**: For serverless, auto-scaling workloads\n- **SkyPilot**: For multi-cloud orchestration and cost optimization\n- **RunPod**: For cheaper spot instances and serverless endpoints\n- **Vast.ai**: For GPU marketplace with lowest prices\n\n## Quick start\n\n### Account setup\n\n1. Create account at https:\u002F\u002Flambda.ai\n2. Add payment method\n3. Generate API key from dashboard\n4. Add SSH key (required before launching instances)\n\n### Launch via console\n\n1. Go to https:\u002F\u002Fcloud.lambda.ai\u002Finstances\n2. Click \"Launch instance\"\n3. Select GPU type and region\n4. Choose SSH key\n5. Optionally attach filesystem\n6. Launch and wait 3-15 minutes\n\n### Connect via SSH\n\n```bash\n# Get instance IP from console\nssh ubuntu@\u003CINSTANCE-IP>\n\n# Or with specific key\nssh -i ~\u002F.ssh\u002Flambda_key ubuntu@\u003CINSTANCE-IP>\n```\n\n## GPU instances\n\n### Available GPUs\n\n| GPU | VRAM | Price\u002FGPU\u002Fhr | Best For |\n|-----|------|--------------|----------|\n| B200 SXM6 | 180 GB | $4.99 | Largest models, fastest training |\n| H100 SXM | 80 GB | $2.99-3.29 | Large model training |\n| H100 PCIe | 80 GB | $2.49 | Cost-effective H100 |\n| GH200 | 96 GB | $1.49 | Single-GPU large models |\n| A100 80GB | 80 GB | $1.79 | Production training |\n| A100 40GB | 40 GB | $1.29 | Standard training |\n| A10 | 24 GB | $0.75 | Inference, fine-tuning |\n| A6000 | 48 GB | $0.80 | Good VRAM\u002Fprice ratio |\n| V100 | 16 GB | $0.55 | Budget training |\n\n### Instance configurations\n\n```\n8x GPU: Best for distributed training (DDP, FSDP)\n4x GPU: Large models, multi-GPU training\n2x GPU: Medium workloads\n1x GPU: Fine-tuning, inference, development\n```\n\n### Launch times\n\n- Single-GPU: 3-5 minutes\n- Multi-GPU: 10-15 minutes\n\n## Lambda Stack\n\nAll instances come with Lambda Stack pre-installed:\n\n```bash\n# Included software\n- Ubuntu 22.04 LTS\n- NVIDIA drivers (latest)\n- CUDA 12.x\n- cuDNN 8.x\n- NCCL (for multi-GPU)\n- PyTorch (latest)\n- TensorFlow (latest)\n- JAX\n- JupyterLab\n```\n\n### Verify installation\n\n```bash\n# Check GPU\nnvidia-smi\n\n# Check PyTorch\npython -c \"import torch; print(torch.cuda.is_available())\"\n\n# Check CUDA version\nnvcc --version\n```\n\n## Python API\n\n### Installation\n\n```bash\npip install lambda-cloud-client\n```\n\n### Authentication\n\n```python\nimport os\nimport lambda_cloud_client\n\n# Configure with API key\nconfiguration = lambda_cloud_client.Configuration(\n    host=\"https:\u002F\u002Fcloud.lambdalabs.com\u002Fapi\u002Fv1\",\n    access_token=os.environ[\"LAMBDA_API_KEY\"]\n)\n```\n\n### List available instances\n\n```python\nwith lambda_cloud_client.ApiClient(configuration) as api_client:\n    api = lambda_cloud_client.DefaultApi(api_client)\n\n    # Get available instance types\n    types = api.instance_types()\n    for name, info in types.data.items():\n        print(f\"{name}: {info.instance_type.description}\")\n```\n\n### Launch instance\n\n```python\nfrom lambda_cloud_client.models import LaunchInstanceRequest\n\nrequest = LaunchInstanceRequest(\n    region_name=\"us-west-1\",\n    instance_type_name=\"gpu_1x_h100_sxm5\",\n    ssh_key_names=[\"my-ssh-key\"],\n    file_system_names=[\"my-filesystem\"],  # Optional\n    name=\"training-job\"\n)\n\nresponse = api.launch_instance(request)\ninstance_id = response.data.instance_ids[0]\nprint(f\"Launched: {instance_id}\")\n```\n\n### List running instances\n\n```python\ninstances = api.list_instances()\nfor instance in instances.data:\n    print(f\"{instance.name}: {instance.ip} ({instance.status})\")\n```\n\n### Terminate instance\n\n```python\nfrom lambda_cloud_client.models import TerminateInstanceRequest\n\nrequest = TerminateInstanceRequest(\n    instance_ids=[instance_id]\n)\napi.terminate_instance(request)\n```\n\n### SSH key management\n\n```python\nfrom lambda_cloud_client.models import AddSshKeyRequest\n\n# Add SSH key\nrequest = AddSshKeyRequest(\n    name=\"my-key\",\n    public_key=\"ssh-rsa AAAA...\"\n)\napi.add_ssh_key(request)\n\n# List keys\nkeys = api.list_ssh_keys()\n\n# Delete key\napi.delete_ssh_key(key_id)\n```\n\n## CLI with curl\n\n### List instance types\n\n```bash\ncurl -u $LAMBDA_API_KEY: \\\n  https:\u002F\u002Fcloud.lambdalabs.com\u002Fapi\u002Fv1\u002Finstance-types | jq\n```\n\n### Launch instance\n\n```bash\ncurl -u $LAMBDA_API_KEY: \\\n  -X POST https:\u002F\u002Fcloud.lambdalabs.com\u002Fapi\u002Fv1\u002Finstance-operations\u002Flaunch \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"region_name\": \"us-west-1\",\n    \"instance_type_name\": \"gpu_1x_h100_sxm5\",\n    \"ssh_key_names\": [\"my-key\"]\n  }' | jq\n```\n\n### Terminate instance\n\n```bash\ncurl -u $LAMBDA_API_KEY: \\\n  -X POST https:\u002F\u002Fcloud.lambdalabs.com\u002Fapi\u002Fv1\u002Finstance-operations\u002Fterminate \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"instance_ids\": [\"\u003CINSTANCE-ID>\"]}' | jq\n```\n\n## Persistent storage\n\n### Filesystems\n\nFilesystems persist data across instance restarts:\n\n```bash\n# Mount location\n\u002Flambda\u002Fnfs\u002F\u003CFILESYSTEM_NAME>\n\n# Example: save checkpoints\npython train.py --checkpoint-dir \u002Flambda\u002Fnfs\u002Fmy-storage\u002Fcheckpoints\n```\n\n### Create filesystem\n\n1. Go to Storage in Lambda console\n2. Click \"Create filesystem\"\n3. Select region (must match instance region)\n4. Name and create\n\n### Attach to instance\n\nFilesystems must be attached at instance launch time:\n- Via console: Select filesystem when launching\n- Via API: Include `file_system_names` in launch request\n\n### Best practices\n\n```bash\n# Store on filesystem (persists)\n\u002Flambda\u002Fnfs\u002Fstorage\u002F\n  ├── datasets\u002F\n  ├── checkpoints\u002F\n  ├── models\u002F\n  └── outputs\u002F\n\n# Local SSD (faster, ephemeral)\n\u002Fhome\u002Fubuntu\u002F\n  └── working\u002F  # Temporary files\n```\n\n## SSH configuration\n\n### Add SSH key\n\n```bash\n# Generate key locally\nssh-keygen -t ed25519 -f ~\u002F.ssh\u002Flambda_key\n\n# Add public key to Lambda console\n# Or via API\n```\n\n### Multiple keys\n\n```bash\n# On instance, add more keys\necho 'ssh-rsa AAAA...' >> ~\u002F.ssh\u002Fauthorized_keys\n```\n\n### Import from GitHub\n\n```bash\n# On instance\nssh-import-id gh:username\n```\n\n### SSH tunneling\n\n```bash\n# Forward Jupyter\nssh -L 8888:localhost:8888 ubuntu@\u003CIP>\n\n# Forward TensorBoard\nssh -L 6006:localhost:6006 ubuntu@\u003CIP>\n\n# Multiple ports\nssh -L 8888:localhost:8888 -L 6006:localhost:6006 ubuntu@\u003CIP>\n```\n\n## JupyterLab\n\n### Launch from console\n\n1. Go to Instances page\n2. Click \"Launch\" in Cloud IDE column\n3. JupyterLab opens in browser\n\n### Manual access\n\n```bash\n# On instance\njupyter lab --ip=0.0.0.0 --port=8888\n\n# From local machine with tunnel\nssh -L 8888:localhost:8888 ubuntu@\u003CIP>\n# Open http:\u002F\u002Flocalhost:8888\n```\n\n## Training workflows\n\n### Single-GPU training\n\n```bash\n# SSH to instance\nssh ubuntu@\u003CIP>\n\n# Clone repo\ngit clone https:\u002F\u002Fgithub.com\u002Fuser\u002Fproject\ncd project\n\n# Install dependencies\npip install -r requirements.txt\n\n# Train\npython train.py --epochs 100 --checkpoint-dir \u002Flambda\u002Fnfs\u002Fstorage\u002Fcheckpoints\n```\n\n### Multi-GPU training (single node)\n\n```python\n# train_ddp.py\nimport torch\nimport torch.distributed as dist\nfrom torch.nn.parallel import DistributedDataParallel as DDP\n\ndef main():\n    dist.init_process_group(\"nccl\")\n    rank = dist.get_rank()\n    device = rank % torch.cuda.device_count()\n\n    model = MyModel().to(device)\n    model = DDP(model, device_ids=[device])\n\n    # Training loop...\n\nif __name__ == \"__main__\":\n    main()\n```\n\n```bash\n# Launch with torchrun (8 GPUs)\ntorchrun --nproc_per_node=8 train_ddp.py\n```\n\n### Checkpoint to filesystem\n\n```python\nimport os\n\ncheckpoint_dir = \"\u002Flambda\u002Fnfs\u002Fmy-storage\u002Fcheckpoints\"\nos.makedirs(checkpoint_dir, exist_ok=True)\n\n# Save checkpoint\ntorch.save({\n    'epoch': epoch,\n    'model_state_dict': model.state_dict(),\n    'optimizer_state_dict': optimizer.state_dict(),\n    'loss': loss,\n}, f\"{checkpoint_dir}\u002Fcheckpoint_{epoch}.pt\")\n```\n\n## 1-Click Clusters\n\n### Overview\n\nHigh-performance Slurm clusters with:\n- 16-512 NVIDIA H100 or B200 GPUs\n- NVIDIA Quantum-2 400 Gb\u002Fs InfiniBand\n- GPUDirect RDMA at 3200 Gb\u002Fs\n- Pre-installed distributed ML stack\n\n### Included software\n\n- Ubuntu 22.04 LTS + Lambda Stack\n- NCCL, Open MPI\n- PyTorch with DDP and FSDP\n- TensorFlow\n- OFED drivers\n\n### Storage\n\n- 24 TB NVMe per compute node (ephemeral)\n- Lambda filesystems for persistent data\n\n### Multi-node training\n\n```bash\n# On Slurm cluster\nsrun --nodes=4 --ntasks-per-node=8 --gpus-per-node=8 \\\n  torchrun --nnodes=4 --nproc_per_node=8 \\\n  --rdzv_backend=c10d --rdzv_endpoint=$MASTER_ADDR:29500 \\\n  train.py\n```\n\n## Networking\n\n### Bandwidth\n\n- Inter-instance (same region): up to 200 Gbps\n- Internet outbound: 20 Gbps max\n\n### Firewall\n\n- Default: Only port 22 (SSH) open\n- Configure additional ports in Lambda console\n- ICMP traffic allowed by default\n\n### Private IPs\n\n```bash\n# Find private IP\nip addr show | grep 'inet '\n```\n\n## Common workflows\n\n### Workflow 1: Fine-tuning LLM\n\n```bash\n# 1. Launch 8x H100 instance with filesystem\n\n# 2. SSH and setup\nssh ubuntu@\u003CIP>\npip install transformers accelerate peft\n\n# 3. Download model to filesystem\npython -c \"\nfrom transformers import AutoModelForCausalLM\nmodel = AutoModelForCausalLM.from_pretrained('meta-llama\u002FLlama-2-7b-hf')\nmodel.save_pretrained('\u002Flambda\u002Fnfs\u002Fstorage\u002Fmodels\u002Fllama-2-7b')\n\"\n\n# 4. Fine-tune with checkpoints on filesystem\naccelerate launch --num_processes 8 train.py \\\n  --model_path \u002Flambda\u002Fnfs\u002Fstorage\u002Fmodels\u002Fllama-2-7b \\\n  --output_dir \u002Flambda\u002Fnfs\u002Fstorage\u002Foutputs \\\n  --checkpoint_dir \u002Flambda\u002Fnfs\u002Fstorage\u002Fcheckpoints\n```\n\n### Workflow 2: Batch inference\n\n```bash\n# 1. Launch A10 instance (cost-effective for inference)\n\n# 2. Run inference\npython inference.py \\\n  --model \u002Flambda\u002Fnfs\u002Fstorage\u002Fmodels\u002Ffine-tuned \\\n  --input \u002Flambda\u002Fnfs\u002Fstorage\u002Fdata\u002Finputs.jsonl \\\n  --output \u002Flambda\u002Fnfs\u002Fstorage\u002Fdata\u002Foutputs.jsonl\n```\n\n## Cost optimization\n\n### Choose right GPU\n\n| Task | Recommended GPU |\n|------|-----------------|\n| LLM fine-tuning (7B) | A100 40GB |\n| LLM fine-tuning (70B) | 8x H100 |\n| Inference | A10, A6000 |\n| Development | V100, A10 |\n| Maximum performance | B200 |\n\n### Reduce costs\n\n1. **Use filesystems**: Avoid re-downloading data\n2. **Checkpoint frequently**: Resume interrupted training\n3. **Right-size**: Don't over-provision GPUs\n4. **Terminate idle**: No auto-stop, manually terminate\n\n### Monitor usage\n\n- Dashboard shows real-time GPU utilization\n- API for programmatic monitoring\n\n## Common issues\n\n| Issue | Solution |\n|-------|----------|\n| Instance won't launch | Check region availability, try different GPU |\n| SSH connection refused | Wait for instance to initialize (3-15 min) |\n| Data lost after terminate | Use persistent filesystems |\n| Slow data transfer | Use filesystem in same region |\n| GPU not detected | Reboot instance, check drivers |\n\n## References\n\n- **[Advanced Usage](references\u002Fadvanced-usage.md)** - Multi-node training, API automation\n- **[Troubleshooting](references\u002Ftroubleshooting.md)** - Common issues and solutions\n\n## Resources\n\n- **Documentation**: https:\u002F\u002Fdocs.lambda.ai\n- **Console**: https:\u002F\u002Fcloud.lambda.ai\n- **Pricing**: https:\u002F\u002Flambda.ai\u002Finstances\n- **Support**: https:\u002F\u002Fsupport.lambdalabs.com\n- **Blog**: https:\u002F\u002Flambda.ai\u002Fblog\n","# Lambda Labs GPU Cloud\n\nComprehensive guide to running ML workloads on Lambda Labs GPU cloud with on-demand instances and 1-Click Clusters.\n\n## When to use Lambda Labs\n\n**Use Lambda Labs when:**\n- Need dedicated GPU instances with full SSH access\n- Running long training jobs (hours to days)\n- Want simple pricing with no egress fees\n- Need persistent storage across sessions\n- Require high-performance multi-node clusters (16-512 GPUs)\n- Want pre-installed ML stack (Lambda Stack with PyTorch, CUDA, NCCL)\n\n**Key features:**\n- **GPU variety**: B200, H100, GH200, A100, A10, A6000, V100\n- **Lambda Stack**: Pre-installed PyTorch, TensorFlow, CUDA, cuDNN, NCCL\n- **Persistent filesystems**: Keep data across instance restarts\n- **1-Click Clusters**: 16-512 GPU Slurm clusters with InfiniBand\n- **Simple pricing**: Pay-per-minute, no egress fees\n- **Global regions**: 12+ regions worldwide\n\n**Use alternatives instead:**\n- **Modal**: For serverless, auto-scaling workloads\n- **SkyPilot**: For multi-cloud orchestration and cost optimization\n- **RunPod**: For cheaper spot instances and serverless endpoints\n- **Vast.ai**: For GPU marketplace with lowest prices\n\n## Quick start\n\n### Account setup\n\n1. Create account at https:\u002F\u002Flambda.ai\n2. Add payment method\n3. Generate API key from dashboard\n4. Add SSH key (required before launching instances)\n\n### Launch via console\n\n1. Go to https:\u002F\u002Fcloud.lambda.ai\u002Finstances\n2. Click \"Launch instance\"\n3. Select GPU type and region\n4. Choose SSH key\n5. Optionally attach filesystem\n6. Launch and wait 3-15 minutes\n\n### Connect via SSH\n\n```bash\n# Get instance IP from console\nssh ubuntu@\u003CINSTANCE-IP>\n\n# Or with specific key\nssh -i ~\u002F.ssh\u002Flambda_key ubuntu@\u003CINSTANCE-IP>\n```\n\n## GPU instances\n\n### Available GPUs\n\n| GPU | VRAM | Price\u002FGPU\u002Fhr | Best For |\n|-----|------|--------------|----------|\n| B200 SXM6 | 180 GB | $4.99 | Largest models, fastest training |\n| H100 SXM | 80 GB | $2.99-3.29 | Large model training |\n| H100 PCIe | 80 GB | $2.49 | Cost-effective H100 |\n| GH200 | 96 GB | $1.49 | Single-GPU large models |\n| A100 80GB | 80 GB | $1.79 | Production training |\n| A100 40GB | 40 GB | $1.29 | Standard training |\n| A10 | 24 GB | $0.75 | Inference, fine-tuning |\n| A6000 | 48 GB | $0.80 | Good VRAM\u002Fprice ratio |\n| V100 | 16 GB | $0.55 | Budget training |\n\n### Instance configurations\n\n```\n8x GPU: Best for distributed training (DDP, FSDP)\n4x GPU: Large models, multi-GPU training\n2x GPU: Medium workloads\n1x GPU: Fine-tuning, inference, development\n```\n\n### Launch times\n\n- Single-GPU: 3-5 minutes\n- Multi-GPU: 10-15 minutes\n\n## Lambda Stack\n\nAll instances come with Lambda Stack pre-installed:\n\n```bash\n# Included software\n- Ubuntu 22.04 LTS\n- NVIDIA drivers (latest)\n- CUDA 12.x\n- cuDNN 8.x\n- NCCL (for multi-GPU)\n- PyTorch (latest)\n- TensorFlow (latest)\n- JAX\n- JupyterLab\n```\n\n### Verify installation\n\n```bash\n# Check GPU\nnvidia-smi\n\n# Check PyTorch\npython -c \"import torch; print(torch.cuda.is_available())\"\n\n# Check CUDA version\nnvcc --version\n```\n\n## Python API\n\n### Installation\n\n```bash\npip install lambda-cloud-client\n```\n\n### Authentication\n\n```python\nimport os\nimport lambda_cloud_client\n\n# Configure with API key\nconfiguration = lambda_cloud_client.Configuration(\n    host=\"https:\u002F\u002Fcloud.lambdalabs.com\u002Fapi\u002Fv1\",\n    access_token=os.environ[\"LAMBDA_API_KEY\"]\n)\n```\n\n### List available instances\n\n```python\nwith lambda_cloud_client.ApiClient(configuration) as api_client:\n    api = lambda_cloud_client.DefaultApi(api_client)\n\n    # Get available instance types\n    types = api.instance_types()\n    for name, info in types.data.items():\n        print(f\"{name}: {info.instance_type.description}\")\n```\n\n### Launch instance\n\n```python\nfrom lambda_cloud_client.models import LaunchInstanceRequest\n\nrequest = LaunchInstanceRequest(\n    region_name=\"us-west-1\",\n    instance_type_name=\"gpu_1x_h100_sxm5\",\n    ssh_key_names=[\"my-ssh-key\"],\n    file_system_names=[\"my-filesystem\"],  # Optional\n    name=\"training-job\"\n)\n\nresponse = api.launch_instance(request)\ninstance_id = response.data.instance_ids[0]\nprint(f\"Launched: {instance_id}\")\n```\n\n### List running instances\n\n```python\ninstances = api.list_instances()\nfor instance in instances.data:\n    print(f\"{instance.name}: {instance.ip} ({instance.status})\")\n```\n\n### Terminate instance\n\n```python\nfrom lambda_cloud_client.models import TerminateInstanceRequest\n\nrequest = TerminateInstanceRequest(\n    instance_ids=[instance_id]\n)\napi.terminate_instance(request)\n```\n\n### SSH key management\n\n```python\nfrom lambda_cloud_client.models import AddSshKeyRequest\n\n# Add SSH key\nrequest = AddSshKeyRequest(\n    name=\"my-key\",\n    public_key=\"ssh-rsa AAAA...\"\n)\napi.add_ssh_key(request)\n\n# List keys\nkeys = api.list_ssh_keys()\n\n# Delete key\napi.delete_ssh_key(key_id)\n```\n\n## CLI with curl\n\n### List instance types\n\n```bash\ncurl -u $LAMBDA_API_KEY: \\\n  https:\u002F\u002Fcloud.lambdalabs.com\u002Fapi\u002Fv1\u002Finstance-types | jq\n```\n\n### Launch instance\n\n```bash\ncurl -u $LAMBDA_API_KEY: \\\n  -X POST https:\u002F\u002Fcloud.lambdalabs.com\u002Fapi\u002Fv1\u002Finstance-operations\u002Flaunch \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"region_name\": \"us-west-1\",\n    \"instance_type_name\": \"gpu_1x_h100_sxm5\",\n    \"ssh_key_names\": [\"my-key\"]\n  }' | jq\n```\n\n### Terminate instance\n\n```bash\ncurl -u $LAMBDA_API_KEY: \\\n  -X POST https:\u002F\u002Fcloud.lambdalabs.com\u002Fapi\u002Fv1\u002Finstance-operations\u002Fterminate \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"instance_ids\": [\"\u003CINSTANCE-ID>\"]}' | jq\n```\n\n## Persistent storage\n\n### Filesystems\n\nFilesystems persist data across instance restarts:\n\n```bash\n# Mount location\n\u002Flambda\u002Fnfs\u002F\u003CFILESYSTEM_NAME>\n\n# Example: save checkpoints\npython train.py --checkpoint-dir \u002Flambda\u002Fnfs\u002Fmy-storage\u002Fcheckpoints\n```\n\n### Create filesystem\n\n1. Go to Storage in Lambda console\n2. Click \"Create filesystem\"\n3. Select region (must match instance region)\n4. Name and create\n\n### Attach to instance\n\nFilesystems must be attached at instance launch time:\n- Via console: Select filesystem when launching\n- Via API: Include `file_system_names` in launch request\n\n### Best practices\n\n```bash\n# Store on filesystem (persists)\n\u002Flambda\u002Fnfs\u002Fstorage\u002F\n  ├── datasets\u002F\n  ├── checkpoints\u002F\n  ├── models\u002F\n  └── outputs\u002F\n\n# Local SSD (faster, ephemeral)\n\u002Fhome\u002Fubuntu\u002F\n  └── working\u002F  # Temporary files\n```\n\n## SSH configuration\n\n### Add SSH key\n\n```bash\n# Generate key locally\nssh-keygen -t ed25519 -f ~\u002F.ssh\u002Flambda_key\n\n# Add public key to Lambda console\n# Or via API\n```\n\n### Multiple keys\n\n```bash\n# On instance, add more keys\necho 'ssh-rsa AAAA...' >> ~\u002F.ssh\u002Fauthorized_keys\n```\n\n### Import from GitHub\n\n```bash\n# On instance\nssh-import-id gh:username\n```\n\n### SSH tunneling\n\n```bash\n# Forward Jupyter\nssh -L 8888:localhost:8888 ubuntu@\u003CIP>\n\n# Forward TensorBoard\nssh -L 6006:localhost:6006 ubuntu@\u003CIP>\n\n# Multiple ports\nssh -L 8888:localhost:8888 -L 6006:localhost:6006 ubuntu@\u003CIP>\n```\n\n## JupyterLab\n\n### Launch from console\n\n1. Go to Instances page\n2. Click \"Launch\" in Cloud IDE column\n3. JupyterLab opens in browser\n\n### Manual access\n\n```bash\n# On instance\njupyter lab --ip=0.0.0.0 --port=8888\n\n# From local machine with tunnel\nssh -L 8888:localhost:8888 ubuntu@\u003CIP>\n# Open http:\u002F\u002Flocalhost:8888\n```\n\n## Training workflows\n\n### Single-GPU training\n\n```bash\n# SSH to instance\nssh ubuntu@\u003CIP>\n\n# Clone repo\ngit clone https:\u002F\u002Fgithub.com\u002Fuser\u002Fproject\ncd project\n\n# Install dependencies\npip install -r requirements.txt\n\n# Train\npython train.py --epochs 100 --checkpoint-dir \u002Flambda\u002Fnfs\u002Fstorage\u002Fcheckpoints\n```\n\n### Multi-GPU training (single node)\n\n```python\n# train_ddp.py\nimport torch\nimport torch.distributed as dist\nfrom torch.nn.parallel import DistributedDataParallel as DDP\n\ndef main():\n    dist.init_process_group(\"nccl\")\n    rank = dist.get_rank()\n    device = rank % torch.cuda.device_count()\n\n    model = MyModel().to(device)\n    model = DDP(model, device_ids=[device])\n\n    # Training loop...\n\nif __name__ == \"__main__\":\n    main()\n```\n\n```bash\n# Launch with torchrun (8 GPUs)\ntorchrun --nproc_per_node=8 train_ddp.py\n```\n\n### Checkpoint to filesystem\n\n```python\nimport os\n\ncheckpoint_dir = \"\u002Flambda\u002Fnfs\u002Fmy-storage\u002Fcheckpoints\"\nos.makedirs(checkpoint_dir, exist_ok=True)\n\n# Save checkpoint\ntorch.save({\n    'epoch': epoch,\n    'model_state_dict': model.state_dict(),\n    'optimizer_state_dict': optimizer.state_dict(),\n    'loss': loss,\n}, f\"{checkpoint_dir}\u002Fcheckpoint_{epoch}.pt\")\n```\n\n## 1-Click Clusters\n\n### Overview\n\nHigh-performance Slurm clusters with:\n- 16-512 NVIDIA H100 or B200 GPUs\n- NVIDIA Quantum-2 400 Gb\u002Fs InfiniBand\n- GPUDirect RDMA at 3200 Gb\u002Fs\n- Pre-installed distributed ML stack\n\n### Included software\n\n- Ubuntu 22.04 LTS + Lambda Stack\n- NCCL, Open MPI\n- PyTorch with DDP and FSDP\n- TensorFlow\n- OFED drivers\n\n### Storage\n\n- 24 TB NVMe per compute node (ephemeral)\n- Lambda filesystems for persistent data\n\n### Multi-node training\n\n```bash\n# On Slurm cluster\nsrun --nodes=4 --ntasks-per-node=8 --gpus-per-node=8 \\\n  torchrun --nnodes=4 --nproc_per_node=8 \\\n  --rdzv_backend=c10d --rdzv_endpoint=$MASTER_ADDR:29500 \\\n  train.py\n```\n\n## Networking\n\n### Bandwidth\n\n- Inter-instance (same region): up to 200 Gbps\n- Internet outbound: 20 Gbps max\n\n### Firewall\n\n- Default: Only port 22 (SSH) open\n- Configure additional ports in Lambda console\n- ICMP traffic allowed by default\n\n### Private IPs\n\n```bash\n# Find private IP\nip addr show | grep 'inet '\n```\n\n## Common workflows\n\n### Workflow 1: Fine-tuning LLM\n\n```bash\n# 1. Launch 8x H100 instance with filesystem\n\n# 2. SSH and setup\nssh ubuntu@\u003CIP>\npip install transformers accelerate peft\n\n# 3. Download model to filesystem\npython -c \"\nfrom transformers import AutoModelForCausalLM\nmodel = AutoModelForCausalLM.from_pretrained('meta-llama\u002FLlama-2-7b-hf')\nmodel.save_pretrained('\u002Flambda\u002Fnfs\u002Fstorage\u002Fmodels\u002Fllama-2-7b')\n\"\n\n# 4. Fine-tune with checkpoints on filesystem\naccelerate launch --num_processes 8 train.py \\\n  --model_path \u002Flambda\u002Fnfs\u002Fstorage\u002Fmodels\u002Fllama-2-7b \\\n  --output_dir \u002Flambda\u002Fnfs\u002Fstorage\u002Foutputs \\\n  --checkpoint_dir \u002Flambda\u002Fnfs\u002Fstorage\u002Fcheckpoints\n```\n\n### Workflow 2: Batch inference\n\n```bash\n# 1. Launch A10 instance (cost-effective for inference)\n\n# 2. Run inference\npython inference.py \\\n  --model \u002Flambda\u002Fnfs\u002Fstorage\u002Fmodels\u002Ffine-tuned \\\n  --input \u002Flambda\u002Fnfs\u002Fstorage\u002Fdata\u002Finputs.jsonl \\\n  --output \u002Flambda\u002Fnfs\u002Fstorage\u002Fdata\u002Foutputs.jsonl\n```\n\n## Cost optimization\n\n### Choose right GPU\n\n| Task | Recommended GPU |\n|------|-----------------|\n| LLM fine-tuning (7B) | A100 40GB |\n| LLM fine-tuning (70B) | 8x H100 |\n| Inference | A10, A6000 |\n| Development | V100, A10 |\n| Maximum performance | B200 |\n\n### Reduce costs\n\n1. **Use filesystems**: Avoid re-downloading data\n2. **Checkpoint frequently**: Resume interrupted training\n3. **Right-size**: Don't over-provision GPUs\n4. **Terminate idle**: No auto-stop, manually terminate\n\n### Monitor usage\n\n- Dashboard shows real-time GPU utilization\n- API for programmatic monitoring\n\n## Common issues\n\n| Issue | Solution |\n|-------|----------|\n| Instance won't launch | Check region availability, try different GPU |\n| SSH connection refused | Wait for instance to initialize (3-15 min) |\n| Data lost after terminate | Use persistent filesystems |\n| Slow data transfer | Use filesystem in same region |\n| GPU not detected | Reboot instance, check drivers |\n\n## References\n\n- **[Advanced Usage](references\u002Fadvanced-usage.md)** - Multi-node training, API automation\n- **[Troubleshooting](references\u002Ftroubleshooting.md)** - Common issues and solutions\n\n## Resources\n\n- **Documentation**: https:\u002F\u002Fdocs.lambda.ai\n- **Console**: https:\u002F\u002Fcloud.lambda.ai\n- **Pricing**: https:\u002F\u002Flambda.ai\u002Finstances\n- **Support**: https:\u002F\u002Fsupport.lambdalabs.com\n- **Blog**: https:\u002F\u002Flambda.ai\u002Fblog\n",{"name":5,"tags":49,"author":53,"license":15,"version":54,"description":7,"dependencies":55},[50,36,51,52,35],"Infrastructure","Training","Inference","Orchestra Research","1.0.0",[56],"lambda-cloud-client>=1.0.0","main","2b749c82b5d11fac39d9a6e021ce3f5b8a541bd1","cli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Finfrastructure-lambda-labs",3963,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates","https:\u002F\u002Faitmpl.com","https:\u002F\u002Fgithub.com\u002Fdavila7","https:\u002F\u002Fdanielavila.me","Building AI dev tools with LLMs","2026-11-15 01:32:48",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add davila7\u002Fclaude-code-templates --skill infrastructure-lambda-labs",{"tool":73,"command":74},"bunx","bunx skills add davila7\u002Fclaude-code-templates --skill infrastructure-lambda-labs",{"tool":76,"command":77},"pnpm","pnpm dlx skills add davila7\u002Fclaude-code-templates --skill infrastructure-lambda-labs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Finfrastructure-lambda-labs\u002FSKILL.md",true,[81,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,177,181,185,189,193,197,201,207,211,215,219,223,227,231,235,239],{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"daemon\u002Fsrc\u002Fallowlist.ts","SCRIPT","脚本",4021,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Fallowlist.ts",{"path":88,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":89,"sourceHtmlUrl":90},"daemon\u002Fsrc\u002Faudit.ts",3196,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Faudit.ts",{"path":92,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":93,"sourceHtmlUrl":94},"daemon\u002Fsrc\u002Fauth-mint.ts",2875,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Fauth-mint.ts",{"path":96,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":97,"sourceHtmlUrl":98},"daemon\u002Fsrc\u002Fcli-mint.ts",4953,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Fcli-mint.ts",{"path":100,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":101,"sourceHtmlUrl":102},"daemon\u002Fsrc\u002Fdevicectl.ts",12934,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Fdevicectl.ts",{"path":104,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":105,"sourceHtmlUrl":106},"daemon\u002Fsrc\u002Findex.ts",21805,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Findex.ts",{"path":108,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":109,"sourceHtmlUrl":110},"daemon\u002Fsrc\u002Fproxy.ts",3904,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Fproxy.ts",{"path":112,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":113,"sourceHtmlUrl":114},"daemon\u002Fsrc\u002Fsession-tokens.ts",3835,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Fsession-tokens.ts",{"path":116,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":117,"sourceHtmlUrl":118},"daemon\u002Fsrc\u002Fsingle-instance.ts",5445,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Fsingle-instance.ts",{"path":120,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":121,"sourceHtmlUrl":122},"daemon\u002Fsrc\u002Ftailscale-localapi.ts",4509,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Ftailscale-localapi.ts",{"path":124,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":125,"sourceHtmlUrl":126},"daemon\u002Fsrc\u002Ftunnel-bootstrap.ts",12679,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Ftunnel-bootstrap.ts",{"path":128,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":129,"sourceHtmlUrl":130},"daemon\u002Fsrc\u002Ftypes.ts",2704,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Fsrc\u002Ftypes.ts",{"path":132,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":133,"sourceHtmlUrl":134},"daemon\u002Ftest\u002Fallowlist.test.ts",5850,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Fallowlist.test.ts",{"path":136,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":137,"sourceHtmlUrl":138},"daemon\u002Ftest\u002Faudit.test.ts",3916,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Faudit.test.ts",{"path":140,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":141,"sourceHtmlUrl":142},"daemon\u002Ftest\u002Fauth-mint.test.ts",3563,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Fauth-mint.test.ts",{"path":144,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":145,"sourceHtmlUrl":146},"daemon\u002Ftest\u002Fcli-mint.test.ts",4307,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Fcli-mint.test.ts",{"path":148,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":149,"sourceHtmlUrl":150},"daemon\u002Ftest\u002Fdaemon-integration.test.ts",23794,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Fdaemon-integration.test.ts",{"path":152,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":153,"sourceHtmlUrl":154},"daemon\u002Ftest\u002Fproxy-classify.test.ts",2422,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Fproxy-classify.test.ts",{"path":156,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":157,"sourceHtmlUrl":158},"daemon\u002Ftest\u002Fsession-tokens.test.ts",6915,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Fsession-tokens.test.ts",{"path":160,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":161,"sourceHtmlUrl":162},"daemon\u002Ftest\u002Fsingle-instance.test.ts",3371,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Fsingle-instance.test.ts",{"path":164,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":165,"sourceHtmlUrl":166},"daemon\u002Ftest\u002Ftailscale-localapi.test.ts",1952,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Ftailscale-localapi.test.ts",{"path":168,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":169,"sourceHtmlUrl":170},"daemon\u002Ftest\u002Ftunnel-bootstrap.test.ts",29357,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdaemon\u002Ftest\u002Ftunnel-bootstrap.test.ts",{"path":172,"resourceType":173,"resourceTypeDesc":174,"sizeBytes":175,"sourceHtmlUrl":176},"docs\u002Ftailscale-acl-example.md","REFERENCE","参考文档",5375,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fdocs\u002Ftailscale-acl-example.md",{"path":178,"resourceType":173,"resourceTypeDesc":174,"sizeBytes":179,"sourceHtmlUrl":180},"references\u002Fadvanced-usage.md",15100,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Finfrastructure-lambda-labs\u002Freferences\u002Fadvanced-usage.md",{"path":182,"resourceType":173,"resourceTypeDesc":174,"sizeBytes":183,"sourceHtmlUrl":184},"references\u002Ftroubleshooting.md",11683,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Finfrastructure-lambda-labs\u002Freferences\u002Ftroubleshooting.md",{"path":186,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":187,"sourceHtmlUrl":188},"scripts\u002Fgen-accessors-tool\u002FPackage.swift",1176,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fscripts\u002Fgen-accessors-tool\u002FPackage.swift",{"path":190,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":191,"sourceHtmlUrl":192},"scripts\u002Fgen-accessors-tool\u002FSources\u002FGenAccessors\u002Fmain.swift",30038,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fscripts\u002Fgen-accessors-tool\u002FSources\u002FGenAccessors\u002Fmain.swift",{"path":194,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":195,"sourceHtmlUrl":196},"scripts\u002Fgen-accessors.test.ts",37530,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fscripts\u002Fgen-accessors.test.ts",{"path":198,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":199,"sourceHtmlUrl":200},"scripts\u002Fgen-accessors.ts",32800,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Fscripts\u002Fgen-accessors.ts",{"path":202,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":205,"sourceHtmlUrl":206},"SKILL.md.tmpl","OTHER","其他",11461,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002FSKILL.md.tmpl",{"path":208,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":209,"sourceHtmlUrl":210},"templates\u002FBridges.swift.template",18479,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Ftemplates\u002FBridges.swift.template",{"path":212,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":213,"sourceHtmlUrl":214},"templates\u002FDebugBridgeManager.swift.template",1501,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Ftemplates\u002FDebugBridgeManager.swift.template",{"path":216,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":217,"sourceHtmlUrl":218},"templates\u002FDebugBridgeTouch.h.template",1469,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Ftemplates\u002FDebugBridgeTouch.h.template",{"path":220,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":221,"sourceHtmlUrl":222},"templates\u002FDebugBridgeTouch.m.template",13633,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Ftemplates\u002FDebugBridgeTouch.m.template",{"path":224,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":225,"sourceHtmlUrl":226},"templates\u002FDebugBridgeWiring.swift.template",1805,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Ftemplates\u002FDebugBridgeWiring.swift.template",{"path":228,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":229,"sourceHtmlUrl":230},"templates\u002FDebugOverlay.swift.template",4669,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Ftemplates\u002FDebugOverlay.swift.template",{"path":232,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":233,"sourceHtmlUrl":234},"templates\u002FPackage.swift.template",2417,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Ftemplates\u002FPackage.swift.template",{"path":236,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":237,"sourceHtmlUrl":238},"templates\u002FStateAccessor.swift.template",1535,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Ftemplates\u002FStateAccessor.swift.template",{"path":240,"resourceType":203,"resourceTypeDesc":204,"sizeBytes":241,"sourceHtmlUrl":242},"templates\u002FStateServer.swift.template",25459,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgstack\u002Fios-qa\u002Ftemplates\u002FStateServer.swift.template",[244,273,300,332,367,391],{"skillNo":245,"name":246,"nameZh":6,"description":247,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":248,"categories":249,"keywords":255,"publishedAt":44},"01M70NHBTQ8BV0A2SCAZXEPHCX","wealthville-pool-scoring","Score DeFi liquidity pools before providing liquidity. Returns a 0-100 pool score and an Enter\u002FHold\u002FExit\u002FReduce\u002FAvoid verdict with calibrated confidence for ~68,800 Solana pools and 575 EVM pools, plus a public miss-inclusive track record. Use when asked whether a pool is worth LPing into, which pools look best right now, or how accurate the scores have actually been.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fweb-data\u002Fwealthville-pool-scoring\u002FSKILL.md",[250],{"categoryNo":251,"categoryName":252,"taxonomyType":253,"taxonomyTypeDesc":254},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[256,257,258,259,260,26,261,262,32,25,263,264,265,266,267,268,269,270,271,272],"scoring","pool","wealthville pool scoring","liquidity","which","exit","now","reduce","with","record","track","verdict","evm","solana","how","public","look",{"skillNo":274,"name":275,"nameZh":6,"description":276,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":277,"categories":278,"keywords":280,"publishedAt":44},"01M70MB6VR8ERJ4EM8D5KHBMEV","technical-debt-auditor","Scans a codebase and produces a quantified technical debt report with a prioritized remediation plan. Analyzes dead code, TODO\u002FFIXME\u002FHACK markers, dependency staleness, complexity hotspots, code duplication signals, test coverage gaps, unused exports, and outdated patterns. Use this skill when the user asks to audit their codebase for tech debt, wants a health check of their code quality, says things like \"where should I focus refactoring\", \"find code smells\", \"audit my codebase\", \"what technical debt do we have\", \"prioritize cleanup work\", or asks about code quality metrics. Also trigger when the user mentions \"code rot\", \"legacy cleanup\", \"refactoring priorities\", or wants to understand the overall health of a project before a major effort. Trigger even if the user doesn't say \"technical debt\" explicitly — any request to systematically assess code quality and identify improvement priorities belongs here.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Ftechnical-debt-auditor\u002FSKILL.md",[279],{"categoryNo":251,"categoryName":252,"taxonomyType":253,"taxonomyTypeDesc":254},[281,282,283,284,285,286,287,288,289,290,291,25,292,293,294,295,296,297,298,299],"technical debt","debt","technical","technical debt auditor","auditor","coverage","complexity","markers","project","cleanup","unused","code","todo","work","plan","focus","signals","audit","dependency",{"skillNo":301,"name":302,"nameZh":6,"description":303,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":304,"categories":305,"keywords":315,"publishedAt":44},"01M70KPYH9QNHCNME5GJQGE22K","readonly-sql-guard","Make an agent's database access provably read-only. Use when an agent runs caller-supplied SQL against a production\u002FERP\u002Fanalytics database (a \"query\" MCP tool, text-to-SQL, an admin console), or when reviewing DB-access code for write\u002FDDL\u002Fside-effect\u002Ftransaction-escape risks. Checks what a statement CALLS, not just its shape.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdatabase\u002Freadonly-sql-guard\u002FSKILL.md",[306,309,310],{"categoryNo":307,"categoryName":308,"taxonomyType":253,"taxonomyTypeDesc":254},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":251,"categoryName":252,"taxonomyType":253,"taxonomyTypeDesc":254},{"categoryNo":311,"categoryName":312,"taxonomyType":313,"taxonomyTypeDesc":314},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[316,317,318,319,320,321,322,26,323,324,325,326,327,328,329,32,34,330,25,331],"readonly","guard","sql guard","sql","readonly sql guard","erp","effect","read-only","db","just","tool","calls","only","MCP","database","query",{"skillNo":333,"name":334,"nameZh":6,"description":335,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":336,"licenseFileUrl":337,"sourceHtmlUrl":338,"categories":339,"keywords":343,"publishedAt":44},"01M6AFY6F7CC2BBZP1QD6VTNVC","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FSKILL.md",[340],{"categoryNo":341,"categoryName":342,"taxonomyType":253,"taxonomyTypeDesc":254},"01JBSEEDCAT000000000000009","前端开发",[344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,26,366],"artifacts builder","web","web artifacts builder","artifacts","builder","state","routing","state management","component","css","frontend","ui","Tools","file","components","shadcn","react","Tailwind","suite","jsx","html","single-file","ui components",{"skillNo":368,"name":369,"nameZh":6,"description":370,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":336,"licenseFileUrl":371,"sourceHtmlUrl":372,"categories":373,"keywords":378,"publishedAt":44},"01M6AFWF33SFV9Z3SF4PEEE4BF","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FSKILL.md",[374,377],{"categoryNo":375,"categoryName":376,"taxonomyType":253,"taxonomyTypeDesc":254},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":341,"categoryName":342,"taxonomyType":253,"taxonomyTypeDesc":254},[379,380,381,382,383,345,384,354,355,385,386,387,388,26,389,264,390],"webapp testing","testing","webapp","browser","playwright","applications","debugging","toolkit","logs","screenshots","local","behavior",{"skillNo":392,"name":393,"nameZh":6,"description":394,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":336,"licenseFileUrl":395,"sourceHtmlUrl":396,"categories":397,"keywords":405,"publishedAt":44},"01M6AF67Q67JJJ5V51JR2P52KA","discernment-nudge","After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or interpretation of data, factual claims they may rely on, or a multi-step argument — invoke this skill BEFORE finalizing your reply and then, if it applies, append 2-3 short follow-up questions, each tied to something specific in what you just produced, that help the user check key facts, probe the reasoning or assumptions, and notice missing context. Do this at most once per conversation. Skip it when the user asked a trivial how-to or simple lookup, wants a purely educational explanation, asked you only to format, convert, or assemble a file from content they provided, is writing code they will run, is doing creative writing or casual chat, or already asked you to double-check, cite, or review — the skill file explains these boundaries and the exact output format.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fdiscernment-nudge\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fdiscernment-nudge\u002FSKILL.md",[398,401,402],{"categoryNo":399,"categoryName":400,"taxonomyType":253,"taxonomyTypeDesc":254},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":251,"categoryName":252,"taxonomyType":253,"taxonomyTypeDesc":254},{"categoryNo":403,"categoryName":404,"taxonomyType":313,"taxonomyTypeDesc":314},"01JBSEEDCAT000000000000036","内容创作者",[406,407,408,409,410,411,412,413,347,414,357,292,415,416,417,418,419,328,420,25,28,421,422,423,424,270,425],"discernment nudge","nudge","interpretation","help","run","reasoning","data","writing","lookup","content","review","conversation","short","up","invoke","analysis","claims","argument","assemble","recommendations"]