ce-riffrec-feedback-analysis
Analyze recorded product feedback into evidence for bugs and requirements. Use when a Riffrec capture or other screen, voice, or notes artifact needs interpretation. Use for Riffrec setup, capture, or sharing help when no recording exists yet.
Savant verdict: Unsafe
Savant's security policy blocks importing this skill.
Live evaluation
Not evaluated yet. Workspaces can request a live evaluation.
Security assessment
Risk score
70/100
Recommendation
DO NOT INSTALL
Severity
HIGH
Savant decision
Blocked
The security assessment advises against importing or installing this package. Static security analysis completed.
12 patterns found
- analysis-evasion: references/quick-bug-report.md (partial)high · SKILL.md:22 · Referenced artifact was not completely inspected
- MCP Least Privilege: Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: env, file_read, file_write, network, shell.medium · SKILL.md:1 · Without declared permissions the skill's intent is opaque and cannot be validated.
- Dangerous Code Execution: subprocess.run(command, capture_output=True, text=True, timeout=30)medium · scripts/analyze_riffrec_zip.py:255 · subprocess module calls execute external commands. Without careful input validation, this enables command injection.
- Dangerous Code Execution: subprocess.run(command, capture_output=True, text=True, timeout=30)medium · scripts/analyze_riffrec_zip.py:279 · subprocess module calls execute external commands. Without careful input validation, this enables command injection.
- Data Flow: subprocess.run(command, capture_output=True, text=True, timeout=30)medium · scripts/analyze_riffrec_zip.py:255 · Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.
- Data Flow: subprocess.run(command, capture_output=True, text=True, timeout=30)medium · scripts/analyze_riffrec_zip.py:279 · Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.
- Data Exfiltration: https://api.openai.com/medium · scripts/analyze_riffrec_zip.py:462 · Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
- Dangerous Code Execution: subprocess.run(command, capture_output=True, text=True, timeout=180)medium · scripts/analyze_riffrec_zip.py:473 · subprocess module calls execute external commands. Without careful input validation, this enables command injection.
- Data Flow: subprocess.run(command, capture_output=True, text=True, timeout=180)medium · scripts/analyze_riffrec_zip.py:473 · Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.
- Dangerous Code Execution: subprocess.run(extract_command, capture_output=True, text=True, timeout=180)medium · scripts/analyze_riffrec_zip.py:543 · subprocess module calls execute external commands. Without careful input validation, this enables command injection.
Structure
- Ships 1 executable scriptscripts/analyze_riffrec_zip.py. Review what they do before enabling the skill for agents with tool access.
- No license declaredConfirm you may reuse this skill before importing it into your repository.
- The source hub's security checks flagged this skillSnyk: warn (Risk: MEDIUM · 1 issue)
SKILL.md
--- name: ce-riffrec-feedback-analysis description: "Analyze recorded product feedback into evidence for bugs and requirements. Use when a Riffrec capture or other screen, voice, or notes artifact needs interpretation. Use for Riffrec setup, capture, or sharing help when no recording exists yet." --- # Riffrec Feedback Analysis Turn raw product feedback into structured evidence for downstream agents. This skill is the consumption side of [Riffrec](https://github.com/kieranklaassen/riffrec), a capture tool that records synchronized screen + voice + event sessions and emits a `riffrec-*.zip` bundle. **Done:** - Setup ends with a current capture/share path. - Quick analysis ends with one evidence-backed bug report and no durable artifact unless requested. - Extensive analysis ends with the complete evidence set and a `ce-brainstorm` handoff unless the user asked for extraction only. - A missing input, analyzer failure, or unresolved route ends with an actionable blocker rather than a partial success claim. ## Choose the path Route from the input. Read only the references named for that route; do not load the other path references. - **Setup** — user has no recording yet and asks how to install Riffrec, capture a session, or share feedback. Read `references/install-riffrec.md`. - **Quick bug report** — input is a short recording (under ~60 seconds), the user describes a single specific issue, or asks for "quick", "small", or "just transcribe". Read `references/analyzer.md`, then `references/quick-bug-report.md`. - **Extensive analysis** — input is longer, contains multiple issues, requirements, or a workflow walkthrough, or the user wants requirements material. Read `references/analyzer.md`, then `references/extensive-analysis.md`. Continue into `ce-brainstorm` unless the user explicitly asked only to extract or analyze artifacts. When the input is ambiguous (e.g., a zip arrived without context), inspect the recording length and event count before choosing. If still unclear, ask the user which path applies before running anything heavy. ## Common rules - Keep raw recordings, audio chunks, zip contents, session dumps, and extracted screenshots local-only by default. Do not commit `raw/` or `frames/` directories unless the user explicitly asks and privacy is acceptable. - Text/metadata artifacts (requirements kickoff material, analysis summaries, problem analyses, source manifests) may be committed when they are needed for traceability and contain no sensitive data. - Use repo-relative screenshot paths in any committed doc so later agents can open the evidence without absolute local paths. The Compound Engineering output format used by the extensive path is documented in `references/compound-engineering-feedback-format.md`.