[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M78SWR3DC3CKSC7BVA3VFV76":3,"skill-same:01M78SWR3DC3CKSC7BVA3VFV76":70},{"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":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":32,"install":33,"resources":45},"01M78SWR3DC3CKSC7BVA3VFV76","augmentor",null,"Use Augmentor for Pillow-based image augmentation pipelines, operation selection, mask-safe augmentation, array\u002Fgenerator workflows, and package-specific troubleshooting.","VectorSpaceLab\u002FAREX-Skill","VectorSpaceLab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F180637102?v=4","01M7538C5WPSJGWF7KHR4EFZ9F","01M7538C6R2GFP53NPXTCZNBRT",351,"MIT","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Faugmentor\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: augmentor\ndescription: \"Use Augmentor for Pillow-based image augmentation pipelines,\n  operation selection, mask-safe augmentation, array\u002Fgenerator workflows, and\n  package-specific troubleshooting.\"\ndisable-model-invocation: true\nmetadata:\n  disco-role: operating\nlicense: MIT\n---\n\n# Augmentor Repo Skill\n\nUse this skill when a task names **Augmentor** or asks for Augmentor-style image augmentation: stochastic `Pipeline` construction, Pillow\u002FNumPy operations, class-folder scanning, generated image output, ground-truth\u002Fmask pairing, in-memory `DataPipeline` arrays, Keras-style batches, or torchvision transform callables.\n\nAugmentor is a CPU\u002FPillow\u002FNumPy package. It does not require CUDA, ROCm, MPS, Keras\u002FTensorFlow, or torch\u002Ftorchvision for core package workflows.\n\n## First checks\n\n1. Install the package in the task environment:\n\n   ```bash\n   pip install Augmentor\n   ```\n\n   For Augmentor 0.2.x compatibility-sensitive work, prefer:\n\n   ```bash\n   pip install 'Augmentor==0.2.12' 'Pillow\u003C10' 'numpy\u003C2' tqdm\n   ```\n\n2. Verify the import:\n\n   ```bash\n   python -c \"import Augmentor; print(Augmentor.__version__)\"\n   ```\n\n3. For a safe end-to-end check, run the bundled smoke helper:\n\n   ```bash\n   python scripts\u002Faugmentor_env_smoke.py --samples 2 --size 24\n   ```\n\n4. If the task uses masks, framework generators, or optional pandas\u002Ftorch\u002FKeras integrations, route to the matching sub-skill before giving final code.\n\n## Route by task\n\n| User task or signal | Read next |\n| --- | --- |\n| Create a `Pipeline` from a folder, scan class subfolders, write augmented files, choose `sample()` vs `process()`, control output directories, seeds, or multithreading. | `sub-skills\u002Fpipeline-augmentation\u002FSKILL.md` |\n| Choose operations, fix probability\u002Frange errors, understand rotate\u002Fcrop\u002Fzoom\u002Fskew\u002Fdistortion\u002Fcolor operations, or write custom `Operation` subclasses. | `sub-skills\u002Foperation-reference\u002FSKILL.md` |\n| Apply identical transforms to images and masks, use `ground_truth()`, verify matched filenames\u002Fclasses\u002Fdimensions, or build grouped in-memory original+mask arrays. | `sub-skills\u002Fmasks-and-arrays\u002FSKILL.md` |\n| Use `keras_generator`, `keras_generator_from_array`, `keras_preprocess_func`, `torch_transform`, or `DataFramePipeline`; debug batch shapes or optional framework dependencies. | `sub-skills\u002Fgenerators-and-frameworks\u002FSKILL.md` |\n| Diagnose install\u002Fimport, Pillow\u002FPIL, save-format, dependency, stochastic reproducibility, or optional dependency issues that span several workflows. | `references\u002Ftroubleshooting.md` |\n| Check whether this skill matches a local Augmentor checkout or package version. | `references\u002Frepo-provenance.md` |\n\n## Minimal examples\n\n### Disk-backed augmentation\n\n```python\nimport Augmentor\n\np = Augmentor.Pipeline(\"train_images\", output_directory=\"output\")\np.rotate(probability=0.7, max_left_rotation=10, max_right_rotation=10)\np.flip_left_right(probability=0.5)\np.resize(probability=1.0, width=224, height=224)\np.set_save_format(\"PNG\")\np.sample(100, multi_threaded=False)\n```\n\nOutputs are written under the source directory's output folder. If the source directory has immediate subdirectories, Augmentor treats those subdirectories as class labels. Read `pipeline-augmentation` before changing layouts or counting class outputs.\n\n### Mask-safe augmentation\n\n```python\nimport Augmentor\n\np = Augmentor.Pipeline(\"images\")\np.ground_truth(\"masks\")\np.rotate(probability=1.0, max_left_rotation=5, max_right_rotation=5)\np.sample(20)\n```\n\nUse `masks-and-arrays` to validate matched names, class subfolders, equal dimensions, and multiple masks per image.\n\n### Generator batches\n\n```python\nimport Augmentor\n\np = Augmentor.Pipeline(\"train_images\")\ng = p.keras_generator(batch_size=32, scaled=True, image_data_format=\"channels_last\")\nimages, labels = next(g)\n```\n\nThe direct Augmentor generator APIs return NumPy arrays and do not import Keras\u002FTensorFlow. Read `generators-and-frameworks` before promising external framework behavior.\n\n## Compatibility caveats\n\n- Augmentor 0.2.x predates newer Pillow and NumPy APIs. For legacy behavior, `Pillow\u003C10` and `numpy\u003C2` are safer than latest-only installs.\n- `DataFramePipeline` is optional and legacy. This checkout's `scan_dataframe()` path failed with pandas 1.5.3 and 3.0.5 because it calls `Categorical.get_values()`. Prefer ordinary `Pipeline` or `DataPipeline` unless maintaining or patching Augmentor.\n- `torch_transform()` returns a PIL-image callable; torchvision is optional and only needed for `torchvision.transforms.Compose` or `ToTensor()`.\n- Do not assert exact output filenames in tests or examples. Augmentor uses UUID filenames; assert counts, dimensions, formats, labels, and readable images.\n\n## Bundled references and scripts\n\n- `references\u002Fquickstart.md` gives a compact route map and common snippets.\n- `references\u002Ftroubleshooting.md` covers cross-cutting install\u002Fimport, dependency, save-format, optional dependency, and reproducibility issues.\n- `references\u002Frepo-provenance.md` records the source version and evidence baseline for refresh decisions.\n- `references\u002Frepo-routing-metadata.json` provides managed repo-skills-router metadata for import tooling.\n- `scripts\u002Faugmentor_env_smoke.py` runs a safe generated-fixture smoke check for the active Python environment.\n\n## Boundaries\n\nUse this skill for **using Augmentor as a package**. For maintainer tasks that modify Augmentor source code, packaging, CI, or docs, combine this usage skill with a Python repository maintenance workflow and run focused source tests after editing.\n","# Augmentor Repo Skill\n\nUse this skill when a task names **Augmentor** or asks for Augmentor-style image augmentation: stochastic `Pipeline` construction, Pillow\u002FNumPy operations, class-folder scanning, generated image output, ground-truth\u002Fmask pairing, in-memory `DataPipeline` arrays, Keras-style batches, or torchvision transform callables.\n\nAugmentor is a CPU\u002FPillow\u002FNumPy package. It does not require CUDA, ROCm, MPS, Keras\u002FTensorFlow, or torch\u002Ftorchvision for core package workflows.\n\n## First checks\n\n1. Install the package in the task environment:\n\n   ```bash\n   pip install Augmentor\n   ```\n\n   For Augmentor 0.2.x compatibility-sensitive work, prefer:\n\n   ```bash\n   pip install 'Augmentor==0.2.12' 'Pillow\u003C10' 'numpy\u003C2' tqdm\n   ```\n\n2. Verify the import:\n\n   ```bash\n   python -c \"import Augmentor; print(Augmentor.__version__)\"\n   ```\n\n3. For a safe end-to-end check, run the bundled smoke helper:\n\n   ```bash\n   python scripts\u002Faugmentor_env_smoke.py --samples 2 --size 24\n   ```\n\n4. If the task uses masks, framework generators, or optional pandas\u002Ftorch\u002FKeras integrations, route to the matching sub-skill before giving final code.\n\n## Route by task\n\n| User task or signal | Read next |\n| --- | --- |\n| Create a `Pipeline` from a folder, scan class subfolders, write augmented files, choose `sample()` vs `process()`, control output directories, seeds, or multithreading. | `sub-skills\u002Fpipeline-augmentation\u002FSKILL.md` |\n| Choose operations, fix probability\u002Frange errors, understand rotate\u002Fcrop\u002Fzoom\u002Fskew\u002Fdistortion\u002Fcolor operations, or write custom `Operation` subclasses. | `sub-skills\u002Foperation-reference\u002FSKILL.md` |\n| Apply identical transforms to images and masks, use `ground_truth()`, verify matched filenames\u002Fclasses\u002Fdimensions, or build grouped in-memory original+mask arrays. | `sub-skills\u002Fmasks-and-arrays\u002FSKILL.md` |\n| Use `keras_generator`, `keras_generator_from_array`, `keras_preprocess_func`, `torch_transform`, or `DataFramePipeline`; debug batch shapes or optional framework dependencies. | `sub-skills\u002Fgenerators-and-frameworks\u002FSKILL.md` |\n| Diagnose install\u002Fimport, Pillow\u002FPIL, save-format, dependency, stochastic reproducibility, or optional dependency issues that span several workflows. | `references\u002Ftroubleshooting.md` |\n| Check whether this skill matches a local Augmentor checkout or package version. | `references\u002Frepo-provenance.md` |\n\n## Minimal examples\n\n### Disk-backed augmentation\n\n```python\nimport Augmentor\n\np = Augmentor.Pipeline(\"train_images\", output_directory=\"output\")\np.rotate(probability=0.7, max_left_rotation=10, max_right_rotation=10)\np.flip_left_right(probability=0.5)\np.resize(probability=1.0, width=224, height=224)\np.set_save_format(\"PNG\")\np.sample(100, multi_threaded=False)\n```\n\nOutputs are written under the source directory's output folder. If the source directory has immediate subdirectories, Augmentor treats those subdirectories as class labels. Read `pipeline-augmentation` before changing layouts or counting class outputs.\n\n### Mask-safe augmentation\n\n```python\nimport Augmentor\n\np = Augmentor.Pipeline(\"images\")\np.ground_truth(\"masks\")\np.rotate(probability=1.0, max_left_rotation=5, max_right_rotation=5)\np.sample(20)\n```\n\nUse `masks-and-arrays` to validate matched names, class subfolders, equal dimensions, and multiple masks per image.\n\n### Generator batches\n\n```python\nimport Augmentor\n\np = Augmentor.Pipeline(\"train_images\")\ng = p.keras_generator(batch_size=32, scaled=True, image_data_format=\"channels_last\")\nimages, labels = next(g)\n```\n\nThe direct Augmentor generator APIs return NumPy arrays and do not import Keras\u002FTensorFlow. Read `generators-and-frameworks` before promising external framework behavior.\n\n## Compatibility caveats\n\n- Augmentor 0.2.x predates newer Pillow and NumPy APIs. For legacy behavior, `Pillow\u003C10` and `numpy\u003C2` are safer than latest-only installs.\n- `DataFramePipeline` is optional and legacy. This checkout's `scan_dataframe()` path failed with pandas 1.5.3 and 3.0.5 because it calls `Categorical.get_values()`. Prefer ordinary `Pipeline` or `DataPipeline` unless maintaining or patching Augmentor.\n- `torch_transform()` returns a PIL-image callable; torchvision is optional and only needed for `torchvision.transforms.Compose` or `ToTensor()`.\n- Do not assert exact output filenames in tests or examples. Augmentor uses UUID filenames; assert counts, dimensions, formats, labels, and readable images.\n\n## Bundled references and scripts\n\n- `references\u002Fquickstart.md` gives a compact route map and common snippets.\n- `references\u002Ftroubleshooting.md` covers cross-cutting install\u002Fimport, dependency, save-format, optional dependency, and reproducibility issues.\n- `references\u002Frepo-provenance.md` records the source version and evidence baseline for refresh decisions.\n- `references\u002Frepo-routing-metadata.json` provides managed repo-skills-router metadata for import tooling.\n- `scripts\u002Faugmentor_env_smoke.py` runs a safe generated-fixture smoke check for the active Python environment.\n\n## Boundaries\n\nUse this skill for **using Augmentor as a package**. For maintainer tasks that modify Augmentor source code, packaging, CI, or docs, combine this usage skill with a Python repository maintenance workflow and run focused source tests after editing.\n",{"name":5,"license":14,"metadata":23,"description":7,"disable-model-invocation":25},{"disco-role":24},"operating",true,"main","ac3fe1afa80fb9a09775ecfb2b6cc3ba850a2db6","skills\u002Frepositories\u002Frepo-skills\u002Faugmentor",27,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab","2026-09-03 10:25:21",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":25},[35,38,41],{"tool":36,"command":37},"npx","npx skills add VectorSpaceLab\u002FAREX-Skill --skill augmentor",{"tool":39,"command":40},"bunx","bunx skills add VectorSpaceLab\u002FAREX-Skill --skill augmentor",{"tool":42,"command":43},"pnpm","pnpm dlx skills add VectorSpaceLab\u002FAREX-Skill --skill augmentor","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Faugmentor\u002FSKILL.md",[46,52,56,60,64],{"path":47,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":50,"sourceHtmlUrl":51},"references\u002Fquickstart.md","REFERENCE","参考文档",3707,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Faugmentor\u002Freferences\u002Fquickstart.md",{"path":53,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":54,"sourceHtmlUrl":55},"references\u002Frepo-provenance.md",1790,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Faugmentor\u002Freferences\u002Frepo-provenance.md",{"path":57,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":58,"sourceHtmlUrl":59},"references\u002Frepo-routing-metadata.json",319,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Faugmentor\u002Freferences\u002Frepo-routing-metadata.json",{"path":61,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":62,"sourceHtmlUrl":63},"references\u002Ftroubleshooting.md",4423,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Faugmentor\u002Freferences\u002Ftroubleshooting.md",{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"scripts\u002Faugmentor_env_smoke.py","SCRIPT","脚本",3549,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Faugmentor\u002Fscripts\u002Faugmentor_env_smoke.py",[71,79,86,93,100,107],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":75,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":18},"01M799NYSH1R3RVAHSM2D88Y84","passnet-triton-opt","Make a single PassNet Triton kernel fast AND numerically faithful: performance model (when a replacement can win at all), block\u002Fgrid\u002Fwarp tuning, autotune policy, launch overhead, and per-op numeric recipes to pass the dtype baseline tolerances. Use when a pass matches and is correct but speedup below expected, or when correctness fails by small numeric margins.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-triton-opt\u002FSKILL.md",[],[],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":75,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":18},"01M799NS5APEC0N1FZ7XZVW6BN","passnet-solve","END-TO-END playbook for solving one PassNet sample: analyze the computation graphs, decide the optimization strategy (what to fuse, what to replace, what to leave alone), drive the iteration loop, and maximize the sample score. This is the ENTRY skill — invoke it first for any PassNet optimization task; it tells you when to use passnet-pattern-fusion, passnet-triton-opt and passnet-feedback.","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-solve\u002FSKILL.md",[],[],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":75,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":18},"01M799NNY9BKSM21V5R7QVTBJX","passnet-skill","PassNet GPU kernel optimization via compiler passes. Design and implement Triton-based optimization passes, create pass files under .\u002Fpass_dir\u002F, self-evaluate with pass_evaluator, and iterate to maximize GPU speedup.","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-skill\u002FSKILL.md",[],[],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":75,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":18},"01M799NHH6NP7Z1RK77KGXAN6S","passnet-pattern-fusion","Author PassNet pass files: write patterns that actually MATCH the FX graph, pick fusion regions (which ops to absorb into one Triton kernel), and structure multi-pass submissions with the mandatory shared-dispatch architecture. Use when creating or fixing pattern()\u002Freplacement_args()\u002Freplacement_func() files, when a pass \"failed to match\", or when deciding how to fuse multiple kernels\u002Fops.","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-pattern-fusion\u002FSKILL.md",[],[],{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":75,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":18},"01M799ND2J4WNC2PGAZ0A06NDF","passnet-orchestrate","Round\u002Fbatch planning and decision support for PassNet graph optimization. Use for multi-sample triage, worker allocation, eval-budget policy, and post-eval keep\u002Frevert decisions. For solving one concrete sample end to end, use passnet-solve as the entry skill; consult this skill only when you need broader planning or a specific decision gate.","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-orchestrate\u002FSKILL.md",[],[],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":75,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":18},"01M799N8SBTMY02ZDG2AZF5ZWE","passnet-feedback","Fast, deterministic feedback for PassNet work: pre-flight pattern\u002Fmatch verification WITHOUT burning a GPU evaluation, per-node bottleneck analysis of a sample's graphs, and eval-log parsing into per-variant status + estimated score + failure classification. Use BEFORE every GPU evaluation (check_pattern), at the START of a sample (analyze_graph), and AFTER every evaluation (parse_eval_log).","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-feedback\u002FSKILL.md",[],[]]