Skip to content
Back to skills

Customization And Development

ASecurity

"Extend ModelScope with custom pipelines, registered components,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
developmentpythonrustbashrailsgitbackend

Works with

  • cli

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill customization-and-development --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Customization And Development?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Customization And Development
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-customization-and-development/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-customization-and-development)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: customization-and-development
description: "Extend ModelScope with custom pipelines, registered components,
  safe scaffolding, contributor workflow, test levels, and trust-boundary
  guidance."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Customization and Development

Use this sub-skill when the user wants to extend ModelScope itself or create a
custom ModelScope-facing pipeline/model/preprocessor wrapper. Keep the workflow
safe by default: plan scaffolding before running it, avoid downloads and
training during design checks, and treat remote code/plugin execution as an
explicit trust decision.

## Route first

- Existing pipeline inference, `pipeline()`, `Model.from_pretrained()`, devices,
  batching, and output keys: use `../pipelines-and-models/SKILL.md`.
- Training or evaluating an existing model/trainer configuration: use
  `../training-and-evaluation/SKILL.md`.
- Generic repository maintenance unrelated to ModelScope extension points: do
  not use this sub-skill unless the user is editing a ModelScope checkout.

## Read the right reference

- Custom pipeline/model/preprocessor design, CLI template arguments,
  `configuration.json` shape, registration patterns, and trust gates:
  `references/extension-workflows.md`.
- Contributor workflow, test levels, focused test selection, linter/pre-commit,
  git-lfs/submodule data notes, and repository-development guardrails:
  `references/contributor-guidance.md`.
- Error diagnosis for template generation, registry misses, config trust gates,
  plugin loading, focused tests, and optional backend gaps:
  `references/troubleshooting.md`.

## Safe planner

Before running ModelScope's scaffold command, create a dry-run command plan:

```bash
python scripts/pipeline_template_plan.py \
  --task_name my-task \
  --model_name MyCustomModel \
  --preprocessor_name MyCustomPreprocessor \
  --pipeline_name MyCustomPipeline \
  --filename ms_wrapper.py \
  --save_file_path ./custom_pipeline \
  --configuration_path ./custom_pipeline
```

The bundled planner prints the `modelscope pipeline --action create ...` command
only. It validates that `--filename` ends with `.py`; it does not create files,
import ModelScope, contact the network, download models, train, or overwrite
anything.

## Operating guardrails

1. Import-time side effects matter. The stock template contains top-level code
   that writes `configuration.json` when the generated Python file is imported
   or run. Inspect and refactor generated code before using it as a package
   module.
2. Registration is import-driven. Decorators such as `@PIPELINES.register_module`
   run only after the wrapper/plugin module has been imported, or after a
   packaged ModelScope module has been indexed and lazily imported.
3. Match all routing keys: `task`/registry group, decorator `module_name`, and
   `configuration.json` `type` fields must agree.
4. Prefer JSON/YAML configuration for passive data. Python configs and remote
   model code execute Python and require an explicit trust decision.
5. Treat `plugins`, `allow_remote`, and `trust_remote_code=True` as code
   execution boundaries. Do not enable them merely to bypass an error.
6. CUDA/domain-specific execution is optional and unverified in this production
   scope. Provide CPU/local smoke checks first and record what remains
   unverified.

Files in this skill

  • SKILL.md3.3 KB
  • references/contributor-guidance.md6.6 KB
  • references/extension-workflows.md9.7 KB
  • references/troubleshooting.md7.8 KB
  • scripts/pipeline_template_plan.py4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.