← Back to home@full-aigc-plugins

artcraft-plugin

Orchestrate VectorCraft, PhotoCraft, EffectCraft, and FilmCraft projects from one brief.

Stars
1
Language
TypeScript
Created
Oct 5, 2026
Updated
Oct 18, 2026
GitHub repo

Introduction

ArtCraft

Plugin marketplaces

This plugin belongs to AIGC content creation.

CategoryMarketplacePurpose
Full-stack developmentFull Stack PluginsArchitecture and UI design, code understanding, quality checks, code review, workflow governance, and server operations
AIGC content creationFull AIGC PluginsImage, video, audio, music, 3D, and multimodal content creation

Turn one brief into coordinated VectorCraft, PhotoCraft, EffectCraft and FilmCraft projects, with a frozen plan, a durable ledger and hash-bound delivery evidence.

Version Skills License

English | 简体中文 · Install · Quick start · What you can build · Skills · Troubleshooting

Positioning

ArtCraft is the orchestration layer for the four *-craft creative tools: it decomposes a mixed brief (brand graphics, posters, motion intros, captioned short films) into a dependency graph, installs the pinned runtimes and domain skills that graph needs, executes it with one writer per project, and keeps every native project, asset digest and receipt.

It is not a new editor. VectorCraft owns vector documents, PhotoCraft raster projects, EffectCraft compositions and FilmCraft timelines; ArtCraft owns routing, scheduling, revision scope, packaging and review evidence. Jianying has its own plugin and is out of scope here.

11 skills4 native domains1 execution channelmacOS arm64
Routing and lifecycleVector, raster, motion, filmartcraft-harness scriptsOnly verified platform

Status and version

0.1.0-dev.142+codex.20261018 · development preview · project-status.json → marketplaceEligible: false, supportedPluginHosts: [].

Installation

Prerequisites

  • macOS arm64. This is the only platform with first-use evidence; other platforms are not claimed.
  • Python 3.11 or newer on PATH. The bootstrap script installs the pinned Node runtime itself, so no global Node is needed.
  • No sudo and no PATH changes: installs stay in the user data directory (~/.local/share/craft-runtimes by default, override with --runtime-home or CRAFT_RUNTIME_HOME).
  • Network access on first use, or pinned offline archives via --node-archive, --bundle-dir and --native-archive-dir.

Development install

codex plugin marketplace add full-aigc-plugins/artcraft-plugin
codex plugin add artcraft@full-aigc-plugins-artcraft

project-status.json still records marketplaceEligible: false and an empty supportedPluginHosts, so treat this as a developer install of a 0.1.0-dev.* candidate. There is no production marketplace entry for this package.

Manifests for Codex (.codex-plugin/), Claude Code (.claude-plugin/), ZCode (.zcode-plugin/) and Kimi (kimi.plugin.json) are present, but host discovery for this candidate is not accepted.

Quick start

Point HARNESS_DIR at the skill directory the host actually loaded, then install the pinned runtime. Nothing is written to the system interpreter or to PATH.

: "${HARNESS_DIR:?Set to the directory holding the loaded artcraft-harness SKILL.md}"
python3 -I -B "$HARNESS_DIR/scripts/bootstrap.py" --runtime-only

The bootstrap returns JSON with nodeExecutable and entryPoint; skills is empty because no domain runtime was needed yet. Run the bundled four-domain example, then check the ledger and the reopened native projects:

python3 "$HARNESS_DIR/scripts/workflow.py" \
  "$SKILL_DIR/examples/brand-campaign.json" \
  --output /absolute/path/brand-project \
  --authorization brand-project-authorized \
  --asset voice=/absolute/path/voice.wav
flowchart LR
    A[Brief and assets] --> B[artcraft-use routes work]
    B --> C[Pinned runtime and domain skills]
    C --> D[Frozen plan, SQLite ledger, DAG]
    D --> E[Vector / Photo / Effect / Film projects]
    E --> F[Delivery package and review evidence]

The example requires a real voice WAV. If you have no audio, edit the plan and drop audioRequired instead of generating fake narration to satisfy the delivery check.

What you can build

