[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CA9CQEWEZ8RTWW2A2CSMT0":3,"skill-same:01M6CA9CQEWEZ8RTWW2A2CSMT0":90},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M6CA9CQEWEZ8RTWW2A2CSMT0","modal-serverless-gpu",null,"Serverless GPU cloud platform for running ML workloads. Use when you need on-demand GPU access without infrastructure management, deploying ML models as APIs, or running batch jobs with automatic scaling.","adnichols\u002Fai-configs","adnichols","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F493746?v=4","01M6C33VRY9WF6XWYPT1AFA7JJ","Aaron Nichols","01M6C33VWTNKGRM92E9G643V4W",5,"MIT","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fmlops\u002Fcloud\u002Fmodal\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"gpu","modal","serverless","modal serverless gpu","research","ml","infrastructure","deployment","batch","cloud","GPU Cloud","access","management","use","2026-11-10 10:12:30",false,"---\nname: modal-serverless-gpu\ndescription: Serverless GPU cloud platform for running ML workloads. Use when you need on-demand GPU access without infrastructure management, deploying ML models as APIs, or running batch jobs with automatic scaling.\nversion: 1.0.0\nauthor: Orchestra Research\nlicense: MIT\ndependencies: [modal>=0.64.0]\nmetadata:\n  hermes:\n    tags: [Infrastructure, Serverless, GPU, Cloud, Deployment, Modal]\n\n---\n\n# Modal Serverless GPU\n\nComprehensive guide to running ML workloads on Modal's serverless GPU cloud platform.\n\n## When to use Modal\n\n**Use Modal when:**\n- Running GPU-intensive ML workloads without managing infrastructure\n- Deploying ML models as auto-scaling APIs\n- Running batch processing jobs (training, inference, data processing)\n- Need pay-per-second GPU pricing without idle costs\n- Prototyping ML applications quickly\n- Running scheduled jobs (cron-like workloads)\n\n**Key features:**\n- **Serverless GPUs**: T4, L4, A10G, L40S, A100, H100, H200, B200 on-demand\n- **Python-native**: Define infrastructure in Python code, no YAML\n- **Auto-scaling**: Scale to zero, scale to 100+ GPUs instantly\n- **Sub-second cold starts**: Rust-based infrastructure for fast container launches\n- **Container caching**: Image layers cached for rapid iteration\n- **Web endpoints**: Deploy functions as REST APIs with zero-downtime updates\n\n**Use alternatives instead:**\n- **RunPod**: For longer-running pods with persistent state\n- **Lambda Labs**: For reserved GPU instances\n- **SkyPilot**: For multi-cloud orchestration and cost optimization\n- **Kubernetes**: For complex multi-service architectures\n\n## Quick start\n\n### Installation\n\n```bash\npip install modal\nmodal setup  # Opens browser for authentication\n```\n\n### Hello World with GPU\n\n```python\nimport modal\n\napp = modal.App(\"hello-gpu\")\n\n@app.function(gpu=\"T4\")\ndef gpu_info():\n    import subprocess\n    return subprocess.run([\"nvidia-smi\"], capture_output=True, text=True).stdout\n\n@app.local_entrypoint()\ndef main():\n    print(gpu_info.remote())\n```\n\nRun: `modal run hello_gpu.py`\n\n### Basic inference endpoint\n\n```python\nimport modal\n\napp = modal.App(\"text-generation\")\nimage = modal.Image.debian_slim().pip_install(\"transformers\", \"torch\", \"accelerate\")\n\n@app.cls(gpu=\"A10G\", image=image)\nclass TextGenerator:\n    @modal.enter()\n    def load_model(self):\n        from transformers import pipeline\n        self.pipe = pipeline(\"text-generation\", model=\"gpt2\", device=0)\n\n    @modal.method()\n    def generate(self, prompt: str) -> str:\n        return self.pipe(prompt, max_length=100)[0][\"generated_text\"]\n\n@app.local_entrypoint()\ndef main():\n    print(TextGenerator().generate.remote(\"Hello, world\"))\n```\n\n## Core concepts\n\n### Key components\n\n| Component | Purpose |\n|-----------|---------|\n| `App` | Container for functions and resources |\n| `Function` | Serverless function with compute specs |\n| `Cls` | Class-based functions with lifecycle hooks |\n| `Image` | Container image definition |\n| `Volume` | Persistent storage for models\u002Fdata |\n| `Secret` | Secure credential storage |\n\n### Execution modes\n\n| Command | Description |\n|---------|-------------|\n| `modal run script.py` | Execute and exit |\n| `modal serve script.py` | Development with live reload |\n| `modal deploy script.py` | Persistent cloud deployment |\n\n## GPU configuration\n\n### Available GPUs\n\n| GPU | VRAM | Best For |\n|-----|------|----------|\n| `T4` | 16GB | Budget inference, small models |\n| `L4` | 24GB | Inference, Ada Lovelace arch |\n| `A10G` | 24GB | Training\u002Finference, 3.3x faster than T4 |\n| `L40S` | 48GB | Recommended for inference (best cost\u002Fperf) |\n| `A100-40GB` | 40GB | Large model training |\n| `A100-80GB` | 80GB | Very large models |\n| `H100` | 80GB | Fastest, FP8 + Transformer Engine |\n| `H200` | 141GB | Auto-upgrade from H100, 4.8TB\u002Fs bandwidth |\n| `B200` | Latest | Blackwell architecture |\n\n### GPU specification patterns\n\n```python\n# Single GPU\n@app.function(gpu=\"A100\")\n\n# Specific memory variant\n@app.function(gpu=\"A100-80GB\")\n\n# Multiple GPUs (up to 8)\n@app.function(gpu=\"H100:4\")\n\n# GPU with fallbacks\n@app.function(gpu=[\"H100\", \"A100\", \"L40S\"])\n\n# Any available GPU\n@app.function(gpu=\"any\")\n```\n\n## Container images\n\n```python\n# Basic image with pip\nimage = modal.Image.debian_slim(python_version=\"3.11\").pip_install(\n    \"torch==2.1.0\", \"transformers==4.36.0\", \"accelerate\"\n)\n\n# From CUDA base\nimage = modal.Image.from_registry(\n    \"nvidia\u002Fcuda:12.1.0-cudnn8-devel-ubuntu22.04\",\n    add_python=\"3.11\"\n).pip_install(\"torch\", \"transformers\")\n\n# With system packages\nimage = modal.Image.debian_slim().apt_install(\"git\", \"ffmpeg\").pip_install(\"whisper\")\n```\n\n## Persistent storage\n\n```python\nvolume = modal.Volume.from_name(\"model-cache\", create_if_missing=True)\n\n@app.function(gpu=\"A10G\", volumes={\"\u002Fmodels\": volume})\ndef load_model():\n    import os\n    model_path = \"\u002Fmodels\u002Fllama-7b\"\n    if not os.path.exists(model_path):\n        model = download_model()\n        model.save_pretrained(model_path)\n        volume.commit()  # Persist changes\n    return load_from_path(model_path)\n```\n\n## Web endpoints\n\n### FastAPI endpoint decorator\n\n```python\n@app.function()\n@modal.fastapi_endpoint(method=\"POST\")\ndef predict(text: str) -> dict:\n    return {\"result\": model.predict(text)}\n```\n\n### Full ASGI app\n\n```python\nfrom fastapi import FastAPI\nweb_app = FastAPI()\n\n@web_app.post(\"\u002Fpredict\")\nasync def predict(text: str):\n    return {\"result\": await model.predict.remote.aio(text)}\n\n@app.function()\n@modal.asgi_app()\ndef fastapi_app():\n    return web_app\n```\n\n### Web endpoint types\n\n| Decorator | Use Case |\n|-----------|----------|\n| `@modal.fastapi_endpoint()` | Simple function → API |\n| `@modal.asgi_app()` | Full FastAPI\u002FStarlette apps |\n| `@modal.wsgi_app()` | Django\u002FFlask apps |\n| `@modal.web_server(port)` | Arbitrary HTTP servers |\n\n## Dynamic batching\n\n```python\n@app.function()\n@modal.batched(max_batch_size=32, wait_ms=100)\nasync def batch_predict(inputs: list[str]) -> list[dict]:\n    # Inputs automatically batched\n    return model.batch_predict(inputs)\n```\n\n## Secrets management\n\n```bash\n# Create secret\nmodal secret create huggingface HF_TOKEN=hf_xxx\n```\n\n```python\n@app.function(secrets=[modal.Secret.from_name(\"huggingface\")])\ndef download_model():\n    import os\n    token = os.environ[\"HF_TOKEN\"]\n```\n\n## Scheduling\n\n```python\n@app.function(schedule=modal.Cron(\"0 0 * * *\"))  # Daily midnight\ndef daily_job():\n    pass\n\n@app.function(schedule=modal.Period(hours=1))\ndef hourly_job():\n    pass\n```\n\n## Performance optimization\n\n### Cold start mitigation\n\n```python\n@app.function(\n    container_idle_timeout=300,  # Keep warm 5 min\n    allow_concurrent_inputs=10,  # Handle concurrent requests\n)\ndef inference():\n    pass\n```\n\n### Model loading best practices\n\n```python\n@app.cls(gpu=\"A100\")\nclass Model:\n    @modal.enter()  # Run once at container start\n    def load(self):\n        self.model = load_model()  # Load during warm-up\n\n    @modal.method()\n    def predict(self, x):\n        return self.model(x)\n```\n\n## Parallel processing\n\n```python\n@app.function()\ndef process_item(item):\n    return expensive_computation(item)\n\n@app.function()\ndef run_parallel():\n    items = list(range(1000))\n    # Fan out to parallel containers\n    results = list(process_item.map(items))\n    return results\n```\n\n## Common configuration\n\n```python\n@app.function(\n    gpu=\"A100\",\n    memory=32768,              # 32GB RAM\n    cpu=4,                     # 4 CPU cores\n    timeout=3600,              # 1 hour max\n    container_idle_timeout=120,# Keep warm 2 min\n    retries=3,                 # Retry on failure\n    concurrency_limit=10,      # Max concurrent containers\n)\ndef my_function():\n    pass\n```\n\n## Debugging\n\n```python\n# Test locally\nif __name__ == \"__main__\":\n    result = my_function.local()\n\n# View logs\n# modal app logs my-app\n```\n\n## Common issues\n\n| Issue | Solution |\n|-------|----------|\n| Cold start latency | Increase `container_idle_timeout`, use `@modal.enter()` |\n| GPU OOM | Use larger GPU (`A100-80GB`), enable gradient checkpointing |\n| Image build fails | Pin dependency versions, check CUDA compatibility |\n| Timeout errors | Increase `timeout`, add checkpointing |\n\n## References\n\n- **[Advanced Usage](references\u002Fadvanced-usage.md)** - Multi-GPU, distributed training, cost optimization\n- **[Troubleshooting](references\u002Ftroubleshooting.md)** - Common issues and solutions\n\n## Resources\n\n- **Documentation**: https:\u002F\u002Fmodal.com\u002Fdocs\n- **Examples**: https:\u002F\u002Fgithub.com\u002Fmodal-labs\u002Fmodal-examples\n- **Pricing**: https:\u002F\u002Fmodal.com\u002Fpricing\n- **Discord**: https:\u002F\u002Fdiscord.gg\u002Fmodal\n","# Modal Serverless GPU\n\nComprehensive guide to running ML workloads on Modal's serverless GPU cloud platform.\n\n## When to use Modal\n\n**Use Modal when:**\n- Running GPU-intensive ML workloads without managing infrastructure\n- Deploying ML models as auto-scaling APIs\n- Running batch processing jobs (training, inference, data processing)\n- Need pay-per-second GPU pricing without idle costs\n- Prototyping ML applications quickly\n- Running scheduled jobs (cron-like workloads)\n\n**Key features:**\n- **Serverless GPUs**: T4, L4, A10G, L40S, A100, H100, H200, B200 on-demand\n- **Python-native**: Define infrastructure in Python code, no YAML\n- **Auto-scaling**: Scale to zero, scale to 100+ GPUs instantly\n- **Sub-second cold starts**: Rust-based infrastructure for fast container launches\n- **Container caching**: Image layers cached for rapid iteration\n- **Web endpoints**: Deploy functions as REST APIs with zero-downtime updates\n\n**Use alternatives instead:**\n- **RunPod**: For longer-running pods with persistent state\n- **Lambda Labs**: For reserved GPU instances\n- **SkyPilot**: For multi-cloud orchestration and cost optimization\n- **Kubernetes**: For complex multi-service architectures\n\n## Quick start\n\n### Installation\n\n```bash\npip install modal\nmodal setup  # Opens browser for authentication\n```\n\n### Hello World with GPU\n\n```python\nimport modal\n\napp = modal.App(\"hello-gpu\")\n\n@app.function(gpu=\"T4\")\ndef gpu_info():\n    import subprocess\n    return subprocess.run([\"nvidia-smi\"], capture_output=True, text=True).stdout\n\n@app.local_entrypoint()\ndef main():\n    print(gpu_info.remote())\n```\n\nRun: `modal run hello_gpu.py`\n\n### Basic inference endpoint\n\n```python\nimport modal\n\napp = modal.App(\"text-generation\")\nimage = modal.Image.debian_slim().pip_install(\"transformers\", \"torch\", \"accelerate\")\n\n@app.cls(gpu=\"A10G\", image=image)\nclass TextGenerator:\n    @modal.enter()\n    def load_model(self):\n        from transformers import pipeline\n        self.pipe = pipeline(\"text-generation\", model=\"gpt2\", device=0)\n\n    @modal.method()\n    def generate(self, prompt: str) -> str:\n        return self.pipe(prompt, max_length=100)[0][\"generated_text\"]\n\n@app.local_entrypoint()\ndef main():\n    print(TextGenerator().generate.remote(\"Hello, world\"))\n```\n\n## Core concepts\n\n### Key components\n\n| Component | Purpose |\n|-----------|---------|\n| `App` | Container for functions and resources |\n| `Function` | Serverless function with compute specs |\n| `Cls` | Class-based functions with lifecycle hooks |\n| `Image` | Container image definition |\n| `Volume` | Persistent storage for models\u002Fdata |\n| `Secret` | Secure credential storage |\n\n### Execution modes\n\n| Command | Description |\n|---------|-------------|\n| `modal run script.py` | Execute and exit |\n| `modal serve script.py` | Development with live reload |\n| `modal deploy script.py` | Persistent cloud deployment |\n\n## GPU configuration\n\n### Available GPUs\n\n| GPU | VRAM | Best For |\n|-----|------|----------|\n| `T4` | 16GB | Budget inference, small models |\n| `L4` | 24GB | Inference, Ada Lovelace arch |\n| `A10G` | 24GB | Training\u002Finference, 3.3x faster than T4 |\n| `L40S` | 48GB | Recommended for inference (best cost\u002Fperf) |\n| `A100-40GB` | 40GB | Large model training |\n| `A100-80GB` | 80GB | Very large models |\n| `H100` | 80GB | Fastest, FP8 + Transformer Engine |\n| `H200` | 141GB | Auto-upgrade from H100, 4.8TB\u002Fs bandwidth |\n| `B200` | Latest | Blackwell architecture |\n\n### GPU specification patterns\n\n```python\n# Single GPU\n@app.function(gpu=\"A100\")\n\n# Specific memory variant\n@app.function(gpu=\"A100-80GB\")\n\n# Multiple GPUs (up to 8)\n@app.function(gpu=\"H100:4\")\n\n# GPU with fallbacks\n@app.function(gpu=[\"H100\", \"A100\", \"L40S\"])\n\n# Any available GPU\n@app.function(gpu=\"any\")\n```\n\n## Container images\n\n```python\n# Basic image with pip\nimage = modal.Image.debian_slim(python_version=\"3.11\").pip_install(\n    \"torch==2.1.0\", \"transformers==4.36.0\", \"accelerate\"\n)\n\n# From CUDA base\nimage = modal.Image.from_registry(\n    \"nvidia\u002Fcuda:12.1.0-cudnn8-devel-ubuntu22.04\",\n    add_python=\"3.11\"\n).pip_install(\"torch\", \"transformers\")\n\n# With system packages\nimage = modal.Image.debian_slim().apt_install(\"git\", \"ffmpeg\").pip_install(\"whisper\")\n```\n\n## Persistent storage\n\n```python\nvolume = modal.Volume.from_name(\"model-cache\", create_if_missing=True)\n\n@app.function(gpu=\"A10G\", volumes={\"\u002Fmodels\": volume})\ndef load_model():\n    import os\n    model_path = \"\u002Fmodels\u002Fllama-7b\"\n    if not os.path.exists(model_path):\n        model = download_model()\n        model.save_pretrained(model_path)\n        volume.commit()  # Persist changes\n    return load_from_path(model_path)\n```\n\n## Web endpoints\n\n### FastAPI endpoint decorator\n\n```python\n@app.function()\n@modal.fastapi_endpoint(method=\"POST\")\ndef predict(text: str) -> dict:\n    return {\"result\": model.predict(text)}\n```\n\n### Full ASGI app\n\n```python\nfrom fastapi import FastAPI\nweb_app = FastAPI()\n\n@web_app.post(\"\u002Fpredict\")\nasync def predict(text: str):\n    return {\"result\": await model.predict.remote.aio(text)}\n\n@app.function()\n@modal.asgi_app()\ndef fastapi_app():\n    return web_app\n```\n\n### Web endpoint types\n\n| Decorator | Use Case |\n|-----------|----------|\n| `@modal.fastapi_endpoint()` | Simple function → API |\n| `@modal.asgi_app()` | Full FastAPI\u002FStarlette apps |\n| `@modal.wsgi_app()` | Django\u002FFlask apps |\n| `@modal.web_server(port)` | Arbitrary HTTP servers |\n\n## Dynamic batching\n\n```python\n@app.function()\n@modal.batched(max_batch_size=32, wait_ms=100)\nasync def batch_predict(inputs: list[str]) -> list[dict]:\n    # Inputs automatically batched\n    return model.batch_predict(inputs)\n```\n\n## Secrets management\n\n```bash\n# Create secret\nmodal secret create huggingface HF_TOKEN=hf_xxx\n```\n\n```python\n@app.function(secrets=[modal.Secret.from_name(\"huggingface\")])\ndef download_model():\n    import os\n    token = os.environ[\"HF_TOKEN\"]\n```\n\n## Scheduling\n\n```python\n@app.function(schedule=modal.Cron(\"0 0 * * *\"))  # Daily midnight\ndef daily_job():\n    pass\n\n@app.function(schedule=modal.Period(hours=1))\ndef hourly_job():\n    pass\n```\n\n## Performance optimization\n\n### Cold start mitigation\n\n```python\n@app.function(\n    container_idle_timeout=300,  # Keep warm 5 min\n    allow_concurrent_inputs=10,  # Handle concurrent requests\n)\ndef inference():\n    pass\n```\n\n### Model loading best practices\n\n```python\n@app.cls(gpu=\"A100\")\nclass Model:\n    @modal.enter()  # Run once at container start\n    def load(self):\n        self.model = load_model()  # Load during warm-up\n\n    @modal.method()\n    def predict(self, x):\n        return self.model(x)\n```\n\n## Parallel processing\n\n```python\n@app.function()\ndef process_item(item):\n    return expensive_computation(item)\n\n@app.function()\ndef run_parallel():\n    items = list(range(1000))\n    # Fan out to parallel containers\n    results = list(process_item.map(items))\n    return results\n```\n\n## Common configuration\n\n```python\n@app.function(\n    gpu=\"A100\",\n    memory=32768,              # 32GB RAM\n    cpu=4,                     # 4 CPU cores\n    timeout=3600,              # 1 hour max\n    container_idle_timeout=120,# Keep warm 2 min\n    retries=3,                 # Retry on failure\n    concurrency_limit=10,      # Max concurrent containers\n)\ndef my_function():\n    pass\n```\n\n## Debugging\n\n```python\n# Test locally\nif __name__ == \"__main__\":\n    result = my_function.local()\n\n# View logs\n# modal app logs my-app\n```\n\n## Common issues\n\n| Issue | Solution |\n|-------|----------|\n| Cold start latency | Increase `container_idle_timeout`, use `@modal.enter()` |\n| GPU OOM | Use larger GPU (`A100-80GB`), enable gradient checkpointing |\n| Image build fails | Pin dependency versions, check CUDA compatibility |\n| Timeout errors | Increase `timeout`, add checkpointing |\n\n## References\n\n- **[Advanced Usage](references\u002Fadvanced-usage.md)** - Multi-GPU, distributed training, cost optimization\n- **[Troubleshooting](references\u002Ftroubleshooting.md)** - Common issues and solutions\n\n## Resources\n\n- **Documentation**: https:\u002F\u002Fmodal.com\u002Fdocs\n- **Examples**: https:\u002F\u002Fgithub.com\u002Fmodal-labs\u002Fmodal-examples\n- **Pricing**: https:\u002F\u002Fmodal.com\u002Fpricing\n- **Discord**: https:\u002F\u002Fdiscord.gg\u002Fmodal\n",{"name":5,"author":38,"license":15,"version":39,"metadata":40,"description":7,"dependencies":49},"Orchestra Research","1.0.0",{"hermes":41},{"tags":42},[43,44,45,46,47,48],"Infrastructure","Serverless","GPU","Cloud","Deployment","Modal",[50],"modal>=0.64.0","main","64e2fc9afa7bb3da1138eb73399144d0e7e73e9d","_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fmlops\u002Fcloud\u002Fmodal",4,"https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs","https:\u002F\u002Fgithub.com\u002Fadnichols","2026-11-06 00:28:38",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add adnichols\u002Fai-configs --skill modal-serverless-gpu",{"tool":64,"command":65},"bunx","bunx skills add adnichols\u002Fai-configs --skill modal-serverless-gpu",{"tool":67,"command":68},"pnpm","pnpm dlx skills add adnichols\u002Fai-configs --skill modal-serverless-gpu","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fmlops\u002Fcloud\u002Fmodal\u002FSKILL.md",true,[72,78,82,86],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"evals\u002Fevals.json","REFERENCE","参考文档",3121,"https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fproduct\u002Fbrainstorm\u002Fevals\u002Fevals.json",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fadvanced-usage.md",10903,"https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fmlops\u002Fcloud\u002Fmodal\u002Freferences\u002Fadvanced-usage.md",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Ftechniques.md",5338,"https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fproduct\u002Fbrainstorm\u002Freferences\u002Ftechniques.md",{"path":87,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Ftroubleshooting.md",10516,"https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fmlops\u002Fcloud\u002Fmodal\u002Freferences\u002Ftroubleshooting.md",[91,111,145,170,181,197],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":33},"01M6CB7RN791P5RRRCJWWC7DAR","blocked-page-recovery","Use when a fetch fails: 403\u002F429, paywall, WAF, bot wall.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fweb\u002Fblocked-page-recovery\u002FSKILL.md",[],[98,99,100,101,102,32,103,104,105,106,107,108,23,109,110],"recovery","page","blocked page recovery","bot","fallback","fetch","hermes agent","hermes","Citations","waf","windows","linux","macos",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":130,"publishedAt":33},"01M6CB7NQY2VVYCQJ1QBXACQF4","writing-plans","Use when creating or updating executable software plans. Keep plans as local files unless the user explicitly asks to register them in Doct.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[117,122,125],{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":123,"categoryName":124,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[131,132,133,134,135,136,137,138,139,140,141,142,32,143,104,105,144],"writing","writing plans","documentation","test","workflow","design","user","development","planning","files","implementation","html","ops","plan",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":160,"publishedAt":33},"01M6CB7JME246KZQHP73Z2STDF","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[151,154,157],{"categoryNo":152,"categoryName":153,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":155,"categoryName":156,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":158,"categoryName":159,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000037","律师与法务",[134,138,161,162,163,104,105,164,144,165,166,167,110,168,109,169,108],"test driven development","red-green-refactor","superpowers","quality","refactor","code","debugging","tdd","testing",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":177,"publishedAt":33},"01M6CB7FQ407KQTD4Z9VAWKY54","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[176],{"categoryNo":155,"categoryName":156,"taxonomyType":120,"taxonomyTypeDesc":121},[167,178,138,163,104,105,179,144,180,108,134,109,110],"systematic debugging","troubleshooting","investigation",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":190,"publishedAt":33},"01M6CB7D57MK88HE5YPZHKH68Q","spike","Throwaway experiments to validate an idea before build.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fspike\u002FSKILL.md",[187],{"categoryNo":188,"categoryName":189,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000021","资料检索与研究",[183,108,191,192,23,193,109,110,194,195,196,104,105,144,139],"validate","experiments","prototype","feasibility","sketch","experiment",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":207,"publishedAt":33},"01M6CB7APAQ37YE5YE1MAAFT42","simplify-code","Parallel 3-agent cleanup of recent code changes.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fsimplify-code\u002FSKILL.md",[203,204],{"categoryNo":123,"categoryName":124,"taxonomyType":120,"taxonomyTypeDesc":121},{"categoryNo":205,"categoryName":206,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000030","开发工程师",[208,209,166,210,104,105,211,144,165,212,213,214,138,108,134,109,215,110],"simplify code","simplify","subagent","parallel","code-review","delegation","cleanup","review"]