Install
$ agentstack add skill-sumitaich1998-jarvisvr-caption-conversation ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Caption Conversation
Render a live_caption panel that scrolls speech Jarvis hears in real time, tagged by speaker, optionally translated.
Steps
- Ensure ambient audio is on: `perception.request{stream:"ambient_audio",
action:"start", reason:"user asked for live captions"}`.
- Open
show_live_captionwith an empty/seedlinesarray and the right
speaker and max_lines.
- Per audio window: append
perception.audio_scene.ambient_transcriptto
lines (newest last), set speaker (user|other|jarvis|unknown), and holo.update. Trim to max_lines.
- Translate (optional): if a target language is requested, translate each
line, set translated:true and language (pair with live-translate).
- Stop captions and the audio stream when the user is done.
Output
live_caption (show_live_caption, props per registry.json):
{ "widget_type": "live_caption",
"transform": { "anchor": "head", "position": [0.0,-0.35,1.0], "billboard": true },
"props": { "lines": [ "Hello there.", "How can I help you today?" ],
"speaker": "other", "max_lines": 3, "language": "en", "translated": false },
"interactions": ["grab","tap","resize"] }
Update as speech arrives (holo.update):
{ "object_id": "O_caption",
"props": { "lines": [ "How can I help you today?", "I'd like the window seat." ], "speaker": "other" } }
Edge cases
- Multiple speakers → tag turns by
speaker; "unknown" when diarization is
uncertain.
- Background noise / no speech → keep the panel idle; don't caption music or
ambient sounds (that's perception identify_sound).
- Long sessions → cap visible
lines(max_lines≤ 10); the full transcript
can be saved as a note.
- Translated captions → set
translated:true; consider a two-line layout
(original + translation) via live-translate.
- Privacy → captioning others' speech is sensitive; it's user-initiated and
perception.state reflects active capture. Stop promptly when asked.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: sumitaich1998
- Source: sumitaich1998/jarvisvr
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.