WorkflowBuilt-in pathVerifiable output
Mixed brand campaignartcraft-use → harness workflowFour native projects, collected media, previews and a delivery ledger
Replace a logo or assetartcraft-cli-reviseAffected nodes rebuilt, unrelated nodes reused, previous delivery kept
Recover an interrupted runartcraft-cli-recoverOriginal attempt adopted, no write replayed, stop evidence recorded
Package and relocateartcraft-cli-deliverPackage verified after the move and after deleting the originals
Review a mixed deliveryartcraft-cli-reviewNamed observations bound to the current plugin and asset versions
Query native capabilityartcraft-cli → domain command componentCommand catalogue with the parameters of the installed build

Skills

SkillWhat it does
artcraft-useDefault entry: decompose the brief, choose tools, hand off dependencies, verify delivery
artcraft-cliQuery the public CLI surface and run explicit commands and diagnostics
artcraft-cli-setupFirst install, digest checks, version checks and missing-runtime triage
artcraft-cli-planPlan tools, DAG and delivery constraints for brand, poster, intro and promo work
artcraft-cli-executeExecute an existing plan with input-version and concurrent-write checks
artcraft-cli-assetsRegister asset digests, provenance and sub-project dependencies
artcraft-cli-reviseSwap a logo or asset, revise native sub-projects, update downstream nodes
artcraft-cli-recoverInspect task state, cancel the original task, recover after scheduler exit
artcraft-cli-deliverCollect native projects, assets, plan and evidence; verify after relocation
artcraft-cli-reviewCheck technical evidence and visual, copy and audio consistency
artcraft-harnessThe only execution implementation: bootstrap, workflow, review, revision, packaging

Configuration

Variable / flagPurpose
HARNESS_DIRAbsolute directory of the loaded artcraft-harness skill; all scripts run from $HARNESS_DIR/scripts/
SKILL_DIRDirectory of the loaded domain SKILL.md; used only for that skill's examples/ and references/
CRAFT_RUNTIME_HOME / --runtime-homeIsolated runtime install root
--authorizationReference to an existing task authorization scope, not a credential
--outputAbsolute output directory; must be new, and an owned directory is never overwritten

The package declares no MCP server of its own (mcp.json is absent). Everything runs through the harness scripts and the pinned native CLIs.

Architecture and security

  • Skill sources live in the separate artcraft-skills repository and arrive as locked snapshots; skills.lock.json pins the source commit and a per-skill SHA-256.
  • Trusted configuration pins interpreter, script and native executable paths. Plan payloads cannot choose a shell, interpreter or executable.
  • Python runs isolated without bytecode caches. Each project directory has one writer; plan revisions are frozen, and inputs are re-checked before use.
  • Unknown outcomes are never replayed: an interrupted native write keeps its lease and requires reconciliation first.
  • Evidence files are per-run JSON with hashes; docs/README.md indexes the architecture set and OpenSpec holds the behavioural specification.

Troubleshooting

SymptomAction
unsupported_platformOnly macOS arm64 is accepted; do not install another platform's artifact
Download or digest mismatchThe pinned artifact is missing or changed; restore network or pass a verified offline archive
runtime_upgrade_busyFinish or trust-stop the task on the old runtime, then migrate; do not delete leases
Missing voice assetEdit the plan and clear audioRequired; do not synthesize narration
Unknown save resultRead failure.json, the staged project and the stop evidence; do not re-run the same write
Image Factory or Jianying requestedNeither is integrated; Jianying stays in its own plugin

Upgrade

codex plugin marketplace upgrade full-aigc-plugins-artcraft
codex plugin add artcraft@full-aigc-plugins-artcraft

Runtime and skill identities are independent: reusing a version re-verifies its files, and a corrupted version fails loudly instead of being silently replaced or upgraded.

Contributing and support

Read AGENTS.md before changing anything: behaviour changes go through OpenSpec first, and no task may be marked complete without real delivery evidence. Documentation and specification checks:

python3 scripts/validate_docs.py
openspec validate establish-v1-plugin --strict --no-interactive

These validate documents and specifications only. Report defects at https://github.com/full-aigc-plugins/artcraft-plugin/issues.

License

Original repository content is Apache-2.0. The bundled Node runtime and the four upstream creative CLIs keep their own licenses. Restricted upstream ArtCraft/Services code and brand assets are not copied; see RELEASE-HISTORY.md for version-bound history.