vivadicta-search-and-rewrite — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited vivadicta-search-and-rewrite (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill to locate an existing transcription in the user's VivaDicta history and apply an AI preset to it. Covers natural-language IDs, preset resolution, and the end-to-end flow.
/Applications/VivaDicta.app and running (rewrite requires the UI).vivadicta recent 1 is empty, there's nothing to rewrite.rewrite (and get) accept three identifier shapes. Prefer in this order:
vivadicta rewrite latest --preset summary
# also: last, most recent, newest, current vivadicta rewrite "yesterday's call with sam" --preset action_points
vivadicta rewrite "coding session this morning" --preset professional vivadicta rewrite 1701DB3C-AF1F-4191-A791-5DABA81D8096 --preset emailSession handles (t1, t2) from MCP don't carry across one-shot CLI invocations - use the UUID instead.
The natural-language matcher:
text + enhancedText + powerModeName.transcription_ambiguous (exit 4) with the top 5 previews on stderr.When ambiguous, the error lists candidates. Re-run with a more specific phrase or with a raw UUID from the candidates list.
Preset aliases are fuzzy-matched too: summary / Summary / sumary all resolve to the Summary preset. rewrite returns preset_ambiguous (exit 3) with candidates if the match is unclear.
Discover available aliases:
vivadicta presets --output json | jq -r '.presets[] | "\(.alias)\t\(.name)"'
# regular Regular
# summary Summary
# action_points Action Points
# email Email
# ...Built-in aliases include: regular, summary, action_points, takeaways, mind_map, key_points, professional, casual, email, chat, coding, rewrite, short, elaborated, simplify, translate_en, translate_ru, translate_es, translate_zh, plus more translate_* variants and user-created presets (typically prefixed custom_).
# Discover the transcription
vivadicta search "sprint planning" --since "last week" --limit 5
# If exactly one matches, rewrite directly with a natural-language query
vivadicta rewrite "sprint planning last week" --preset action_points
# If multiple, grab the UUID from the search output
UUID=$(vivadicta search "sprint planning" --limit 1 --output json | jq -r '.transcriptions[0].ref')
vivadicta rewrite "$UUID" --preset action_pointsThe rewrite result prints the original + rewritten text. The rewritten version is also saved as a TranscriptionVariation on the record - follow-up vivadicta get <uuid> --all-variations will include it.
Preview the resolved transcription + preset without hitting the UI app:
vivadicta rewrite "yesterday's call" --preset summary --dry-run
# Action : rewrite (dry-run)
# Transcription: 1701DB3C-AF1F-4191-A791-5DABA81D8096
# Title : Call with Sam about the sprint plan
# Preset : summaryUseful for confirming the resolver picked the right transcription + preset before the AI call.
"Make action items from today's call":
vivadicta rewrite latest --preset action_points"Rewrite my dictation as a professional email":
vivadicta rewrite latest --preset email --output markdown"Translate yesterday's note to Russian":
vivadicta rewrite "yesterday's note" --preset translate_ruChain with export (see vivadicta-vault-export):
UUID=$(vivadicta recent 1 --output json | jq -r '.transcriptions[0].ref')
vivadicta rewrite "$UUID" --preset summary > /dev/null
vivadicta get "$UUID" --output markdown --all-variations > ~/vault/summary.md| Exit | Error | What to do |
|---|---|---|
| 4 | transcription_not_found | Broaden the query or drop the timeframe filter. Confirm there's history with vivadicta recent 5. |
| 4 | transcription_ambiguous | Error lists candidates. Re-run with a more specific phrase or a UUID from the candidates. |
| 3 | preset_not_found / preset_ambiguous | Run vivadicta presets and pick an alias from the list. |
| 5 | vivadicta_not_running | Launch VivaDicta, then retry. |
| 6 | daily_limit_reached | Free-tier quota reached. Offer https://vivadicta.com/pro. |
rewrite in a retry loop - each call is a paid AI request.rewrite will re-run the AI (not cached). Call this out if it seems unintended.See vivadicta-cli-usage for exit codes and output formats. See vivadicta-vault-export for piping rewrites into Obsidian.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.