dove-authlisted
Install: claude install-skill sandeep121sandeep/dove-sms-skill
# /dove-auth — OTP / authentication
Engine: `dove.py` in this skill's folder. Config: shared `~/.dove/config.json`
(run `/dove-setup` if missing). Two modes — pick based on the user's setup.
> Needs an **approved OTP template** on DLT (a NUMBER-variable template). If the
> user has none, guide them through `docs/DLT-SETUP.md` first (register an OTP
> template on Smartping), then `/dove-setup` to import it.
## Mode A — your approved OTP template (recommended for DLT)
You generate the code, send it through your registered OTP template, and your
app verifies it (Dove just delivers).
```
CODE=$(python3 ~/.claude/skills/dove-auth/dove.py gencode --digits 6)
python3 ~/.claude/skills/dove-auth/dove.py send-smart --name <otp_template> \
--to <number> --otp "$CODE" --date <YYYY-MM-DD>
```
The OTP template must contain `{otp}`; `gencode` uses a CSPRNG. Store/compare the
code in your app — Dove does not verify template OTPs.
## Mode B — Dove native OTP (Dove stores + verifies)
Dove generates, holds, and validates the code for you.
```
# generate + send (message MUST contain {otp})
python3 ~/.claude/skills/dove-auth/dove.py otp-gen --mobile 9876543210 \
--ttl 300 --message "Your OTP is {otp}. Valid 5 min."
# returns {"result":"success","otpId":"<id>"}
# verify what the user typed
python3 ~/.claude/skills/dove-auth/dove.py otp-verify --otp <entered> \
--mobile 9876543210 [--otpid <id>]
# returns {"result":"success"} on match
```
Notes:
- Use a 10-digit number (no `+`), as e