minor-detection
v0.1.5当用户或上层系统需要判断聊天记录中的说话者是否可能是未成年人、青少年、中学生、高中生,或需要对单会话、多会话历史做年龄倾向、校园倾向、学生画像、未成年人风险与证据分析时使用此技能。即使用户没有直接说“未成年人识别”,但需求本质上是判断“像不像未成年用户”、输出未成年人概率、画像、趋势、风险等级或结构化证据,也应激...
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description (minor/age-detection) match the code and runtime behavior. The script bundle implements payload normalization, optional retrieval, classifier calls, schema repair, and post-processing — all consistent with a minor-detection pipeline. The two required env vars (classifier base URL and API key) are appropriate and declared as primary.
Instruction Scope
SKILL.md enforces calling the control script and returning its single JSON output. The control script will transmit conversation text, timestamps, historical profile and metadata to the configured remote classifier endpoint and (optionally) to an embedding endpoint. That external transmission is explicit in the docs and expected for this skill, but it means user data (full conversation and metadata) will leave the host when classifier/embedding env vars are set.
Install Mechanism
There is no install spec (instruction-only for the platform), but the skill bundles multiple Python scripts. Nothing is downloaded from arbitrary URLs or installed during platform install. Runtime requires Python libraries (requests, httpx, numpy) to be present; lacking them will cause runtime errors.
Credentials
Registry-required env vars are MINOR_DETECTION_CLASSIFIER_BASE_URL and MINOR_DETECTION_CLASSIFIER_API_KEY (primary) — which is proportionate. SKILL.md and config.py also read many optional environment variables (model, timeout, retries, embedding base/key/model, SKILL_EMBEDDING_*, timezone, retrieval_top_k). Those additional env vars are optional and reasonable for configuring behavior, but they were not all listed in the registry 'requires.env' block — the discrepancy is informational and worth noting.
Persistence & Privilege
Skill does not request always:true and does not modify other skills or system settings. It runs as an invoked script and does not request elevated platform privileges. Autonomous invocation is allowed by default but is not combined with other privilege escalations.
Assessment
This skill will send the conversation text, timestamps, prior profile, and other metadata to whatever classifier and embedding endpoints you configure via env vars — ensure MINOR_DETECTION_CLASSIFIER_BASE_URL points to a trusted service and use a dedicated, least-privilege API key. If you require fully local processing, do not set the remote classifier/embedding env vars. Make sure the runtime environment provides requests/httpx/numpy (the bundled code expects them) or the pipeline will fail. Note the registry only declared the base URL and API key as required; the skill will also honor many optional config env vars (model, timeouts, embedding keys) — review and set those as needed. If you have confidentiality/regulatory constraints (sensitive user data, underage detection), consider running this code in a controlled environment or using a provider you trust before enabling it.Like a lobster shell, security has layers — review code before you run it.
latest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
EnvMINOR_DETECTION_CLASSIFIER_BASE_URL, MINOR_DETECTION_CLASSIFIER_API_KEY
Primary envMINOR_DETECTION_CLASSIFIER_API_KEY
SKILL.md
Minor Detection
把这个 skill 视为“调用固定控制脚本并返回单个 JSON 结果”的能力,不要把它当成自由发挥的推理任务。
硬性约束
你必须遵守以下规则:
- 始终调用
scripts/run_minor_detection_pipeline.py。 - 不要自行重写未成年人识别逻辑。
- 不要直接调用
extract_time_features.py或retrieve_cases.py,除非控制脚本内部决定调用它们。 - 脚本成功时,最终回答必须是 stdout 返回的单个 JSON object。
- 脚本失败时,只返回错误,不要自行补充判断。
输入准备
先把当前输入整理成一个 JSON payload,再交给控制脚本。
推荐字段:
modeconversationsessionscontextmetarequest_idsample_iduser_id
context 可包含:
raw_time_hintopportunity_timetime_featuresprior_profileretrieved_cases
如果上游已经提供完整 JSON,就尽量保持结构不变,只做最小整理。
执行方式
执行步骤:
- 把整理后的 payload 写入临时 JSON 文件。
- 运行
python scripts/run_minor_detection_pipeline.py --payload-file <payload-file>。 - 读取 stdout 中最后输出的 JSON object。
- 将该 JSON 原样作为最终结果返回。
外部服务与隐私说明
此技能不是纯离线技能。
运行时行为:
- 控制脚本会在分类阶段把对话文本、时间线索、历史画像、身份提示以及相关元数据发送到你显式配置的远程模型接口。
- 如果内置检索资源存在,并且显式配置了 embedding 端点与密钥,检索模块才会调用远程 embedding 接口。
- 当前这个轻量版包不包含内置检索资源,因此检索通常会降级为
disabled:assets_missing,并返回空的retrieved_cases。 - 如果调用方已经提供
context.retrieved_cases,流水线也可以直接使用外部提供的检索结果。
显式配置要求:
- 若未设置
MINOR_DETECTION_CLASSIFIER_BASE_URL或MINOR_DETECTION_CLASSIFIER_API_KEY,分类调用会直接报错而不是联网。 - 若未来需要启用远程 embedding 检索,需要显式设置
MINOR_DETECTION_EMBEDDING_BASE_URL和MINOR_DETECTION_EMBEDDING_API_KEY。
此技能会读取的环境变量:
MINOR_DETECTION_CLASSIFIER_BASE_URLMINOR_DETECTION_CLASSIFIER_API_KEYMINOR_DETECTION_CLASSIFIER_MODELMINOR_DETECTION_CLASSIFIER_TIMEOUT_SECMINOR_DETECTION_CLASSIFIER_MAX_RETRIESMINOR_DETECTION_CLASSIFIER_RETRY_BACKOFF_SECMINOR_DETECTION_EMBEDDING_BASE_URLMINOR_DETECTION_EMBEDDING_API_KEYMINOR_DETECTION_EMBEDDING_MODELMINOR_DETECTION_TIMEZONEMINOR_DETECTION_RETRIEVAL_TOP_KSKILL_EMBEDDING_BASE_URLSKILL_EMBEDDING_API_KEYSKILL_EMBEDDING_MODEL
凭证说明:
- 建议使用专用、最小权限的 API Key。
- 如果数据必须完全本地处理,请不要使用此技能。
输出规则
最终回答必须:
- 只输出一个 JSON object。
- 不输出 Markdown。
- 不添加解释性前言。
- 不补充 skill 输出之外的推理内容。
Files
18 totalSelect a file
Select a file to preview.
Comments
Loading comments…
