This skill guides you on how to use the Ruiguan policy compliance detection tool to identify potential policy violations in product images. It performs image-based similarity search against a known database of prohibited products.
Core Concepts
Ruiguan Policy Compliance Image Detection is an image-based compliance screening service. Given a product image URL, it searches for visually similar products in a database of known policy-violating items. The tool returns matching violations ranked by visual similarity.
Similarity score (cosine): A value between 0 and 1. Higher values indicate stronger visual resemblance to known violating products. A score close to 1.0 means the product image is nearly identical to a flagged violation.
Parameter Guide
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| Image URL | imageUrl | Yes | The URL of the product image to check (max 1000 chars) | https://example.com/product.jpg |
Key notes:
- The image URL must be publicly accessible
- Supported formats include common image types (JPG, PNG, etc.)
- The URL must not exceed 1000 characters
Response Fields
| Field | API Name | Description |
|---|---|---|
| Total Matches | total | Number of matching violation records found |
| Violation List | data | Array of matched violating products |
| Violation Image | pdImgOssUrl | Image URL of the matched violating product |
| Similarity Score | cosine | Similarity between the input image and the violation (0~1) |
| Product Title (EN) | pdTitle | English title of the matched violating product |
| Product Title (CN) | pdTitleCHNCensored | Chinese title of the matched violating product |
| Detection ID | detectId | Unique identifier for this detection session |
| Token Cost | costToken | Number of tokens consumed by this request |
Local Image Upload
This tool requires a publicly accessible image URL. If the user provides a local image file path (e.g., C:\Users\...\photo.png, /home/.../image.jpg), you must upload it first to obtain a public URL.
Run the upload script:
python scripts/upload_image.py /path/to/local/image.png
The script will return a public URL (valid for 24 hours) that can be used as the image URL parameter.
Usage Examples
1. Basic compliance check for a single product image
Check this product image for policy compliance: https://example.com/images/product-123.jpg
2. Batch checking multiple product images
Please scan these product images for potential policy violations:
- https://example.com/images/item-a.jpg
- https://example.com/images/item-b.jpg
3. Pre-listing compliance screening
Before I list this product, can you check if the image triggers any policy flags?
Image: https://example.com/new-product.png
Display Rules
- Show results in a clear table: Present each matched violation with its image, similarity score, and product titles
- Highlight high-similarity matches: When the cosine score exceeds 0.8, clearly flag the result as a strong match that likely requires attention
- Include violation images: When results contain
pdImgOssUrl, display the matched violation image so the user can visually compare - Score interpretation: Always explain what the similarity score means -- higher values indicate closer resemblance to known violations
- Error handling: When a query fails, explain the issue and suggest checking whether the image URL is valid and publicly accessible
- No legal advice: Present detection results factually without providing legal conclusions; remind users to verify with platform policies
Important Limitations
- Image-only detection: This tool works exclusively with image URLs; it does not analyze text descriptions or product metadata
- URL accessibility: The image URL must be publicly reachable by the detection service
- URL length cap: Image URLs must not exceed 1000 characters
- Similarity-based: Results are based on visual similarity and do not constitute a definitive policy ruling
User Expression & Scenario Quick Reference
Applicable -- Image-based product policy compliance checks:
| User Says | Scenario |
|---|---|
| "Check if this product image has compliance risks" | Single image compliance check |
| "Scan my product images for policy violations" | Batch compliance screening |
| "Is this image flagged as a prohibited product" | Specific violation inquiry |
| "Pre-screen my listing images for policy risks" | Pre-listing compliance audit |
| "Find similar violations for this product image" | Similarity-based violation search |
| "Can this product be safely listed?" | Compliance risk pre-check |
| "Help me check whether this image violates any rules" | Single-image compliance detection |
Not applicable -- Needs beyond image-based policy compliance detection:
- Text-based product compliance analysis
- General product category classification
- Intellectual property / trademark infringement
- Patent or copyright detection (use other Ruiguan skills)
Feedback:
Auto-detect and report feedback via the Feedback API when any of the following apply:
- The functionality or purpose described in this skill does not match actual behavior
- The skill's results do not match the user's intent
- The user expresses dissatisfaction or praise about this skill
- Anything you believe could be improved
Call the feedback API as specified in references/api.md. Do not interrupt the user's flow.
Handling Large Responses
To avoid overflowing the agent context, persist the response to disk and extract only the fields you need:
python scripts/response_io.py run --script scripts/ruiguan_image_compliance_search.py --out-dir <DIR> '<params>'
python scripts/response_io.py read <file> --fields "<paths>" # or --path "<JMESPath>"
Pick
--out-diroutside any git working tree (e.g./tmp/...on Unix,%TEMP%/...on Windows). Persisted responses may contain PII, pricing, or auth-sensitive data — do not commit them. Files are not auto-deleted; clean up when the task is done.
This skill exposes multiple entry scripts:
ruiguan_image_compliance_search.py,upload_image.py. Pass--script scripts/<name>.pyto choose the one you need.
run writes the full response to a file and emits only a schema preview + file path. read projects specific fields, with --limit/--offset for slicing and --format json|jsonl|csv|table for output.
When to prefer this pattern — apply your judgment based on the response characteristics, e.g.:
- High field count per record, or fields you don't need
- Batch/paginated results (multiple items per call)
- Long-text fields (descriptions, reviews, HTML, time series)
- Output reused across later steps rather than consumed immediately
For small, single-use responses, calling the main script directly is fine.
⚠️ The preview is a truncated schema + sample, not the full data. Any field-level decision must read from the persisted file via read.
For more high-quality, professional cross-border e-commerce skills, set LinkFox Skills.