LightCraft Use
Plugin marketplaces
This plugin belongs to AIGC content creation.
| Category | Marketplace | Purpose |
|---|
| Full-stack development | Full Stack Plugins | Architecture and UI design, code understanding, quality checks, code review, workflow governance, and server operations |
| AIGC content creation | Full AIGC Plugins | Image, video, audio, music, 3D, and multimodal content creation |
LightCraft Use — photo management and non-destructive development
Cull, develop and export photographs from your agent host, with the original file preserved and every develop step kept as a reversible setting.
English | 简体中文 · Install · Quick start · Skills · Troubleshooting
Positioning
lightcraft drives the real LightCraft CLI and its browser panel from an agent host, so a photo task ends with decoded output files, a versioned develop history and a delivery receipt — not a promise that a slider moved. The plugin owns photo skills, an explicit task controller and a same-session panel bridge; it does not replace LightCraft or re-implement raw decoding.
| Property | Value |
|---|
| Plugin ID | lightcraft |
| Version | 0.1.0-dev.20261018.3 |
| Status | Development preview; production promotion blocked, creative acceptance open |
| Pinned native CLI | LightCraft CLI 0.2.1 |
| Verified platform | macOS arm64 with Python 3.11 or newer |
| Panel runtime | Node.js 24, started from ui/bootstrap.mjs |
| License | Apache-2.0 |
Installation
Prerequisites
- Node.js 24 on
PATH for the stdio MCP server and the panel.
- Python 3.11 or newer; the skills and
scripts/controller.py are Python entry points.
- macOS arm64 for the pinned CLI. Other platforms are tracked as independent open changes and are not claimed.
- Network access on the first panel launch; the plugin downloads and verifies the pinned editor archive, and a complete release ZIP already contains it.
- The native CLI is not bundled. The installer downloads the pinned official release and keeps the licence files inside the artifact.
From the plugin marketplace
codex plugin marketplace add partme-ai/full-aigc-plugins
codex plugin add lightcraft@full-aigc-plugins
Restart the host, open a new task, and ask LightCraft to inspect a photo library before editing anything.
Other host manifests
| Host | Manifest | Path base |
|---|
| Standard Agent Plugins 1.0.0 | plugin.json, mcp.json | ${PLUGIN_ROOT} |
| Codex | .codex-plugin/plugin.json, .codex-plugin/mcp.json | plugin root relative to cwd |
| Claude Code | .claude-plugin/plugin.json, .mcp.json | ${CLAUDE_PLUGIN_ROOT} |
Kimi (kimi.plugin.json), DeepSeek Harness (dsh/) and the WorkBuddy example (hosts/workbuddy/mcp.json) are also present. In a development checkout you must build the editor assets first; cloning the source is not an installed runtime.
Quick start
flowchart LR
A[Install plugin] --> B[Open editor on a workspace]
B --> C[command_list / list_files]
C --> D[Import and inspect photos]
D --> E[Develop with photo IDs]
E --> F[Export and decode the result]
F --> G[Reopen and review]
- Open the panel with an explicit
workspace argument.
- Check the environment first:
python3 -I -B "$SKILL_DIR/scripts/bootstrap.py" --no-install reports the pinned CLI without installing it.
- List the real commands with
command_list, then read a photo with inspect before changing it.
- Develop with
command_run, always binding real photo IDs; never assume a setting object from memory.
- Export, then decode the actual output file and reopen the library in an independent session before calling the task done.
For a long task, the explicit controller records state instead of relying on the chat:
python3 -I -B scripts/controller.py init /absolute/new-task --payload /absolute/init.json
python3 -I -B scripts/controller.py run /absolute/new-task --runtime-home /absolute/runtime
python3 -I -B scripts/controller.py status /absolute/new-task
python3 -I -B scripts/controller.py deliver /absolute/new-task
init, run, status, inspect, reconcile, stop, remaining, review-request, review, revise and deliver are separate calls. UNKNOWN is never replayed; reconcile only reads.
What you can build
| Workflow | Built-in path | Verifiable output |
|---|
| RAW baseline development | lightcraft-raw-develop | White balance, exposure, highlight and shadow settings, plus decoded output |
| Batch style across one shoot | lightcraft-batch-photo-style | The same look applied to the listed photos only |
| Landscape development | lightcraft-landscape-develop | Sky, ground and tonal separation recovered |
| Natural portrait development | lightcraft-portrait-develop | Skin, exposure and background balance |
| Cull and rate a library | lightcraft-photo-culling | Rating, grouping and a selected set |
| Final delivery | lightcraft-photo-export | Sized, colour-managed, named files with a receipt |
| Independent virtual copy | lightcraft-virtual-copy-review | A reviewable copy that leaves the original untouched |
| Named version restore | lightcraft-named-version-restore | Restored settings and pixels identical to the named version |
| Tone curve transfer | lightcraft-tone-curve-transfer | Only the curve moved; exposure, colour and crop preserved |
Skills
| Skill | What it does |
|---|
lightcraft-use | Main entry: route a photo request and connect the stages |
lightcraft-editor | Open the editor in the host and keep agent edits on the same page |
lightcraft-cli | Command catalogue, control list, JSON plan check and receipt contract |
lightcraft-cli-setup | Check or install the pinned CLI, verify the version and diagnose failures |
lightcraft-cli-library | Import, select and organise photos; diagnose duplicate imports |
lightcraft-cli-develop | Exposure, white balance, local adjustments and scoped sync |
lightcraft-cli-export | Export photos, check format, size and colour, verify delivered files |
lightcraft-raw-develop | RAW baseline: white balance, exposure, highlight and shadow |
lightcraft-batch-photo-style | Unify the look across one group of photos |
lightcraft-landscape-develop | Sky, ground and tonal range for landscape frames |
lightcraft-portrait-develop | Skin tone, exposure and background balance |
lightcraft-photo-culling | Import, rate, group and select |
lightcraft-photo-export | Size, colour and naming for the selected photos |
lightcraft-virtual-copy-review | Review in an independent virtual copy without touching the original |
lightcraft-named-version-restore | Trial a named version and restore it exactly |
lightcraft-tone-curve-transfer |
Skills are generated from the independent lightcraft-skills runtime and consumed here as digest-protected snapshots; candidate-source.json pins the published source, and source-suite.json records the separate native version.
MCP tools
One bundled server, lightcraft-editor, speaking stdio. The local HTTP listener only serves the panel and its same-session bridge. The catalogue exposes 14 tools: 11 agent-callable tools and 3 _panel_* bridge tools the panel uses internally.
| Family | Tools | Purpose |
|---|
| Session | open_editor, open_browser_editor, editor_status | Open the panel and confirm that it attached |
| Command gateway | command_list, command_run | Discover real commands and run one with JSON params |
| Inspection | inspect | Inspect the visible editor or the LightCraft library |
| Library | list_files, open_file | List files held by the browser editor; import a workspace-relative file into it |
| Delivery | save_file, save_project, screenshot | Copy a browser file or project to a new workspace path; capture the canvas |
save_project does not apply to the browser photo library: the library lives in page storage, so export a backup through the file.backupLibrary command instead.
Configuration
| Setting | Where | Effect |
|---|
workspace argument | open_editor / open_browser_editor | Binds the task folder; paths outside it are refused |
--runtime-home | Harness CLI and controller | Isolate the pinned runtime cache |
CRAFT_EDITOR_UPDATE=off | stdio MCP env | Use the bundled panel only; no download attempt |
CRAFT_EDITOR_CACHE_DIR | Environment | Absolute directory for verified editor archives |
LIGHTCRAFT_SOURCE_GIT | CI and release preflight | Git checkout used to verify the locked skill source |
Verified archives are cached under ~/.cache/full-aigc/editors. An active session keeps its version until closed, and a corrupt cache falls back to the bundled build.
Architecture and security
Agent ↔ plugin traffic is stdio MCP; the browser bridge listens on 127.0.0.1 only, with a random token and Host/Origin checks. Paths outside the workspace are rejected, downloads are SHA-256 verified, and the bundled panel is always kept as a fallback.
Originals are treated as read-only inputs; edits are settings applied to a versioned history, and delivery requires a matching reopen receipt. The controller keeps a persistent task lock and atomic state, refuses to replay UNKNOWN, and bounds revisions. No credential is stored and no traffic reaches the authors. Details: architecture, controller contract, task receipts, implementation evidence.
Troubleshooting
| Symptom | Action |
|---|
| Panel tools are missing | Confirm the plugin is enabled, restart the host, open a new task |
| The panel does not render inside the host | Use the URL from open_browser_editor; the terminal provides no browser panel |
| The CLI is reported missing or wrong | Run the setup skill's bootstrap.py --no-install check; it never upgrades silently |
| RAW colours look wrong after export | Review the actual decoded file in an independent session; Nikon RAW colour accuracy is still an open gate |
| The photo library disappeared | The library lives in browser storage; restore from the file.backupLibrary export |
A run ends UNKNOWN | Reconcile read-only, then decide; never replay the step |
Upgrade
codex plugin marketplace upgrade full-aigc-plugins
codex plugin add lightcraft@full-aigc-plugins
The CLI, the editor archive and the skill snapshots are pinned separately; upgrading the plugin does not silently upgrade the native CLI.
Contributing and support
Open issues at https://github.com/full-aigc-plugins/lightcraft-plugin/issues. Behaviour changes start in openspec/changes/, and a task is checked only after real acceptance. Read AGENTS.md and docs/verification/implementation-evidence.md before claiming a capability, and keep both languages aligned.
License
Original repository content is Apache-2.0. The icon is upstream LightCraft artwork under MIT OR Apache-2.0, recorded in assets/official-icon-source.json. The native CLI is not redistributed; its licence files ship inside the pinned artifact. Upstream LightCraft is a separate project at https://github.com/storytold/lightcraft.