diff --git a/docs/property-assessor.md b/docs/property-assessor.md index 0d93d1e..574b266 100644 --- a/docs/property-assessor.md +++ b/docs/property-assessor.md @@ -65,6 +65,8 @@ Operational rule: - The helper returning a preliminary payload is not the end of the job. - For a user request that clearly asks for a full assessment or PDF delivery, the agent is expected to continue the missing analysis after the helper returns. - Preliminary helper output should be treated as structured scaffolding for the remaining work, not as a reason to stop and wait for another user nudge. +- In chat/messaging runs, do not waste the turn on `npm install` or `npm ci` when the local skill dependencies are already present. +- If the user asks `update?` or `and?` mid-run, treat that as a status request and continue the same assessment rather than restarting or stopping at the last checkpoint. ### `assess` diff --git a/skills/property-assessor/SKILL.md b/skills/property-assessor/SKILL.md index 178e858..9fce662 100644 --- a/skills/property-assessor/SKILL.md +++ b/skills/property-assessor/SKILL.md @@ -56,6 +56,8 @@ Rules: - Avoid fragile interactive gallery flows if they are likely to require approval or bounce the user into Control UI. - If a richer photo pass would require approval, do not silently force that path first. Continue with the best approval-free workflow available and clearly lower confidence if needed. - Only escalate to approval-heavy browser interaction when there is no reasonable alternative and the extra fidelity materially changes the assessment. +- Do **not** run `npm install`, `npm ci`, or other dependency-setup commands during a normal chat assessment flow when the local skill already has `node_modules` present. +- On this machine, treat `property-assessor` dependencies as already installed. Use the helper entrypoints directly unless the wrapper itself explicitly reports missing local dependencies. - Do **not** use ad hoc shell snippets, heredocs, or inline interpreter eval for public-record or CAD lookup from chat. Avoid forms like `python3 - <<'PY'`, `python -c`, `node -e`, `node --input-type=module -e`, or raw `bash -lc '...'` probes. - For public-record enrichment, use `scripts/property-assessor locate-public-records`, `scripts/property-assessor assess`, or `web_fetch`. If a one-off fetch helper is truly needed, add a file-based helper under the skill tree first and run that file-based entrypoint instead of inline code. @@ -82,14 +84,13 @@ Before using those helper commands: ```bash cd ~/.openclaw/workspace/skills/property-assessor -npm install +test -x node_modules/.bin/tsx ``` Quick command summary: ```bash cd ~/.openclaw/workspace/skills/property-assessor -npm install scripts/property-assessor assess --address "" scripts/property-assessor assess --address "" --assessment-purpose "" scripts/property-assessor assess --address "" --assessment-purpose "" --recipient-email "" @@ -115,6 +116,7 @@ Agent follow-through rule: - After `assess` returns a preliminary payload, continue with the remaining manual/model-driven steps needed to reach a decision-grade report. - Only after the verdict and fair-value range are established should you render/send the PDF. - If the analysis still cannot be completed, explain the first real blocker, not just that the helper was preliminary. +- If the user sends `update?`, `and?`, or similar mid-run, answer with status and keep the original assessment going. Do not treat that message as a reset or a cue to stop at the last helper checkpoint. ## Public-record enrichment @@ -137,7 +139,6 @@ Use the helper CLI first: ```bash cd ~/.openclaw/workspace/skills/property-assessor -npm install scripts/property-assessor locate-public-records --address "" ``` @@ -145,7 +146,6 @@ When you want the helper to assemble the preliminary assessment payload in one s ```bash cd ~/.openclaw/workspace/skills/property-assessor -npm install scripts/property-assessor assess --address "" ```