[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KQPPRCC5HSSNXZZA63HH0H":3,"skill-same:01M6KQPPRCC5HSSNXZZA63HH0H":89},{"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":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":59,"commitSha":60,"skillDirectory":61,"forksCount":13,"repositoryHtmlUrl":62,"repositoryHomepageUrl":6,"ownerHtmlUrl":63,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":64,"install":65,"resources":78},"01M6KQPPRCC5HSSNXZZA63HH0H","ray-data",null,"Scalable data processing for ML workloads. Streaming execution across CPU\u002FGPU, supports Parquet\u002FCSV\u002FJSON\u002Fimages. Integrates with Ray Train, PyTorch, TensorFlow. Scales from single machine to 100s of nodes. Use for batch inference, data preprocessing, multi-modal data loading, or distributed ETL pipelines.","endman100\u002Fskill-router-nexus","endman100","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F31997019?v=4","01M6KPDX17BYDWW4RRB0TNGGMX","01M6KPDX64Y2QBEWVFG5W5PWPF",0,"MIT","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FAI-Training\u002Fray-data\u002Fray-data\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"data","Ray","Ray Data","preprocessing","orchestra","loading","Ray Train","Batch Inference","ML Pipelines","Scalable","CPU","processing","tensorflow","across","images","pandas","streaming","batch","etl","pytorch","2026-11-10 10:12:30",false,"---\nname: ray-data\ndescription: Scalable data processing for ML workloads. Streaming execution across CPU\u002FGPU, supports Parquet\u002FCSV\u002FJSON\u002Fimages. Integrates with Ray Train, PyTorch, TensorFlow. Scales from single machine to 100s of nodes. Use for batch inference, data preprocessing, multi-modal data loading, or distributed ETL pipelines.\nversion: 1.0.0\nauthor: Orchestra Research\nlicense: MIT\ntags: [Data Processing, Ray Data, Distributed Computing, ML Pipelines, Batch Inference, ETL, Scalable, Ray, PyTorch, TensorFlow]\ndependencies: [\"ray[data]\", pyarrow, pandas]\n---\n\n# Ray Data - Scalable ML Data Processing\n\nDistributed data processing library for ML and AI workloads.\n\n## When to use Ray Data\n\n**Use Ray Data when:**\n- Processing large datasets (>100GB) for ML training\n- Need distributed data preprocessing across cluster\n- Building batch inference pipelines\n- Loading multi-modal data (images, audio, video)\n- Scaling data processing from laptop to cluster\n\n**Key features**:\n- **Streaming execution**: Process data larger than memory\n- **GPU support**: Accelerate transforms with GPUs\n- **Framework integration**: PyTorch, TensorFlow, HuggingFace\n- **Multi-modal**: Images, Parquet, CSV, JSON, audio, video\n\n**Use alternatives instead**:\n- **Pandas**: Small data (\u003C1GB) on single machine\n- **Dask**: Tabular data, SQL-like operations\n- **Spark**: Enterprise ETL, SQL queries\n\n## Quick start\n\n### Installation\n\n```bash\npip install -U 'ray[data]'\n```\n\n### Load and transform data\n\n```python\nimport ray\n\n# Read Parquet files\nds = ray.data.read_parquet(\"s3:\u002F\u002Fbucket\u002Fdata\u002F*.parquet\")\n\n# Transform data (lazy execution)\nds = ds.map_batches(lambda batch: {\"processed\": batch[\"text\"].str.lower()})\n\n# Consume data\nfor batch in ds.iter_batches(batch_size=100):\n    print(batch)\n```\n\n### Integration with Ray Train\n\n```python\nimport ray\nfrom ray.train import ScalingConfig\nfrom ray.train.torch import TorchTrainer\n\n# Create dataset\ntrain_ds = ray.data.read_parquet(\"s3:\u002F\u002Fbucket\u002Ftrain\u002F*.parquet\")\n\ndef train_func(config):\n    # Access dataset in training\n    train_ds = ray.train.get_dataset_shard(\"train\")\n\n    for epoch in range(10):\n        for batch in train_ds.iter_batches(batch_size=32):\n            # Train on batch\n            pass\n\n# Train with Ray\ntrainer = TorchTrainer(\n    train_func,\n    datasets={\"train\": train_ds},\n    scaling_config=ScalingConfig(num_workers=4, use_gpu=True)\n)\ntrainer.fit()\n```\n\n## Reading data\n\n### From cloud storage\n\n```python\nimport ray\n\n# Parquet (recommended for ML)\nds = ray.data.read_parquet(\"s3:\u002F\u002Fbucket\u002Fdata\u002F*.parquet\")\n\n# CSV\nds = ray.data.read_csv(\"s3:\u002F\u002Fbucket\u002Fdata\u002F*.csv\")\n\n# JSON\nds = ray.data.read_json(\"gs:\u002F\u002Fbucket\u002Fdata\u002F*.json\")\n\n# Images\nds = ray.data.read_images(\"s3:\u002F\u002Fbucket\u002Fimages\u002F\")\n```\n\n### From Python objects\n\n```python\n# From list\nds = ray.data.from_items([{\"id\": i, \"value\": i * 2} for i in range(1000)])\n\n# From range\nds = ray.data.range(1000000)  # Synthetic data\n\n# From pandas\nimport pandas as pd\ndf = pd.DataFrame({\"col1\": [1, 2, 3], \"col2\": [4, 5, 6]})\nds = ray.data.from_pandas(df)\n```\n\n## Transformations\n\n### Map batches (vectorized)\n\n```python\n# Batch transformation (fast)\ndef process_batch(batch):\n    batch[\"doubled\"] = batch[\"value\"] * 2\n    return batch\n\nds = ds.map_batches(process_batch, batch_size=1000)\n```\n\n### Row transformations\n\n```python\n# Row-by-row (slower)\ndef process_row(row):\n    row[\"squared\"] = row[\"value\"] ** 2\n    return row\n\nds = ds.map(process_row)\n```\n\n### Filter\n\n```python\n# Filter rows\nds = ds.filter(lambda row: row[\"value\"] > 100)\n```\n\n### Group by and aggregate\n\n```python\n# Group by column\nds = ds.groupby(\"category\").count()\n\n# Custom aggregation\nds = ds.groupby(\"category\").map_groups(lambda group: {\"sum\": group[\"value\"].sum()})\n```\n\n## GPU-accelerated transforms\n\n```python\n# Use GPU for preprocessing\ndef preprocess_images_gpu(batch):\n    import torch\n    images = torch.tensor(batch[\"image\"]).cuda()\n    # GPU preprocessing\n    processed = images * 255\n    return {\"processed\": processed.cpu().numpy()}\n\nds = ds.map_batches(\n    preprocess_images_gpu,\n    batch_size=64,\n    num_gpus=1  # Request GPU\n)\n```\n\n## Writing data\n\n```python\n# Write to Parquet\nds.write_parquet(\"s3:\u002F\u002Fbucket\u002Foutput\u002F\")\n\n# Write to CSV\nds.write_csv(\"output\u002F\")\n\n# Write to JSON\nds.write_json(\"output\u002F\")\n```\n\n## Performance optimization\n\n### Repartition\n\n```python\n# Control parallelism\nds = ds.repartition(100)  # 100 blocks for 100-core cluster\n```\n\n### Batch size tuning\n\n```python\n# Larger batches = faster vectorized ops\nds.map_batches(process_fn, batch_size=10000)  # vs batch_size=100\n```\n\n### Streaming execution\n\n```python\n# Process data larger than memory\nds = ray.data.read_parquet(\"s3:\u002F\u002Fhuge-dataset\u002F\")\nfor batch in ds.iter_batches(batch_size=1000):\n    process(batch)  # Streamed, not loaded to memory\n```\n\n## Common patterns\n\n### Batch inference\n\n```python\nimport ray\n\n# Load model\ndef load_model():\n    # Load once per worker\n    return MyModel()\n\n# Inference function\nclass BatchInference:\n    def __init__(self):\n        self.model = load_model()\n\n    def __call__(self, batch):\n        predictions = self.model(batch[\"input\"])\n        return {\"prediction\": predictions}\n\n# Run distributed inference\nds = ray.data.read_parquet(\"s3:\u002F\u002Fdata\u002F\")\npredictions = ds.map_batches(BatchInference, batch_size=32, num_gpus=1)\npredictions.write_parquet(\"s3:\u002F\u002Foutput\u002F\")\n```\n\n### Data preprocessing pipeline\n\n```python\n# Multi-step pipeline\nds = (\n    ray.data.read_parquet(\"s3:\u002F\u002Fraw\u002F\")\n    .map_batches(clean_data)\n    .map_batches(tokenize)\n    .map_batches(augment)\n    .write_parquet(\"s3:\u002F\u002Fprocessed\u002F\")\n)\n```\n\n## Integration with ML frameworks\n\n### PyTorch\n\n```python\n# Convert to PyTorch\ntorch_ds = ds.to_torch(label_column=\"label\", batch_size=32)\n\nfor batch in torch_ds:\n    # batch is dict with tensors\n    inputs, labels = batch[\"features\"], batch[\"label\"]\n```\n\n### TensorFlow\n\n```python\n# Convert to TensorFlow\ntf_ds = ds.to_tf(feature_columns=[\"image\"], label_column=\"label\", batch_size=32)\n\nfor features, labels in tf_ds:\n    # Train model\n    pass\n```\n\n## Supported data formats\n\n| Format | Read | Write | Use Case |\n|--------|------|-------|----------|\n| Parquet | ✅ | ✅ | ML data (recommended) |\n| CSV | ✅ | ✅ | Tabular data |\n| JSON | ✅ | ✅ | Semi-structured |\n| Images | ✅ | ❌ | Computer vision |\n| NumPy | ✅ | ✅ | Arrays |\n| Pandas | ✅ | ❌ | DataFrames |\n\n## Performance benchmarks\n\n**Scaling** (processing 100GB data):\n- 1 node (16 cores): ~30 minutes\n- 4 nodes (64 cores): ~8 minutes\n- 16 nodes (256 cores): ~2 minutes\n\n**GPU acceleration** (image preprocessing):\n- CPU only: 1,000 images\u002Fsec\n- 1 GPU: 5,000 images\u002Fsec\n- 4 GPUs: 18,000 images\u002Fsec\n\n## Use cases\n\n**Production deployments**:\n- **Pinterest**: Last-mile data processing for model training\n- **ByteDance**: Scaling offline inference with multi-modal LLMs\n- **Spotify**: ML platform for batch inference\n\n## References\n\n- **[Transformations Guide](references\u002Ftransformations.md)** - Map, filter, groupby operations\n- **[Integration Guide](references\u002Fintegration.md)** - Ray Train, PyTorch, TensorFlow\n\n## Resources\n\n- **Docs**: https:\u002F\u002Fdocs.ray.io\u002Fen\u002Flatest\u002Fdata\u002Fdata.html\n- **GitHub**: https:\u002F\u002Fgithub.com\u002Fray-project\u002Fray ⭐ 36,000+\n- **Version**: Ray 2.40.0+\n- **Examples**: https:\u002F\u002Fdocs.ray.io\u002Fen\u002Flatest\u002Fdata\u002Fexamples\u002Foverview.html\n\n\n\n","# Ray Data - Scalable ML Data Processing\n\nDistributed data processing library for ML and AI workloads.\n\n## When to use Ray Data\n\n**Use Ray Data when:**\n- Processing large datasets (>100GB) for ML training\n- Need distributed data preprocessing across cluster\n- Building batch inference pipelines\n- Loading multi-modal data (images, audio, video)\n- Scaling data processing from laptop to cluster\n\n**Key features**:\n- **Streaming execution**: Process data larger than memory\n- **GPU support**: Accelerate transforms with GPUs\n- **Framework integration**: PyTorch, TensorFlow, HuggingFace\n- **Multi-modal**: Images, Parquet, CSV, JSON, audio, video\n\n**Use alternatives instead**:\n- **Pandas**: Small data (\u003C1GB) on single machine\n- **Dask**: Tabular data, SQL-like operations\n- **Spark**: Enterprise ETL, SQL queries\n\n## Quick start\n\n### Installation\n\n```bash\npip install -U 'ray[data]'\n```\n\n### Load and transform data\n\n```python\nimport ray\n\n# Read Parquet files\nds = ray.data.read_parquet(\"s3:\u002F\u002Fbucket\u002Fdata\u002F*.parquet\")\n\n# Transform data (lazy execution)\nds = ds.map_batches(lambda batch: {\"processed\": batch[\"text\"].str.lower()})\n\n# Consume data\nfor batch in ds.iter_batches(batch_size=100):\n    print(batch)\n```\n\n### Integration with Ray Train\n\n```python\nimport ray\nfrom ray.train import ScalingConfig\nfrom ray.train.torch import TorchTrainer\n\n# Create dataset\ntrain_ds = ray.data.read_parquet(\"s3:\u002F\u002Fbucket\u002Ftrain\u002F*.parquet\")\n\ndef train_func(config):\n    # Access dataset in training\n    train_ds = ray.train.get_dataset_shard(\"train\")\n\n    for epoch in range(10):\n        for batch in train_ds.iter_batches(batch_size=32):\n            # Train on batch\n            pass\n\n# Train with Ray\ntrainer = TorchTrainer(\n    train_func,\n    datasets={\"train\": train_ds},\n    scaling_config=ScalingConfig(num_workers=4, use_gpu=True)\n)\ntrainer.fit()\n```\n\n## Reading data\n\n### From cloud storage\n\n```python\nimport ray\n\n# Parquet (recommended for ML)\nds = ray.data.read_parquet(\"s3:\u002F\u002Fbucket\u002Fdata\u002F*.parquet\")\n\n# CSV\nds = ray.data.read_csv(\"s3:\u002F\u002Fbucket\u002Fdata\u002F*.csv\")\n\n# JSON\nds = ray.data.read_json(\"gs:\u002F\u002Fbucket\u002Fdata\u002F*.json\")\n\n# Images\nds = ray.data.read_images(\"s3:\u002F\u002Fbucket\u002Fimages\u002F\")\n```\n\n### From Python objects\n\n```python\n# From list\nds = ray.data.from_items([{\"id\": i, \"value\": i * 2} for i in range(1000)])\n\n# From range\nds = ray.data.range(1000000)  # Synthetic data\n\n# From pandas\nimport pandas as pd\ndf = pd.DataFrame({\"col1\": [1, 2, 3], \"col2\": [4, 5, 6]})\nds = ray.data.from_pandas(df)\n```\n\n## Transformations\n\n### Map batches (vectorized)\n\n```python\n# Batch transformation (fast)\ndef process_batch(batch):\n    batch[\"doubled\"] = batch[\"value\"] * 2\n    return batch\n\nds = ds.map_batches(process_batch, batch_size=1000)\n```\n\n### Row transformations\n\n```python\n# Row-by-row (slower)\ndef process_row(row):\n    row[\"squared\"] = row[\"value\"] ** 2\n    return row\n\nds = ds.map(process_row)\n```\n\n### Filter\n\n```python\n# Filter rows\nds = ds.filter(lambda row: row[\"value\"] > 100)\n```\n\n### Group by and aggregate\n\n```python\n# Group by column\nds = ds.groupby(\"category\").count()\n\n# Custom aggregation\nds = ds.groupby(\"category\").map_groups(lambda group: {\"sum\": group[\"value\"].sum()})\n```\n\n## GPU-accelerated transforms\n\n```python\n# Use GPU for preprocessing\ndef preprocess_images_gpu(batch):\n    import torch\n    images = torch.tensor(batch[\"image\"]).cuda()\n    # GPU preprocessing\n    processed = images * 255\n    return {\"processed\": processed.cpu().numpy()}\n\nds = ds.map_batches(\n    preprocess_images_gpu,\n    batch_size=64,\n    num_gpus=1  # Request GPU\n)\n```\n\n## Writing data\n\n```python\n# Write to Parquet\nds.write_parquet(\"s3:\u002F\u002Fbucket\u002Foutput\u002F\")\n\n# Write to CSV\nds.write_csv(\"output\u002F\")\n\n# Write to JSON\nds.write_json(\"output\u002F\")\n```\n\n## Performance optimization\n\n### Repartition\n\n```python\n# Control parallelism\nds = ds.repartition(100)  # 100 blocks for 100-core cluster\n```\n\n### Batch size tuning\n\n```python\n# Larger batches = faster vectorized ops\nds.map_batches(process_fn, batch_size=10000)  # vs batch_size=100\n```\n\n### Streaming execution\n\n```python\n# Process data larger than memory\nds = ray.data.read_parquet(\"s3:\u002F\u002Fhuge-dataset\u002F\")\nfor batch in ds.iter_batches(batch_size=1000):\n    process(batch)  # Streamed, not loaded to memory\n```\n\n## Common patterns\n\n### Batch inference\n\n```python\nimport ray\n\n# Load model\ndef load_model():\n    # Load once per worker\n    return MyModel()\n\n# Inference function\nclass BatchInference:\n    def __init__(self):\n        self.model = load_model()\n\n    def __call__(self, batch):\n        predictions = self.model(batch[\"input\"])\n        return {\"prediction\": predictions}\n\n# Run distributed inference\nds = ray.data.read_parquet(\"s3:\u002F\u002Fdata\u002F\")\npredictions = ds.map_batches(BatchInference, batch_size=32, num_gpus=1)\npredictions.write_parquet(\"s3:\u002F\u002Foutput\u002F\")\n```\n\n### Data preprocessing pipeline\n\n```python\n# Multi-step pipeline\nds = (\n    ray.data.read_parquet(\"s3:\u002F\u002Fraw\u002F\")\n    .map_batches(clean_data)\n    .map_batches(tokenize)\n    .map_batches(augment)\n    .write_parquet(\"s3:\u002F\u002Fprocessed\u002F\")\n)\n```\n\n## Integration with ML frameworks\n\n### PyTorch\n\n```python\n# Convert to PyTorch\ntorch_ds = ds.to_torch(label_column=\"label\", batch_size=32)\n\nfor batch in torch_ds:\n    # batch is dict with tensors\n    inputs, labels = batch[\"features\"], batch[\"label\"]\n```\n\n### TensorFlow\n\n```python\n# Convert to TensorFlow\ntf_ds = ds.to_tf(feature_columns=[\"image\"], label_column=\"label\", batch_size=32)\n\nfor features, labels in tf_ds:\n    # Train model\n    pass\n```\n\n## Supported data formats\n\n| Format | Read | Write | Use Case |\n|--------|------|-------|----------|\n| Parquet | ✅ | ✅ | ML data (recommended) |\n| CSV | ✅ | ✅ | Tabular data |\n| JSON | ✅ | ✅ | Semi-structured |\n| Images | ✅ | ❌ | Computer vision |\n| NumPy | ✅ | ✅ | Arrays |\n| Pandas | ✅ | ❌ | DataFrames |\n\n## Performance benchmarks\n\n**Scaling** (processing 100GB data):\n- 1 node (16 cores): ~30 minutes\n- 4 nodes (64 cores): ~8 minutes\n- 16 nodes (256 cores): ~2 minutes\n\n**GPU acceleration** (image preprocessing):\n- CPU only: 1,000 images\u002Fsec\n- 1 GPU: 5,000 images\u002Fsec\n- 4 GPUs: 18,000 images\u002Fsec\n\n## Use cases\n\n**Production deployments**:\n- **Pinterest**: Last-mile data processing for model training\n- **ByteDance**: Scaling offline inference with multi-modal LLMs\n- **Spotify**: ML platform for batch inference\n\n## References\n\n- **[Transformations Guide](references\u002Ftransformations.md)** - Map, filter, groupby operations\n- **[Integration Guide](references\u002Fintegration.md)** - Ray Train, PyTorch, TensorFlow\n\n## Resources\n\n- **Docs**: https:\u002F\u002Fdocs.ray.io\u002Fen\u002Flatest\u002Fdata\u002Fdata.html\n- **GitHub**: https:\u002F\u002Fgithub.com\u002Fray-project\u002Fray ⭐ 36,000+\n- **Version**: Ray 2.40.0+\n- **Examples**: https:\u002F\u002Fdocs.ray.io\u002Fen\u002Flatest\u002Fdata\u002Fexamples\u002Foverview.html\n\n\n\n",{"name":5,"tags":48,"author":54,"license":14,"version":55,"description":7,"dependencies":56},[49,25,50,31,30,51,32,24,52,53],"Data Processing","Distributed Computing","ETL","PyTorch","TensorFlow","Orchestra Research","1.0.0",[57,58,38],"ray[data]","pyarrow","main","f19b254e8975d0bfddb394686706106930d7964d","AI-Training\u002Fray-data\u002Fray-data","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus","https:\u002F\u002Fgithub.com\u002Fendman100","2026-11-11 18:19:10",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":77},[67,70,73],{"tool":68,"command":69},"npx","npx skills add endman100\u002Fskill-router-nexus --skill ray-data",{"tool":71,"command":72},"bunx","bunx skills add endman100\u002Fskill-router-nexus --skill ray-data",{"tool":74,"command":75},"pnpm","pnpm dlx skills add endman100\u002Fskill-router-nexus --skill ray-data","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FAI-Training\u002Fray-data\u002Fray-data\u002FSKILL.md",true,[79,85],{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fintegration.md","REFERENCE","参考文档",1851,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FAI-Training\u002Fray-data\u002Fray-data\u002Freferences\u002Fintegration.md",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Ftransformations.md",1664,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FAI-Training\u002Fray-data\u002Fray-data\u002Freferences\u002Ftransformations.md",[90,112,150,173,182,206],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":94,"sourceHtmlUrl":95,"categories":96,"keywords":100,"publishedAt":43},"01M6MPCT5BXVER8HQZTW3QE9AS","create-master","基于佛教经典文献，生成特定高僧大德的 AI 教学角色","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FMetaphysics-and-Spirituality\u002FMaster-skill\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FMetaphysics-and-Spirituality\u002FMaster-skill\u002FSKILL.md",[97],{"categoryNo":98,"categoryName":99,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000039","教师与教育",[101,102,103,104,105,106,107,108,109,110,111],"create master","master","create","生成","true","webfetch","edit","write","read","grep","Bash",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":116,"sourceHtmlUrl":117,"categories":118,"keywords":130,"publishedAt":43},"01M6M43AKE95Y64E1JRXEF5QQ3","writing-dna-skill","从至少 20 篇完整文章中蒸馏可复用的写作 DNA，分析语言、文章结构、选题逻辑、素材策略、认知框架和视觉风格，并生成 Writing-DNA.md；按该 DNA 写作时会读取全部蒸馏产物和 5 篇相关原文。用于中英文作者、账号、品牌或出版物的风格分析与一致性写作。 Distill reusable Writing DNA from at least 20 complete articles for Chinese or English authors, publications, brands, and accounts; use for language, structure, topic logic, source strategy, cognitive-frame, and visual-style analysis.","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fwriting-dna-skill\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fwriting-dna-skill\u002FSKILL.md",[119,124,127],{"categoryNo":120,"categoryName":121,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":125,"categoryName":126,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":128,"categoryName":129,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000036","内容创作者",[131,132,133,134,135,136,137,138,139,140,141,142,143,104,144,145,146,147,148,149],"writing dna skill","DNA","writing","strategy","english","logic","visual","structure","chinese","reusable","use","style","distill","analysis","frame","source","for","at","complete",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":154,"sourceHtmlUrl":155,"categories":156,"keywords":159,"publishedAt":43},"01M6M428TTCGQ4ME3KY99VN037","stop-slop","Remove AI writing patterns from prose. Use when drafting, editing, or reviewing text to eliminate predictable AI tells.","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fstop-slop\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fstop-slop\u002FSKILL.md",[157,158],{"categoryNo":120,"categoryName":121,"taxonomyType":122,"taxonomyTypeDesc":123},{"categoryNo":128,"categoryName":129,"taxonomyType":20,"taxonomyTypeDesc":21},[160,161,162,163,164,165,166,167,168,141,169,170,171,147,172,133],"slop","stop slop","stop","drafting","when","drafts","https","patterns","prose","remove","editing","text","content",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":177,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":43},"01M6M41X0B7EBX42TK435DMGGR","shuorenhua","检查和清理中英文文本里的 AI 套路，适用于“去 AI 味”“说人话”“自然一点”“别像模板”“先标问题”这类改写和审稿需求；按场景控制力度，同时保留事实、术语、语域和责任主体。","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fshuorenhua\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fshuorenhua\u002FSKILL.md",[],[175,181],"文本",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":186,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":43},"01M6M3ZD12WBEW5KXKDM4N6DFG","naming","Name products, SaaS, brands, open source projects, bots, and apps. Use when the user needs to name something, find a brand name, or pick a product name. Metaphor-driven process that produces memorable, meaningful names and avoids AI slop.","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fnaming-main\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fnaming-main\u002FSKILL.md",[],[184,190,191,192,193,194,141,195,109,146,196,197,198,199,111,200,201,202,203,164,204,205,160],"repo","websearch","product name","apps","bots","view","brand","pick","gh","projects","open","saas","open source","product","describe","ai slop",{"skillNo":207,"name":208,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":210,"sourceHtmlUrl":211,"categories":212,"keywords":214,"publishedAt":43},"01M6M3YVXAFAAWJ7F6JMPFREYE","humanizer-zh","去除文本中的 AI 生成痕迹。适用于编辑或审阅文本，使其听起来更自然、更像人类书写。\n基于维基百科的\"AI 写作特征\"综合指南。检测并修复以下模式：夸大的象征意义、\n宣传性语言、以 -ing 结尾的肤浅分析、模糊的归因、破折号过度使用、三段式法则、\nAI 词汇、否定式排比、过多的连接性短语。","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fhumanizer-zh\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fhumanizer-zh\u002FSKILL.md",[213],{"categoryNo":120,"categoryName":121,"taxonomyType":122,"taxonomyTypeDesc":123},[215,216,217,109,108,107,133,104,181,218,160,162],"humanizer","zh","humanizer zh","翻译"]