Install
$ agentstack add skill-yuyou-dev-ikea-model-collector-ikea-model-collector ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
IKEA Model Collector
Build traceable, local-only IKEA model collections. Keep every acquisition user-directed and browser-observed. Never treat this Skill as permission to use, redistribute, publish, or commercially exploit IKEA material.
Start safely
- Read [legal-boundaries.md](references/legal-boundaries.md).
- Confirm the user has named a product or bounded product list and accepts the
relevant IKEA site terms.
- Run
initwith--acknowledge-terms; do not invent acceptance on the user's
behalf.
- Prefer the Codex in-app browser to discover the product page and observe its
actual DIMMA .glb response. Never derive a model URL from a product number.
- Save the browser response to a local file, then use
add --source-file.
For agents without browser network capture, request a user-provided local GLB and capture JSON. Read [browser-capture.md](references/browser-capture.md).
Select the runtime
From the current project, first check for a project adapter documented by its own AGENTS.md or package scripts. Use it when present so existing collection paths remain compatible. Otherwise run the standalone CLI bundled with this Skill:
node /scripts/ikea-model-collector.mjs [options]
The standalone default root is /.ikea-model-collector/collections/. Do not redirect output outside the current project. Read [download-contract.md](references/download-contract.md) before using add with a remote URL.
Execute a collection task
1. Initialize
node /scripts/ikea-model-collector.mjs init \
--collection-id living-room-study \
--locale en-US \
--terms-url https://www.ikea.com/us/en/customer-service/terms-conditions/ \
--acknowledge-terms
Use a stable lowercase collection ID. Record the locale and exact product URL for every candidate.
2. Capture and add
Create an ikea_product_capture.v1 JSON file from facts visibly present on the product page. Preserve raw dimensions and normalize only separately. See [collection-schema.md](references/collection-schema.md).
node /scripts/ikea-model-collector.mjs add \
--collection-id living-room-study \
--source-file /absolute/path/captured-model.glb \
--capture-file /absolute/path/product-capture.json
Use --model-url only for an IKEA DIMMA URL observed in the current browser session. Do not place credentials, cookies, signed query values, or secrets in metadata. Process candidates serially and at low frequency.
If no model can be captured, record the outcome instead of silently omitting it:
node /scripts/ikea-model-collector.mjs record-attempt \
--collection-id living-room-study \
--product-url https://www.ikea.com/us/en/p/example/ \
--result model_unavailable
Allowed failure statuses are model_unavailable, discovery_failed, capture_failed, and validation_failed.
3. Render when requested
node /scripts/ikea-model-collector.mjs render \
--collection-id living-room-study
Rendering is optional and requires Blender. Use the orthographic-shadow-v5 preset: square orthographic-isometric view, neutral light-gray background, Cycles lighting, and a physical soft contact shadow. Never modify or rescale the source GLB during preview generation.
4. Finalize and validate
node /scripts/ikea-model-collector.mjs finalize \
--collection-id living-room-study
node /scripts/ikea-model-collector.mjs validate \
--collection-id living-room-study
node /scripts/ikea-model-collector.mjs show \
--collection-id living-room-study
Use serve to open the generated local gallery through an HTTP origin. Keep the server bound to loopback unless the user explicitly requests otherwise.
Completion gate
Do not call a collection complete until all of the following are true:
- Each requested candidate is an asset or a recorded acquisition attempt.
- Every asset passes GLB v2 and declared-length validation and has SHA-256,
product provenance, capture time, and a rights-use reminder.
- Page dimensions remain distinct from geometry bounds; mismatches are reported,
not silently corrected.
catalog.json,catalog.csv,acquisition_report.json,
license_manifest.csv, checksums.sha256, gallery.html, handoff.md, and validation_report.json exist and agree on counts.
- Validation reports no broken paths, missing assets, or unrecorded failures.
- The handoff states that the collection is local, contains IKEA-controlled
material, is for personal research/learning only, and must not be redistributed or commercially used without permission.
Report the collection path, successful and failed counts, dimension coverage, validation result, gallery URL if served, and remaining limitations.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: yuyou-dev
- Source: yuyou-dev/Ikea-model-collector
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.