[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M72AYMP6MDPPKX0Q4DC92EBX":3,"skill-same:01M72AYMP6MDPPKX0Q4DC92EBX":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":23,"commitSha":24,"skillDirectory":25,"forksCount":13,"repositoryHtmlUrl":26,"repositoryHomepageUrl":6,"ownerHtmlUrl":27,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":28,"install":29,"resources":42},"01M72AYMP6MDPPKX0Q4DC92EBX","arboreto",null,"Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.","Sansar35\u002Fclaude-agent","Sansar35","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F145020281?v=4","01M724CQ2SCC86MGNSD87D0D4K","01M724CQ3965G9WJ3QXE3AJ5YY",1,"MIT","https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Farboreto\u002FSKILL.md",[],[],"2026-11-10 18:39:20",false,"---\nname: arboreto\ndescription: Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.\n---\n\n# Arboreto\n\n## Overview\n\nArboreto is a computational library for inferring gene regulatory networks (GRNs) from gene expression data using parallelized algorithms that scale from single machines to multi-node clusters.\n\n**Core capability**: Identify which transcription factors (TFs) regulate which target genes based on expression patterns across observations (cells, samples, conditions).\n\n## Quick Start\n\nInstall arboreto:\n```bash\nuv pip install arboreto\n```\n\nBasic GRN inference:\n```python\nimport pandas as pd\nfrom arboreto.algo import grnboost2\n\nif __name__ == '__main__':\n    # Load expression data (genes as columns)\n    expression_matrix = pd.read_csv('expression_data.tsv', sep='\\t')\n\n    # Infer regulatory network\n    network = grnboost2(expression_data=expression_matrix)\n\n    # Save results (TF, target, importance)\n    network.to_csv('network.tsv', sep='\\t', index=False, header=False)\n```\n\n**Critical**: Always use `if __name__ == '__main__':` guard because Dask spawns new processes.\n\n## Core Capabilities\n\n### 1. Basic GRN Inference\n\nFor standard GRN inference workflows including:\n- Input data preparation (Pandas DataFrame or NumPy array)\n- Running inference with GRNBoost2 or GENIE3\n- Filtering by transcription factors\n- Output format and interpretation\n\n**See**: `references\u002Fbasic_inference.md`\n\n**Use the ready-to-run script**: `scripts\u002Fbasic_grn_inference.py` for standard inference tasks:\n```bash\npython scripts\u002Fbasic_grn_inference.py expression_data.tsv output_network.tsv --tf-file tfs.txt --seed 777\n```\n\n### 2. Algorithm Selection\n\nArboreto provides two algorithms:\n\n**GRNBoost2 (Recommended)**:\n- Fast gradient boosting-based inference\n- Optimized for large datasets (10k+ observations)\n- Default choice for most analyses\n\n**GENIE3**:\n- Random Forest-based inference\n- Original multiple regression approach\n- Use for comparison or validation\n\nQuick comparison:\n```python\nfrom arboreto.algo import grnboost2, genie3\n\n# Fast, recommended\nnetwork_grnboost = grnboost2(expression_data=matrix)\n\n# Classic algorithm\nnetwork_genie3 = genie3(expression_data=matrix)\n```\n\n**For detailed algorithm comparison, parameters, and selection guidance**: `references\u002Falgorithms.md`\n\n### 3. Distributed Computing\n\nScale inference from local multi-core to cluster environments:\n\n**Local (default)** - Uses all available cores automatically:\n```python\nnetwork = grnboost2(expression_data=matrix)\n```\n\n**Custom local client** - Control resources:\n```python\nfrom distributed import LocalCluster, Client\n\nlocal_cluster = LocalCluster(n_workers=10, memory_limit='8GB')\nclient = Client(local_cluster)\n\nnetwork = grnboost2(expression_data=matrix, client_or_address=client)\n\nclient.close()\nlocal_cluster.close()\n```\n\n**Cluster computing** - Connect to remote Dask scheduler:\n```python\nfrom distributed import Client\n\nclient = Client('tcp:\u002F\u002Fscheduler:8786')\nnetwork = grnboost2(expression_data=matrix, client_or_address=client)\n```\n\n**For cluster setup, performance optimization, and large-scale workflows**: `references\u002Fdistributed_computing.md`\n\n## Installation\n\n```bash\nuv pip install arboreto\n```\n\n**Dependencies**: scipy, scikit-learn, numpy, pandas, dask, distributed\n\n## Common Use Cases\n\n### Single-Cell RNA-seq Analysis\n```python\nimport pandas as pd\nfrom arboreto.algo import grnboost2\n\nif __name__ == '__main__':\n    # Load single-cell expression matrix (cells x genes)\n    sc_data = pd.read_csv('scrna_counts.tsv', sep='\\t')\n\n    # Infer cell-type-specific regulatory network\n    network = grnboost2(expression_data=sc_data, seed=42)\n\n    # Filter high-confidence links\n    high_confidence = network[network['importance'] > 0.5]\n    high_confidence.to_csv('grn_high_confidence.tsv', sep='\\t', index=False)\n```\n\n### Bulk RNA-seq with TF Filtering\n```python\nfrom arboreto.utils import load_tf_names\nfrom arboreto.algo import grnboost2\n\nif __name__ == '__main__':\n    # Load data\n    expression_data = pd.read_csv('rnaseq_tpm.tsv', sep='\\t')\n    tf_names = load_tf_names('human_tfs.txt')\n\n    # Infer with TF restriction\n    network = grnboost2(\n        expression_data=expression_data,\n        tf_names=tf_names,\n        seed=123\n    )\n\n    network.to_csv('tf_target_network.tsv', sep='\\t', index=False)\n```\n\n### Comparative Analysis (Multiple Conditions)\n```python\nfrom arboreto.algo import grnboost2\n\nif __name__ == '__main__':\n    # Infer networks for different conditions\n    conditions = ['control', 'treatment_24h', 'treatment_48h']\n\n    for condition in conditions:\n        data = pd.read_csv(f'{condition}_expression.tsv', sep='\\t')\n        network = grnboost2(expression_data=data, seed=42)\n        network.to_csv(f'{condition}_network.tsv', sep='\\t', index=False)\n```\n\n## Output Interpretation\n\nArboreto returns a DataFrame with regulatory links:\n\n| Column | Description |\n|--------|-------------|\n| `TF` | Transcription factor (regulator) |\n| `target` | Target gene |\n| `importance` | Regulatory importance score (higher = stronger) |\n\n**Filtering strategy**:\n- Top N links per target gene\n- Importance threshold (e.g., > 0.5)\n- Statistical significance testing (permutation tests)\n\n## Integration with pySCENIC\n\nArboreto is a core component of the SCENIC pipeline for single-cell regulatory network analysis:\n\n```python\n# Step 1: Use arboreto for GRN inference\nfrom arboreto.algo import grnboost2\nnetwork = grnboost2(expression_data=sc_data, tf_names=tf_list)\n\n# Step 2: Use pySCENIC for regulon identification and activity scoring\n# (See pySCENIC documentation for downstream analysis)\n```\n\n## Reproducibility\n\nAlways set a seed for reproducible results:\n```python\nnetwork = grnboost2(expression_data=matrix, seed=777)\n```\n\nRun multiple seeds for robustness analysis:\n```python\nfrom distributed import LocalCluster, Client\n\nif __name__ == '__main__':\n    client = Client(LocalCluster())\n\n    seeds = [42, 123, 777]\n    networks = []\n\n    for seed in seeds:\n        net = grnboost2(expression_data=matrix, client_or_address=client, seed=seed)\n        networks.append(net)\n\n    # Combine networks and filter consensus links\n    consensus = analyze_consensus(networks)\n```\n\n## Troubleshooting\n\n**Memory errors**: Reduce dataset size by filtering low-variance genes or use distributed computing\n\n**Slow performance**: Use GRNBoost2 instead of GENIE3, enable distributed client, filter TF list\n\n**Dask errors**: Ensure `if __name__ == '__main__':` guard is present in scripts\n\n**Empty results**: Check data format (genes as columns), verify TF names match gene names\n","# Arboreto\n\n## Overview\n\nArboreto is a computational library for inferring gene regulatory networks (GRNs) from gene expression data using parallelized algorithms that scale from single machines to multi-node clusters.\n\n**Core capability**: Identify which transcription factors (TFs) regulate which target genes based on expression patterns across observations (cells, samples, conditions).\n\n## Quick Start\n\nInstall arboreto:\n```bash\nuv pip install arboreto\n```\n\nBasic GRN inference:\n```python\nimport pandas as pd\nfrom arboreto.algo import grnboost2\n\nif __name__ == '__main__':\n    # Load expression data (genes as columns)\n    expression_matrix = pd.read_csv('expression_data.tsv', sep='\\t')\n\n    # Infer regulatory network\n    network = grnboost2(expression_data=expression_matrix)\n\n    # Save results (TF, target, importance)\n    network.to_csv('network.tsv', sep='\\t', index=False, header=False)\n```\n\n**Critical**: Always use `if __name__ == '__main__':` guard because Dask spawns new processes.\n\n## Core Capabilities\n\n### 1. Basic GRN Inference\n\nFor standard GRN inference workflows including:\n- Input data preparation (Pandas DataFrame or NumPy array)\n- Running inference with GRNBoost2 or GENIE3\n- Filtering by transcription factors\n- Output format and interpretation\n\n**See**: `references\u002Fbasic_inference.md`\n\n**Use the ready-to-run script**: `scripts\u002Fbasic_grn_inference.py` for standard inference tasks:\n```bash\npython scripts\u002Fbasic_grn_inference.py expression_data.tsv output_network.tsv --tf-file tfs.txt --seed 777\n```\n\n### 2. Algorithm Selection\n\nArboreto provides two algorithms:\n\n**GRNBoost2 (Recommended)**:\n- Fast gradient boosting-based inference\n- Optimized for large datasets (10k+ observations)\n- Default choice for most analyses\n\n**GENIE3**:\n- Random Forest-based inference\n- Original multiple regression approach\n- Use for comparison or validation\n\nQuick comparison:\n```python\nfrom arboreto.algo import grnboost2, genie3\n\n# Fast, recommended\nnetwork_grnboost = grnboost2(expression_data=matrix)\n\n# Classic algorithm\nnetwork_genie3 = genie3(expression_data=matrix)\n```\n\n**For detailed algorithm comparison, parameters, and selection guidance**: `references\u002Falgorithms.md`\n\n### 3. Distributed Computing\n\nScale inference from local multi-core to cluster environments:\n\n**Local (default)** - Uses all available cores automatically:\n```python\nnetwork = grnboost2(expression_data=matrix)\n```\n\n**Custom local client** - Control resources:\n```python\nfrom distributed import LocalCluster, Client\n\nlocal_cluster = LocalCluster(n_workers=10, memory_limit='8GB')\nclient = Client(local_cluster)\n\nnetwork = grnboost2(expression_data=matrix, client_or_address=client)\n\nclient.close()\nlocal_cluster.close()\n```\n\n**Cluster computing** - Connect to remote Dask scheduler:\n```python\nfrom distributed import Client\n\nclient = Client('tcp:\u002F\u002Fscheduler:8786')\nnetwork = grnboost2(expression_data=matrix, client_or_address=client)\n```\n\n**For cluster setup, performance optimization, and large-scale workflows**: `references\u002Fdistributed_computing.md`\n\n## Installation\n\n```bash\nuv pip install arboreto\n```\n\n**Dependencies**: scipy, scikit-learn, numpy, pandas, dask, distributed\n\n## Common Use Cases\n\n### Single-Cell RNA-seq Analysis\n```python\nimport pandas as pd\nfrom arboreto.algo import grnboost2\n\nif __name__ == '__main__':\n    # Load single-cell expression matrix (cells x genes)\n    sc_data = pd.read_csv('scrna_counts.tsv', sep='\\t')\n\n    # Infer cell-type-specific regulatory network\n    network = grnboost2(expression_data=sc_data, seed=42)\n\n    # Filter high-confidence links\n    high_confidence = network[network['importance'] > 0.5]\n    high_confidence.to_csv('grn_high_confidence.tsv', sep='\\t', index=False)\n```\n\n### Bulk RNA-seq with TF Filtering\n```python\nfrom arboreto.utils import load_tf_names\nfrom arboreto.algo import grnboost2\n\nif __name__ == '__main__':\n    # Load data\n    expression_data = pd.read_csv('rnaseq_tpm.tsv', sep='\\t')\n    tf_names = load_tf_names('human_tfs.txt')\n\n    # Infer with TF restriction\n    network = grnboost2(\n        expression_data=expression_data,\n        tf_names=tf_names,\n        seed=123\n    )\n\n    network.to_csv('tf_target_network.tsv', sep='\\t', index=False)\n```\n\n### Comparative Analysis (Multiple Conditions)\n```python\nfrom arboreto.algo import grnboost2\n\nif __name__ == '__main__':\n    # Infer networks for different conditions\n    conditions = ['control', 'treatment_24h', 'treatment_48h']\n\n    for condition in conditions:\n        data = pd.read_csv(f'{condition}_expression.tsv', sep='\\t')\n        network = grnboost2(expression_data=data, seed=42)\n        network.to_csv(f'{condition}_network.tsv', sep='\\t', index=False)\n```\n\n## Output Interpretation\n\nArboreto returns a DataFrame with regulatory links:\n\n| Column | Description |\n|--------|-------------|\n| `TF` | Transcription factor (regulator) |\n| `target` | Target gene |\n| `importance` | Regulatory importance score (higher = stronger) |\n\n**Filtering strategy**:\n- Top N links per target gene\n- Importance threshold (e.g., > 0.5)\n- Statistical significance testing (permutation tests)\n\n## Integration with pySCENIC\n\nArboreto is a core component of the SCENIC pipeline for single-cell regulatory network analysis:\n\n```python\n# Step 1: Use arboreto for GRN inference\nfrom arboreto.algo import grnboost2\nnetwork = grnboost2(expression_data=sc_data, tf_names=tf_list)\n\n# Step 2: Use pySCENIC for regulon identification and activity scoring\n# (See pySCENIC documentation for downstream analysis)\n```\n\n## Reproducibility\n\nAlways set a seed for reproducible results:\n```python\nnetwork = grnboost2(expression_data=matrix, seed=777)\n```\n\nRun multiple seeds for robustness analysis:\n```python\nfrom distributed import LocalCluster, Client\n\nif __name__ == '__main__':\n    client = Client(LocalCluster())\n\n    seeds = [42, 123, 777]\n    networks = []\n\n    for seed in seeds:\n        net = grnboost2(expression_data=matrix, client_or_address=client, seed=seed)\n        networks.append(net)\n\n    # Combine networks and filter consensus links\n    consensus = analyze_consensus(networks)\n```\n\n## Troubleshooting\n\n**Memory errors**: Reduce dataset size by filtering low-variance genes or use distributed computing\n\n**Slow performance**: Use GRNBoost2 instead of GENIE3, enable distributed client, filter TF list\n\n**Dask errors**: Ensure `if __name__ == '__main__':` guard is present in scripts\n\n**Empty results**: Check data format (genes as columns), verify TF names match gene names\n",{"name":5,"description":7},"main","d046d088ce5a79a083f0abc0fe1b7ded73bc5b1f","claude-config\u002Fskills\u002Farboreto","https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent","https:\u002F\u002Fgithub.com\u002FSansar35","2026-05-10 16:04:53",{"source":8,"skillName":5,"commands":30,"prompt":40,"zipAvailable":41},[31,34,37],{"tool":32,"command":33},"npx","npx skills add Sansar35\u002Fclaude-agent --skill arboreto",{"tool":35,"command":36},"bunx","bunx skills add Sansar35\u002Fclaude-agent --skill arboreto",{"tool":38,"command":39},"pnpm","pnpm dlx skills add Sansar35\u002Fclaude-agent --skill arboreto","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Farboreto\u002FSKILL.md",true,[43,49,53,57,61],{"path":44,"resourceType":45,"resourceTypeDesc":46,"sizeBytes":47,"sourceHtmlUrl":48},".skill-source.json","REFERENCE","参考文档",550,"https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Farboreto\u002F.skill-source.json",{"path":50,"resourceType":45,"resourceTypeDesc":46,"sizeBytes":51,"sourceHtmlUrl":52},"references\u002Falgorithms.md",4361,"https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Farboreto\u002Freferences\u002Falgorithms.md",{"path":54,"resourceType":45,"resourceTypeDesc":46,"sizeBytes":55,"sourceHtmlUrl":56},"references\u002Fbasic_inference.md",3811,"https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Farboreto\u002Freferences\u002Fbasic_inference.md",{"path":58,"resourceType":45,"resourceTypeDesc":46,"sizeBytes":59,"sourceHtmlUrl":60},"references\u002Fdistributed_computing.md",6734,"https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Farboreto\u002Freferences\u002Fdistributed_computing.md",{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"scripts\u002Fbasic_grn_inference.py","SCRIPT","脚本",2969,"https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Farboreto\u002Fscripts\u002Fbasic_grn_inference.py",[68,75,82,89,96,104],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":18},"01M72DVAN1JYEA302MT0C5MGD6","zustand-store-ts","Create Zustand stores following established patterns with proper TypeScript types and middleware.","https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fzustand-store-ts\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":18},"01M72DV8J5NBRRM4RPDFRV95N7","zod-validation-expert","Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.","https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fzod-validation-expert\u002FSKILL.md",[],[],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":18},"01M72DV5EMHW0BHP9BZ167MDCB","zinc-database","Access ZINC (230M+ purchasable compounds). Search by ZINC ID\u002FSMILES, similarity searches, 3D-ready structures for docking, analog discovery, for virtual screening and drug discovery.","https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fzinc-database\u002FSKILL.md",[],[],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":18},"01M72DV216QY0E693ZPEVQ0DBS","zarr-python","Chunked N-D arrays for cloud storage. Compressed arrays, parallel I\u002FO, S3\u002FGCS integration, NumPy\u002FDask\u002FXarray compatible, for large-scale scientific computing pipelines.","https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fzarr-python\u002FSKILL.md",[],[],{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":100,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":18},"01M72DTXQREMCRKA8NHCVKHN4W","zapier-workflows","Manage and trigger pre-built Zapier workflows and MCP tool orchestration. Use when user mentions workflows, Zaps, automations, daily digest, research, search, lead tracking, expenses, or asks to \"run\" any process. Also handles Perplexity-based research and Google Sheets data tracking.","https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fzapier-workflows\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fzapier-workflows\u002FSKILL.md",[],[],{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":18},"01M72DTT17TBSJ0Y8J2XZ4C9TZ","zapier-make-patterns","No-code automation democratizes workflow building. Zapier and Make (formerly Integromat) let non-developers automate business processes without writing code. But no-code doesn't mean no-complexity - these platforms have their own patterns, pitfalls, and breaking points.  This skill covers when to use which platform, how to build reliable automations, and when to graduate to code-based solutions. Key insight: Zapier optimizes for simplicity and integrations (7000+ apps), Make optimizes for power","https:\u002F\u002Fgithub.com\u002FSansar35\u002Fclaude-agent\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fzapier-make-patterns\u002FSKILL.md",[],[]]