Skill: immythz/llm-signal-geo-analyst (version 0.1.0)

--- name: llm-signal-geo-analyst description: Run LLM Signal GEO analyst workflows from OpenClaw. Use when you need to fetch deterministic GEO action plans, check site health status, and execute/review hosted or self-hosted agent workflows with approval-safe guidance. homepage: https://www.llmsignal.app/docs/agents user-invocable: true metadata: {"openclaw":{"homepage":"https://www.llmsignal.app/docs/agents","primaryEnv":"LLMSIGNAL_API_KEY","requires":{"env":["LLMSIGNAL_BASE_URL","LLMSIGNAL_SITE_ID","LLMSIGNAL_API_KEY"],"anyBins":["curl","bash","sh"]}}} --- # LLM Signal GEO Analyst Use this skill to operate LLM Signal agent flows from OpenClaw. ## Required environment - `LLMSIGNAL_BASE_URL` (example: `https://www.llmsignal.app`) - `LLMSIGNAL_SITE_ID` - `LLMSIGNAL_API_KEY` ## Execution policy 1. Call `POST /api/agent/v1/plan` before recommending actions. 2. Automatically execute only `auto_safe` actions. 3. Route `manual` and `assist` actions to human approval. 4. Never output API keys or secrets. ## Run plan request ```bash {baseDir}/scripts/fetch-plan.sh ``` ## Run status request ```bash {baseDir}/scripts/fetch-status.sh ``` ## Output format for each recommended action Return: 1. `title` 2. `priority` 3. `reason` 4. `exact steps` 5. `command/diff scaffold` (if present) 6. `approval required` (`yes` for manual/assist, `no` for auto_safe) ## Notes - Agent API access is limited to Growth and Pro plans. - Use `persist=true` in plan calls to store run history and outcomes.

path: manifest.json
content: {
  "name": "llm-signal-geo-analyst",
  "version": "0.1.0",
  "description": "Draft OpenClaw skill package for LLM Signal GEO analyst workflows.",
  "entrypoint": "prompts/system.txt",
  "variables": [
    {
      "key": "LLMSIGNAL_BASE_URL",
      "required": true,
      "default": "https://www.llmsignal.app"
    },
    {
      "key": "LLMSIGNAL_SITE_ID",
      "required": true
    },
    {
      "key": "LLMSIGNAL_API_KEY",
      "required": true,
      "secret": true
    }
  ],
  "endpoints": [
    {
      "name": "plan",
      "method": "POST",
      "path": "/api/agent/v1/plan"
    },
    {
      "name": "status",
      "method": "POST",
      "path": "/api/agent/v1/status"
    },
    {
      "name": "bootstrap",
      "method": "POST",
      "path": "/api/agent/v1/bootstrap"
    }
  ],
  "notes": [
    "This is a draft package structure and may require field renaming to match your OpenClaw loader.",
    "Agent API access is available on Growth and Pro plans."
  ]
}



path: templates/plan.request.json
content: siteId: ${LLMSIGNAL_SITE_ID}
apiKey: ${LLMSIGNAL_API_KEY}
persist: yes

path: templates/status.request.json
content: siteId: ${LLMSIGNAL_SITE_ID}
apiKey: ${LLMSIGNAL_API_KEY}

path: scripts/fetch-plan.sh
content: #!/usr/bin/env bash
set -euo pipefail

: "${LLMSIGNAL_BASE_URL:?Missing LLMSIGNAL_BASE_URL}"
: "${LLMSIGNAL_SITE_ID:?Missing LLMSIGNAL_SITE_ID}"
: "${LLMSIGNAL_API_KEY:?Missing LLMSIGNAL_API_KEY}"

curl -sS -X POST "${LLMSIGNAL_BASE_URL%/}/api/agent/v1/plan" \
  -H "Content-Type: application/json" \
  -H "X-LLMSIGNAL-KEY: ${LLMSIGNAL_API_KEY}" \
  -d "{\"siteId\":\"${LLMSIGNAL_SITE_ID}\",\"apiKey\":\"${LLMSIGNAL_API_KEY}\",\"persist\":true}"



path: scripts/fetch-status.sh
content: #!/usr/bin/env bash
set -euo pipefail

: "${LLMSIGNAL_BASE_URL:?Missing LLMSIGNAL_BASE_URL}"
: "${LLMSIGNAL_SITE_ID:?Missing LLMSIGNAL_SITE_ID}"
: "${LLMSIGNAL_API_KEY:?Missing LLMSIGNAL_API_KEY}"

curl -sS -X POST "${LLMSIGNAL_BASE_URL%/}/api/agent/v1/status" \
  -H "Content-Type: application/json" \
  -H "X-LLMSIGNAL-KEY: ${LLMSIGNAL_API_KEY}" \
  -d "{\"siteId\":\"${LLMSIGNAL_SITE_ID}\",\"apiKey\":\"${LLMSIGNAL_API_KEY}\"}"



path: prompts/system.txt
content: You are an LLM Signal GEO operations agent running inside OpenClaw.

Execution policy:
- Always call /api/agent/v1/plan first before recommending actions.
- Automatically execute only actions marked automation=auto_safe.
- For manual or assist actions, return exact patch/command suggestions for human approval.
- Never output or log API keys or secrets.

Workflow:
1) Fetch plan with persist=true to store run/action history.
2) Prioritize actions by priority high -> medium -> low.
3) For each action, return:
   - title
   - reason
   - exact steps
   - command/diff scaffold (if present)
4) After implementation, run status checks and verify outcomes.
5) Re-open actions when verification is negative or confidence is low.

Guardrails:
- Do not perform destructive operations by default.
- Do not change production content without an explicit approval step.
- Preserve existing brand, legal, and compliance constraints.



Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)