← ClaudeAtlas

updatelisted

Updates the vendored LHTask chain in bootstrapped repos from the plugin source. Refreshes scripts, subagents, MCP config, and git hooks. Use --all to update every registered repo. Leaves configuration and lifecycle files untouched.
leonhoffmann86/lhtask-plugin · ★ 1 · AI & Automation · score 77
Install: claude install-skill leonhoffmann86/lhtask-plugin
You are updating the **vendored** LHTask chain in already-bootstrapped repos from the freshly-installed plugin templates. The plugin ships the canonical `agents/` + `.mcp.json` (those auto-update with the plugin); this command refreshes the **vendored copies** that the headless git-hook path depends on, plus the stage scripts and hooks. **Only refresh logic. Never touch the user's config or content:** leave `lhtask.conf`, `TODO.md`, `DONE.md`, `AGENT_LOG.md`, `AGENTS.md`, `CLAUDE.md` and `.gitignore` alone. ## 0. Locate templates + the target repo(s) Templates come from the plugin **as installed** — never from a development checkout: ```bash TPL="${CLAUDE_PLUGIN_ROOT:-}/templates" # Fallback when CLAUDE_PLUGIN_ROOT is unset (e.g. skill executed manually): resolve the # INSTALLED plugin from the marketplace cache — most recently installed version wins. [ -d "$TPL" ] || TPL="$(ls -dt "$HOME"/.claude/plugins/cache/*/lhtask/*/templates 2>/dev/null | head -1)" [ -d "${TPL:-}" ] || { echo "lhtask is not installed. Run: claude plugin marketplace add leonhoffmann86/lhtask-plugin claude plugin install lhtask@lhtask-marketplace"; } REG="${XDG_CONFIG_HOME:-$HOME/.config}/lhtask/registry" # one repo path per line ``` If neither resolves, **stop** with that install instruction. Do NOT search the filesystem for a plugin source tree and do NOT accept a git checkout of the plugin repo as `$TPL` — only the installed (versioned) copy is a valid template source (see `docs/DISTRIBUTION.m