Agent Skillsneilsonnn/image-blaster › image-blast-3d

image-blast-3d

GitHub

为指定项目生成单个原子3D对象。接收单一物体名称或图片,提取目标并生成图像编辑提示词,调用资产管线工具生成3D模型,支持迭代优化与参数调整。

.claude/skills/image-blast-3d/SKILL.md neilsonnn/image-blaster

Trigger Scenarios

用户要求生成特定物体的3D模型 用户提供单张图片及物体描述用于3D生成

Install

npx skills add neilsonnn/image-blaster --skill image-blast-3d -g -y
More Options

Non-standard path

npx skills add https://github.com/neilsonnn/image-blaster/tree/main/.claude/skills/image-blast-3d -g -y

Use without installing

npx skills use neilsonnn/image-blaster@image-blast-3d

指定 Agent (Claude Code)

npx skills add neilsonnn/image-blaster --skill image-blast-3d -a claude-code -g -y

安装 repo 全部 skill

npx skills add neilsonnn/image-blaster --all -g -y

预览 repo 内 skill

npx skills add neilsonnn/image-blaster --list

SKILL.md

Frontmatter
{
    "name": "image-blast-3d",
    "agent": "image-blast-3d",
    "context": "fork",
    "description": "Generate one specified atomic 3D object. Use when the user names exactly one object instance to make, or provides one image plus the object name\/description.",
    "allowed-tools": "Read Write Glob Bash(ls *) Bash(node .claude\/scripts\/project\/project-state.mjs *) Bash(node .claude\/scripts\/project\/ensure-local-assets.mjs *) Bash(node .claude\/scripts\/asset-pipeline\/generate-single-asset.mjs *)",
    "argument-hint": [
        "world-name"
    ]
}

Create exactly one 3D object for project $0.

Instructions

The arguments must identify one object clearly enough for this forked skill to work alone.

  • If $0 is missing, ask for the world slug.
  • If the object is missing or ambiguous, ask for exactly one atomic object instance.
  • Use ls -a before reading generated state.
  • Find the object in worlds/$0/output/<object>/object.json, worlds/$0/image.json, or worlds/$0/source/*.json.
  • If the object has no object.json, create the minimal durable intent:
{
  "schema_version": 1,
  "world": "$0",
  "object": {
    "id": "<object-slug>",
    "name": "<object name>",
    "description": "<literal object description>",
    "materials": [],
    "source_images": [],
    "evidence": [],
    "generate_as_3d_object": true,
    "working_dir": "worlds/$0/output/<object-slug>"
  },
  "updated_at": "..."
}
  • Preserve available description, materials, source_images, and evidence.
  • Write a natural image-edit prompt for this specific object and pass it as --image-edit-prompt. Use this as the base prompt, filling in the target object and then elaborating with object-specific details: "Isolate the from this image. Reproduce it exactly as shown -- same colors, materials, and proportions. White background, centered, tight crop, studio lighting. No other objects, no scene, no people, no text, no shadows on the ground. Isolate the object and remove all clustered, adjacent, overlapping, or items resting on the target object. Create a clean render of that one single object that is true to the source image."
  • The prompt must ask for one atomic physical instance only: not a pair, set, cluster, category example, or adjacent duplicate. If the source contains similar objects, identify the target by location and exclude the others.
  • Do not write generated status, jobs, file lists, or request lifecycle into object.json.

Run the generator and wait for it to finish:

node .claude/scripts/asset-pipeline/generate-single-asset.mjs --world "$0" --object-id "<object-id>" --image-edit-prompt "<object-specific extraction prompt>"

The first run may create a clean reference PNG with image edit. Later runs reuse the latest reference PNG by default, including --regenerate model runs. Use --regenerate-reference only when the user asks for a new extraction from the source image. For iterative refinement, pass --reference-only to stop after the image-edit step.

If request metadata records provider URLs but local model or image files are missing, fill them from the matching hidden request JSON:

node .claude/scripts/project/ensure-local-assets.mjs --from "<request-json-path>"

Hunyuan is the default 3D provider. Hunyuan defaults are --face-count 50000, --enable-pbr true, and --generate-type Normal. If the user asks for more detail, polygon reduction, or a white geometry-only model, pass the matching options:

  • --face-count <40000-1500000>
  • --generate-type Normal|LowPoly|Geometry
  • --polygon-type triangle|quadrilateral for LowPoly
  • --enable-pbr true|false

Pass --provider meshy only when the user asks for Meshy. Meshy defaults are:

{
  "topology": "triangle",
  "target_polycount": 30000,
  "symmetry_mode": "auto",
  "should_remesh": true,
  "should_texture": true,
  "rigging_height_meters": 1.7,
  "animation_action_id": 12,
  "enable_safety_checker": true,
  "enable_animation": false,
  "enable_rigging": false,
  "enable_pbr": true
}

For Meshy-specific requests, pass the matching options:

  • --target-polycount <integer>
  • --topology triangle
  • --symmetry-mode auto
  • --should-remesh true|false
  • --should-texture true|false
  • --enable-animation true|false
  • --enable-rigging true|false

For explicit model regeneration from the existing reference, append --regenerate. For a new source extraction and model, append --regenerate-reference. For direct single-image generation, use:

node .claude/scripts/asset-pipeline/generate-single-asset.mjs --world "$0" --image "<image-path>" --object-name "<object-name>" --description "<description>" --image-edit-prompt "<object-specific extraction prompt>"

Final response: report the object id, output directory, generated model files, and any failed/resumable request metadata.

Version History

  • 4acb43b Current 2026-07-24 11:45

Same Skill Collection

.claude/skills/image-blast-image-edit/SKILL.md
.claude/skills/image-blast-plate/SKILL.md
.claude/skills/image-blast-project/SKILL.md
.claude/skills/image-blast-sfx/SKILL.md
.claude/skills/image-blast-uncover/SKILL.md
.claude/skills/image-blast-wildcard/SKILL.md
.claude/skills/image-blast-world/SKILL.md

Metadata

Files
0
Version
4acb43b
Hash
3de0b666
Indexed
2026-07-24 11:45

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-06 19:37
浙ICP备14020137号-1 $방문자$