Fix: flatten comfyui and ltx-video-pipeline to Gitea convention (flat skill dirs). comfyui v5.1.0, ltx-video-pipeline v2.0.0.
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# Claude Live SSH Inspection — Plan-Building Pattern
|
||||
|
||||
When Claude needs to build a plan for a target machine it can SSH into, have it inspect the live state FIRST before writing the plan. This eliminates guesswork about what's installed, what models are on disk, what workflows exist, and what the queue looks like.
|
||||
|
||||
## Pattern
|
||||
|
||||
1. **Write the question** — include the goal, what to inspect, and the deliverable path
|
||||
2. **scp to 10.0.0.28** — standard ask-claude flow
|
||||
3. **Claude SSHs into the target** — inspects files, checks queue, reads workflow JSONs, verifies model paths
|
||||
4. **Claude writes the plan** — saves to its own host (10.0.0.28); scp back to Hermes host after
|
||||
|
||||
## When to Use
|
||||
|
||||
- Building a plan that depends on specific files/models/workflows on a target machine
|
||||
- The target's state is complex enough that describing it in the prompt would be error-prone
|
||||
- You want Claude to verify claims against reality (e.g., "is this LoRA actually on disk?")
|
||||
|
||||
## Example (2026-07-22)
|
||||
|
||||
Goal: 2-clip LTX-2.3 test plan. Target: 10.0.0.202 (ComfyUI).
|
||||
|
||||
Claude was told to SSH into .202 and inspect:
|
||||
- LoRAs on disk: `ls ~/comfy-ui/models/loras/`
|
||||
- Workflow JSONs: `ls /tmp/api_s1_*.json`
|
||||
- Diffusion models: `ls ~/comfy-ui/models/diffusion_models/`
|
||||
- Start frames: `ls ~/comfy-ui/input/ltx_start_frame*`
|
||||
- Queue status: `curl -s http://localhost:8188/queue`
|
||||
|
||||
Key discoveries from live inspection (none were in any state file):
|
||||
- Distilled LoRA on disk is the 384 variant, not 384-1.1
|
||||
- ID LoRA (talkvid-3k) is trained for talking-head, wrong for action scenes
|
||||
- FLF example workflows exist on the box
|
||||
- Existing start frames are all cyberpunk single-subject — can't be reused
|
||||
- Queue empty, clear to run
|
||||
|
||||
Plan produced: FLF panorama approach — one wide Flux panorama, 3 cropped windows (A/B/C), Clip 1 FLF A→B, Clip 2 FLF B→C, shared frame B = seamless pan.
|
||||
|
||||
## Error Recovery
|
||||
|
||||
Claude may error on first attempt (SSH timeout, tool failure, wrong command format). **Resume, don't start fresh:**
|
||||
|
||||
| Attempt | Turns | Cost | Result |
|
||||
|---------|-------|------|--------|
|
||||
| Fresh session | 21 | $1.05 | is_error: true, empty result |
|
||||
| Resume (--resume) | 2 | $0.11 | Success — self-diagnosed, recovered, produced plan |
|
||||
|
||||
**Pattern:** When Claude returns `is_error: true` with empty result, write a short follow-up asking what went wrong, scp it, and resume with `--resume <session_id>`. Claude self-diagnoses and recovers. Do NOT start a fresh session — you lose the context and pay the full cost again.
|
||||
|
||||
## Pitfalls
|
||||
|
||||
- Claude cannot write files to the Hermes host directly. It writes to 10.0.0.28 and you scp back, or it outputs inline for you to save.
|
||||
- SSH credentials must be in the question (Claude doesn't have them in its environment). Use the exact command: `sshpass -p 'passw0rd' ssh [email protected]`
|
||||
- Keep the inspection list focused — 5-6 specific checks, not a full system audit.
|
||||
- **Live-SSH inspection can fail silently.** Claude may error out with `is_error: true` and empty result after 20+ turns. Resume with `--resume` — Claude self-diagnoses. Do not start fresh.
|
||||
- **Don't send follow-up instructions mid-build.** If the user says "tell Claude X once he completes," wait for the current turn to finish. Sending mid-execution wastes the instruction (Claude is busy) and frustrates the user.
|
||||
Reference in New Issue
Block a user