Both skills now describe the workflow only; every API call, login, refresh,
download, OBJ transform and slicer launch goes through the published
meshy-cli@0.3.0. The bundled Python runtime and the duplicated API manuals
are removed; OpenClaw is untouched. SKILL.md frontmatter keeps only name,
description and license — the release version lives in the plugin manifests.
First-run experience:
- Runner resolution: an installed 0.3.0 `meshy`, else the pinned temporary
package `npm exec --yes --package=meshy-cli@0.3.0 -- meshy ...`.
- One browser login: `auth login --device` as a live process; the URL and
code are shown from its first stderr line, the agent turn stays alive on
that same session, and the original request resumes after `auth status`
verifies. No key, token or task ID is pasted.
- The user's requested path wins: WORKSPACE/PROJECT_ROOT resolved from the
request, ./meshy_output only as the default; the workspace boundary,
symlink and overwrite protection are unchanged.
- Previews, delivery, cost sources, waiting and follow-ups ("a 1500-face
LOD", "now as FBX") live in a shared references/delivery.md.
- Printing gains a local-only route (prepare an OBJ / open a 3MF) that
triggers no authentication, balance check or generation.
Tooling: build.py syncs setup/delivery/troubleshooting to printing;
validate_skills.py enforces the WORKSPACE placeholder, PROJECT_ROOT, no
hardcoded output root, the setup/delivery contract and the plugin manifests.
Tests run the real CLI against loopback with synthetic credentials:
19 Node tests, 0 skipped.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Align the outward-facing skills with docs.meshy.ai. Every change is sourced
from the public docs or the public, unauthenticated Animation Library
endpoint; nothing internal is used.
- Animation was a dead end: `action_id: 1 # from Animation Library` with no
way to find a real ID. Now points at
GET https://api.meshy.ai/web/public/animations/resources (no key, 680
actions, ?category= to narrow) with a working lookup snippet. IDs are not
1..N — the catalog includes -2, -1, 0 — so the old hardcoded 1 was never
"the first animation".
- model_type "lowpoly" is deprecated and "smart-topology" was missing:
documented on image-to-3d with meshy-t2/meshy-t1 and both mutual-exclusion
rules. Scoped correctly — smart-topology is image-to-3d only; text-to-3d
keeps standard/lowpoly and multi-image-to-3d has no model_type at all.
- hd_texture is deprecated: replaced with texture_resolution (2k/4k/8k)
across refine, image-to-3d, multi-image-to-3d, retexture.
- Rigging examples fed it untextured meshes: preconditions block (textured
input, bipedal humanoid, 300k face cap via input_task_id, +Z for
model_url) plus a source -> "rig this task ID" table routing text-to-3d
through refine.
- multi_view_thumbnails promoted to SKILL.md as the default inspection move,
so agents stop pulling a 50-200 MB GLB just to look at a result.
- FAILED tasks report consumed_credits: 0 (refunded) — a transient failure
is a lost wait, not lost credits.
scripts/build.py --check and scripts/validate_skills.py both pass.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Surface the (already-implemented) API-key and data-flow guarantees where
reviewers and users can see them up front, ahead of submitting to the
official Claude plugin directory:
- meshy-3d-generation / meshy-3d-printing SKILL.md: add a "Security & Data
Handling" block (key sources, Bearer-only transmission, never-logged-in-full,
.env-only persistence on request, api.meshy.ai as sole endpoint, trust_env
bypass, filesystem footprint). Printing also documents that it launches only
already-installed slicers and never downloads/installs software.
- README.md: add a "Security & Data" section mirroring the same guarantees.
Wording matches actual script behavior; scripts never write shell profiles —
they only print persistence instructions for the user to run. Docs-only; no
generated build outputs touched. `build.py --check` and `claude plugin
validate` both pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* Split SKILL.md into references/, single-source reference.md, real scripts/
- All three SKILL.md files are now <=300 lines: frontmatter, flow
overview, decision trees, and per-round UX rules stay; parameter
detail, error trees, and code moved verbatim into per-skill
references/ (setup.md, pipelines.md, printing.md,
troubleshooting.md as applicable).
- The inline Python template (create_task/poll_task/download/
get_project_dir/record_task/save_thumbnail) is now a real CLI,
scripts/meshy_task.py, bundled in each skill; printing's slicer
detection and OBJ-fix snippets became scripts/slicers.py and
scripts/fix_obj.py. SKILL.md files state the rule: never rebuild
bundled scripts from memory.
- The three hand-drifted reference.md copies are merged into
reference/source.md; scripts/build.py regenerates each skill's
reference.md (OpenClaw's also gets the SECURITY MANIFEST injected
from its SKILL.md, keeping it a single self-contained file).
python3 scripts/build.py --check verifies freshness, the 300-line
limit, and that every references/*.md is linked from its SKILL.md
(ready for ENG-1578's CI checks 4+5).
- OpenClaw SECURITY MANIFEST now covers .env.local reads, matching
the bundled CLI's key lookup.
Resolves ENG-1580
* [Docs] Skills fix directory install after the references/ split
- Manual install now copies the whole skill directory (cp -R) instead of
SKILL.md + reference.md, so references/ and scripts/ travel with it;
the old flat copy would reintroduce the broken links ENG-1575 fixed
- Update the Skill vs MCP table: setup is a directory copy, not two files
Refs: ENG-1580
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: sandrone-bot[bot] <270319573+sandrone-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
`.codex-plugin/plugin.json` never worked. `codex plugin marketplace add` on
this repo discovered zero plugins, because Codex reads a marketplace listing
at `.agents/plugins/marketplace.json` (which this repo does not have) and
requires each plugin root to be a subdirectory carrying its own real skills/
tree — `.`, `./` and `../../` as the plugin path all fail.
Both cheap workarounds install zero skills while still printing
"Added plugin", so the manifest was strictly worse than none:
- `codex-plugin/skills` as a symlink to `../skills` — not dereferenced
- `"skills": ["../skills/..."]` in plugin.json — not followed out of the root
The only working shape is a second, real copy of every skill, which is the
drift this repo just finished removing.
Codex discovers skills from `.agents/skills` (per repo) and `~/.agents/skills`
(user-wide) with no manifest at all — verified via `codex debug prompt-input`,
which shows the skill reaching the model. That is the cross-editor convention
Cursor also reads, so one README section covers both.
- remove `.codex-plugin/plugin.json`
- drop CODEX_PLUGIN from validate_skills.py checks 2 and 3, and record in the
module docstring why there is deliberately no Codex manifest
- README: add a Codex manual-install section using `.agents/skills`
- CHANGELOG: correct the 0.4.1 entry (never tagged, so amended in place)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- README: install Claude Code/Cursor skills as directories so SKILL.md's
relative reference.md links resolve after install
- meshy-3d-generation: agent no longer appends MESHY_API_KEY to
~/.zshrc / ~/.bashrc or sets Windows user env vars; Step 0 no longer
scans shell profiles; prints user-facing persistence instructions
instead (unifies with meshy-openclaw SECURITY MANIFEST posture)
- README Windows setup: replace setx command with GUI steps
- versions: all three SKILL.md frontmatters at 0.4.1 == CHANGELOG top;
meshy-openclaw gains author/version/homepage metadata
- CI: scripts/check-version.sh + version-check workflow pin
frontmatter version to CHANGELOG top to prevent future drift
Across all three skills (meshy-3d-generation, meshy-3d-printing, meshy-openclaw):
- Document POST /openapi/v1/print/analyze (FREE) — printability check returning
watertightness, volume, non-manifold edges, degenerate faces, holes
- Document POST /openapi/v1/print/repair (10 credits) — topology repair;
output format mirrors input; textures not preserved
- Document POST /openapi/v1/print/multi-color (10 credits) — now also
accepts model_url
- Add "2D optimization pre-step" recommended workflow: when the user only
supplies a text prompt or a low-quality reference image, use text-to-image
/ image-to-image (nano-banana-pro) before image-to-3d. 3–9 extra credits
typically buy a meaningful 3D-quality lift.
meshy-3d-printing rewritten:
- frontmatter version 0.2.0 → 0.3.0
- print pipeline: generate → analyze → repair? → multicolor? → download → send_to_slicer
- old "Printability Checklist (Manual Review)" + "Coming Soon: Printability
Analysis & Fix API" sections replaced by the real automated check;
manual checklist now scoped to print-quality concerns the API doesn't
cover (wall thickness, overhangs, base stability)
meshy-openclaw printing section adds analyze/repair while preserving
SECURITY MANIFEST and metadata.openclaw frontmatter.
reference.md across all three skills:
- Adds Analyze Printability + Repair Printability sections with full
request/response schemas
- Pricing summary lists analyze (FREE) and repair (10 credits)
- Retexture section clarifies that "text-to-texture" is a doc redirect to
retexture and there is no separate /openapi/v1/text-to-texture endpoint
README updated to reflect 2D pre-step recommendations + analyze/repair
capabilities.
NEW: top-level CHANGELOG.md (this is the first release that ships one).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Remove all references to msy_dummy_api_key_for_test_mode (not a real feature)
- Printability check: clarify as manual checklist, automated API coming soon
- Multi-color printing: clarify as manual guidance, automated API coming soon
- Update Roadmap → Coming Soon section in printing skill
- Add license, compatibility, metadata fields per agentskills.io spec
- Update all URLs to meshy-dev organization
- Rename project from meshy-ai-agent to meshy-3d-agent
- Move skills into skills/meshy-3d-generation/ and skills/meshy-3d-printing/
- Each skill has its own SKILL.md + reference.md (self-contained)
- Root contains only README.md, LICENSE, .gitignore
- Follow directory convention from CloudAI-X/threejs-skills