← ClaudeAtlas

daily-store-briefinglisted

Open the day with a short read-only briefing on a Shopify store — new orders and revenue since the last briefing, payments that need attention, cancellations and refunds, and variants below the stock threshold. Use when the user asks how the store is doing, what happened overnight, for a morning or daily briefing, or for new orders since yesterday.
storehand/storehand · ★ 2 · AI & Automation · score 70
Install: claude install-skill storehand/storehand
# Daily store briefing One short report, every morning, from four read-only queries. Writes nothing to the store, ever. Network: none **Two kinds of path, do not mix them up.** Files belonging to this plugin — `shared/safety.md`, `shared/store-profile.md`, `shared/api-version.md` and the `queries/` directory — live under the plugin's install directory. The store profile (`.storehand/`) lives in the user's working directory. ## Step 0 — Find the plugin `$CLAUDE_PLUGIN_ROOT` is empty in the environment of a Bash tool call. That is measured, not assumed; the working routes and the reasoning are in `shared/plugin-root.md`. Run this once, before anything else: ```bash ROOT=$( { printf '%s\n' "${CLAUDE_PLUGIN_ROOT:-}" printf '%s' "$PATH" | tr ':' '\n' | sed -n 's|/bin$||p' | grep -E '/storehand/[^/]+$' node -e 'const fs=require("fs"),os=require("os"),p=require("path");try{const j=JSON.parse(fs.readFileSync(p.join(os.homedir(),".claude","plugins","installed_plugins.json"),"utf8"));for(const[k,v]of Object.entries(j.plugins||{}))if(k.split("@")[0]==="storehand"&&v[0]&&v[0].installPath){console.log(v[0].installPath);break}}catch{}' 2>/dev/null } | while IFS= read -r c; do [ -n "$c" ] && [ -f "$c/shared/api-version.md" ] && { printf '%s' "$c"; break; } done ) [ -n "$ROOT" ] && echo "StoreHand plugin root: $ROOT" || echo "StoreHand plugin root NOT FOUND" ``` Shell state does not survive between tool calls, so there is nothing to export into: take the path it printed and **