AGENT SKILL

spec-riffrec-feedback-analysis

Analyze explicit Riffrec product-feedback captures, including `riffrec-*.zip`, the Riffrec `session.json` + `events.json` + `recording.webm` + `voice.webm` bundle, or media/notes the user identifies as a Riffrec feedback capture. Also use for Riffrec setup and capture guidance. Do not trigger for generic podcasts, meetings, audio/video transcription, or unrelated capture/share requests.

使用场景图像与多媒体
License 许可
MIT
最近更新
2026-11-05
Stars
★ 111
Forks
13

01 前言 Front Matter

name
spec-riffrec-feedback-analysis
description
Analyze explicit Riffrec product-feedback captures, including `riffrec-*.zip`, the Riffrec `session.json` + `events.json` + `recording.webm` + `voice.webm` bundle, or media/notes the user identifies as a Riffrec feedback capture. Also use for Riffrec setup and capture guidance. Do not trigger for generic podcasts, meetings, audio/video transcription, or unrelated capture/share requests.

02 资源文件 10

03 SKILL.md 正文

Riffrec Feedback Analysis

Turn raw product feedback into structured evidence for downstream agents. This skill is the consumption side of Riffrec, a capture tool that records synchronized screen + voice + event sessions and emits a riffrec-*.zip bundle.

Choose the path

Route to the matching reference based on the input. Read only that reference; do not load the others.

  • 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/quick-bug-report.md. Emit one concise bug report; skip the full artifact set and brainstorm handoff. Discovering broader scope returns an escalation handoff and never authorizes a durable extensive rerun.
  • Extensive analysis — input is a longer recording, contains multiple issues / requirements / workflow walkthroughs, or the user wants requirements or brainstorm material. Read references/extensive-analysis.md. Produce a ready-to-brainstorm handoff; invoke spec-brainstorm only when the original request or a new confirmation authorizes that public workflow.

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.

Media transcription is a separate third-party egress. Before analyzer execution, record transcription_egress_authorization: authorized | missing. It is authorized only when the current user or visible upstream handoff explicitly requests third-party transcription for this recording; analysis intent, a local file, an ambient OPENAI_API_KEY, or worker dispatch authority does not grant it. Pass --transcribe only when authorized. Otherwise pass --no-transcribe, preserve local frames/events/notes analysis, and report the missing transcript limitation. The analyzer returns the authorization source, provider identity, and whether a provider request was sent.

Dispatch Authorization Boundary

在把 recording evidence、transcript、screenshots 或 source-mapping context 交给任何 worker 前,记录:

worker_dispatch_authorization: authorized | missing
capability_probe: not_applicable | attempted | unavailable
worker_dispatch_capability: available | missing | unknown
worker_context_isolation: isolated | inherited | unknown
worker_model_override: supported | unsupported | unknown
worker_bounded_parallelism: supported | unsupported | unknown

workflow invocation does not authorize dispatch。只有当前用户或可见 upstream handoff 明确请求 subagent、delegated work、persona 或 parallel work 时才可派发;输入文件、分析规模、工具权限或本 Skill 被调用都不构成授权。缺授权时不得探测 tool schema,固定为 capability_probe: not_applicable + worker_dispatch_capability: unknown,inline 或 serial 执行并记录 dispatch_authorization_missing。只有授权后才把 current-session registry/schema 作为 provider_untrusted evidence 检查:确认缺失时记录 subagent_capability_missing;surface 不可用、schema 不完整或候选不唯一时记录 worker_capability_unproven,均 inline 或 serial。隔离、模型覆盖和有界并发只取 live facts;required isolation 未满足时保持依赖 gate 打开,model unknown 时继承,parallelism unknown 时串行。记录 worker_dispatch_outcome。任何派发还必须遵守 local-only/privacy 边界,只发送完成 bounded unit 所需的最小证据。Inline fallback 不得声称 independent analyst coverage。

Analyzer entrypoint

All non-setup paths share the same analyzer, which ships in this skill's scripts/ directory. The Bash tool's working directory is the user's project, not the skill directory, so a bare scripts/<name> path will not resolve. Invoke it by the skill's own absolute path: set SKILL_DIR to the directory you loaded this spec-riffrec-feedback-analysis SKILL.md from, in the same command (shell state does not persist between Bash calls):

SKILL_DIR="<absolute path of the directory containing this SKILL.md>"
bash "$SKILL_DIR/scripts/run-python.sh" "$SKILL_DIR/scripts/analyze_riffrec_zip.py" /path/to/input --no-transcribe

Accepted inputs: a Riffrec .zip, an .mp4 / .mov / .webm video, an .m4a / .mp3 / .wav audio file, or a meeting-notes .md. Use --output-dir <dir> to control where artifacts land. In repos with docs/brainstorms/, the default remains docs/brainstorms/riffrec-feedback/ as a documented evidence/kickoff-artifact exception; it is not the durable spec-brainstorm output convention. The quick path overrides the output dir to a temp location so nothing pollutes the repo.

The Spec-First output format used by the extensive path is documented in references/spec-first-feedback-format.md.

04 同仓库更多 Skills

leo-kuang-ai
leo-kuang-ai/spec-first

using-spec-first

Standalone entry governor for spec-first. Use before substantial work in a spec-first repo or when the user asks what to run next; choose one public `spec-*` workflow, standalone skill, terminal command, or Direct Lane. Do not use to reroute active public workflows or bounded workers, or for lightweight facts, current-context explanations, narrow lookups, user-supplied single-document cleanup, or clearly scoped low-risk edits.

开发工程师Skill与智能体开发
★ 111
leo-kuang-ai
leo-kuang-ai/spec-first

spec-write-tasks

Public workflow entrypoint (spec-write-tasks): compile a settled local spec-plan into an optional derived task pack for spec-work, or validate an existing local task pack before execution. Use for explicit plan-splitting/task-doc requests or high-complexity work suitability; do not use for plan authoring, implementation execution, unresolved scope, small low-risk plans, progress/approval state, remote/generic task lists, or generated runtime mirror edits. Keep the plan as single source of truth; tasks are derived and optional.

Skill与智能体开发
★ 111
leo-kuang-ai
leo-kuang-ai/spec-first

spec-write-skill

公开 workflow:创建、修改或迁移项目拥有的 Agent Skill package,或对现有/外部 package 做用户明确要求、零执行的只读验证与 readiness 报告时使用;也用于按已接受的 audit finding 修复 source skill。不要用于一次性回答、解释/总结/翻译、普通代码 review、第三方 Skill 纯安装或导入、跨仓批量修改,或直接修补 generated runtime mirrors。

Skill与智能体开发
★ 111
leo-kuang-ai
leo-kuang-ai/spec-first

spec-worktree

Internal helper for caller-owned git worktree isolation. Governed callers are spec-dogfood and spec-work; every caller must provide the forward invocation and intake contract.

★ 111
leo-kuang-ai
leo-kuang-ai/spec-first

spec-work

Execute a settled plan, validated task pack, spec path, or concrete implementation request end-to-end. Use spec-debug for open-ended bugs; stop when target repo, scope, source ownership, or required authorization is unresolved. Not for explicitly requested GitHub PR-review-feedback handling — route those to spec-resolve-pr-feedback.

开发工程师
★ 111
leo-kuang-ai
leo-kuang-ai/spec-first

spec-test-xcode

Build and test iOS apps on simulator using XcodeBuildMCP. Use after making iOS code changes, before creating a PR, or when verifying app behavior and checking for crashes on simulator.

开发工程师测试与质量Skill与智能体开发
★ 111