[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CWJ2ERR6E18C2SVR2PXJW5":3,"skill-same:01M6CWJ2ERR6E18C2SVR2PXJW5":116},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6CWJ2ERR6E18C2SVR2PXJW5","spec-riffrec-feedback-analysis",null,"Analyze explicit Riffrec product-feedback captures, including `riffrec-*.zip`, the Riffrec `session.json` + `events.json` + `recording.webm` + `voice.webm` bundle, or media\u002Fnotes the user identifies as a Riffrec feedback capture. Also use for Riffrec setup and capture guidance. Do not trigger for generic podcasts, meetings, audio\u002Fvideo transcription, or unrelated capture\u002Fshare requests.","leo-kuang-ai\u002Fspec-first","leo-kuang-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8476392?v=4","01M6CWDM2YRT5M8C3G3QC3YGR5","leokuang","01M6CWDM6X46EFBXT1M1GDB5XC",111,"MIT","https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"spec riffrec feedback analysis","analysis","spec","feedback","analyze","do","transcription","guidance","unrelated","use","session","meetings","json","voice","Audio","Media","Video","product","share","notes","2026-11-10 10:12:30",false,"---\nname: spec-riffrec-feedback-analysis\ndescription: Analyze explicit Riffrec product-feedback captures, including `riffrec-*.zip`, the Riffrec `session.json` + `events.json` + `recording.webm` + `voice.webm` bundle, or media\u002Fnotes the user identifies as a Riffrec feedback capture. Also use for Riffrec setup and capture guidance. Do not trigger for generic podcasts, meetings, audio\u002Fvideo transcription, or unrelated capture\u002Fshare requests.\n---\n\n# Riffrec Feedback Analysis\n\nTurn raw product feedback into structured evidence for downstream agents. This skill is the consumption side of [Riffrec](https:\u002F\u002Fgithub.com\u002Fkieranklaassen\u002Friffrec), a capture tool that records synchronized screen + voice + event sessions and emits a `riffrec-*.zip` bundle.\n\n## Choose the path\n\nRoute to the matching reference based on the input. Read only that reference; do not load the others.\n\n- **Setup** — user has no recording yet and asks how to install Riffrec, capture a session, or share feedback. Read `references\u002Finstall-riffrec.md`.\n- **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\u002Fquick-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.\n- **Extensive analysis** — input is a longer recording, contains multiple issues \u002F requirements \u002F workflow walkthroughs, or the user wants requirements or brainstorm material. Read `references\u002Fextensive-analysis.md`. Produce a ready-to-brainstorm handoff; invoke `spec-brainstorm` only when the original request or a new confirmation authorizes that public workflow.\n\nWhen 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.\n\n## Common rules\n\n- Keep raw recordings, audio chunks, zip contents, session dumps, and extracted screenshots local-only by default. Do not commit `raw\u002F` or `frames\u002F` directories unless the user explicitly asks and privacy is acceptable.\n- Text\u002Fmetadata artifacts (requirements kickoff material, analysis summaries, problem analyses, source manifests) may be committed when they are needed for traceability and contain no sensitive data.\n- Use repo-relative screenshot paths in any committed doc so later agents can open the evidence without absolute local paths.\n\nMedia 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\u002Fevents\u002Fnotes analysis, and report the missing transcript limitation. The analyzer returns the authorization source, provider identity, and whether a provider request was sent.\n\n## Dispatch Authorization Boundary\n\n在把 recording evidence、transcript、screenshots 或 source-mapping context 交给任何 worker 前，记录：\n\n```yaml\nworker_dispatch_authorization: authorized | missing\ncapability_probe: not_applicable | attempted | unavailable\nworker_dispatch_capability: available | missing | unknown\nworker_context_isolation: isolated | inherited | unknown\nworker_model_override: supported | unsupported | unknown\nworker_bounded_parallelism: supported | unsupported | unknown\n```\n\n`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\u002Fschema 作为 `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\u002Fprivacy 边界，只发送完成 bounded unit 所需的最小证据。Inline fallback 不得声称 independent analyst coverage。\n\n## Analyzer entrypoint\n\nAll non-setup paths share the same analyzer, which ships in this skill's `scripts\u002F` directory. The Bash tool's working directory is the user's project, not the skill directory, so a bare `scripts\u002F\u003Cname>` 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):\n\n```bash\nSKILL_DIR=\"\u003Cabsolute path of the directory containing this SKILL.md>\"\nbash \"$SKILL_DIR\u002Fscripts\u002Frun-python.sh\" \"$SKILL_DIR\u002Fscripts\u002Fanalyze_riffrec_zip.py\" \u002Fpath\u002Fto\u002Finput --no-transcribe\n```\n\nAccepted inputs: a Riffrec `.zip`, an `.mp4` \u002F `.mov` \u002F `.webm` video, an `.m4a` \u002F `.mp3` \u002F `.wav` audio file, or a meeting-notes `.md`. Use `--output-dir \u003Cdir>` to control where artifacts land. In repos with `docs\u002Fbrainstorms\u002F`, the default remains `docs\u002Fbrainstorms\u002Friffrec-feedback\u002F` as a documented evidence\u002Fkickoff-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.\n\nThe Spec-First output format used by the extensive path is documented in `references\u002Fspec-first-feedback-format.md`.\n","# Riffrec Feedback Analysis\n\nTurn raw product feedback into structured evidence for downstream agents. This skill is the consumption side of [Riffrec](https:\u002F\u002Fgithub.com\u002Fkieranklaassen\u002Friffrec), a capture tool that records synchronized screen + voice + event sessions and emits a `riffrec-*.zip` bundle.\n\n## Choose the path\n\nRoute to the matching reference based on the input. Read only that reference; do not load the others.\n\n- **Setup** — user has no recording yet and asks how to install Riffrec, capture a session, or share feedback. Read `references\u002Finstall-riffrec.md`.\n- **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\u002Fquick-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.\n- **Extensive analysis** — input is a longer recording, contains multiple issues \u002F requirements \u002F workflow walkthroughs, or the user wants requirements or brainstorm material. Read `references\u002Fextensive-analysis.md`. Produce a ready-to-brainstorm handoff; invoke `spec-brainstorm` only when the original request or a new confirmation authorizes that public workflow.\n\nWhen 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.\n\n## Common rules\n\n- Keep raw recordings, audio chunks, zip contents, session dumps, and extracted screenshots local-only by default. Do not commit `raw\u002F` or `frames\u002F` directories unless the user explicitly asks and privacy is acceptable.\n- Text\u002Fmetadata artifacts (requirements kickoff material, analysis summaries, problem analyses, source manifests) may be committed when they are needed for traceability and contain no sensitive data.\n- Use repo-relative screenshot paths in any committed doc so later agents can open the evidence without absolute local paths.\n\nMedia 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\u002Fevents\u002Fnotes analysis, and report the missing transcript limitation. The analyzer returns the authorization source, provider identity, and whether a provider request was sent.\n\n## Dispatch Authorization Boundary\n\n在把 recording evidence、transcript、screenshots 或 source-mapping context 交给任何 worker 前，记录：\n\n```yaml\nworker_dispatch_authorization: authorized | missing\ncapability_probe: not_applicable | attempted | unavailable\nworker_dispatch_capability: available | missing | unknown\nworker_context_isolation: isolated | inherited | unknown\nworker_model_override: supported | unsupported | unknown\nworker_bounded_parallelism: supported | unsupported | unknown\n```\n\n`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\u002Fschema 作为 `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\u002Fprivacy 边界，只发送完成 bounded unit 所需的最小证据。Inline fallback 不得声称 independent analyst coverage。\n\n## Analyzer entrypoint\n\nAll non-setup paths share the same analyzer, which ships in this skill's `scripts\u002F` directory. The Bash tool's working directory is the user's project, not the skill directory, so a bare `scripts\u002F\u003Cname>` 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):\n\n```bash\nSKILL_DIR=\"\u003Cabsolute path of the directory containing this SKILL.md>\"\nbash \"$SKILL_DIR\u002Fscripts\u002Frun-python.sh\" \"$SKILL_DIR\u002Fscripts\u002Fanalyze_riffrec_zip.py\" \u002Fpath\u002Fto\u002Finput --no-transcribe\n```\n\nAccepted inputs: a Riffrec `.zip`, an `.mp4` \u002F `.mov` \u002F `.webm` video, an `.m4a` \u002F `.mp3` \u002F `.wav` audio file, or a meeting-notes `.md`. Use `--output-dir \u003Cdir>` to control where artifacts land. In repos with `docs\u002Fbrainstorms\u002F`, the default remains `docs\u002Fbrainstorms\u002Friffrec-feedback\u002F` as a documented evidence\u002Fkickoff-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.\n\nThe Spec-First output format used by the extensive path is documented in `references\u002Fspec-first-feedback-format.md`.\n",{"name":5,"description":7},"master","74655dc86b1270bb52239e0f8bc9517de7a7071c","skills\u002Fspec-riffrec-feedback-analysis",13,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first","http:\u002F\u002Fspec-first.cn\u002F","https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai","作为一个初学者或者进阶者，这并没有什么错。当一个有能力的程序员而不是领导者，这也没有什么错。真正的错误是，当你知道应该如何去提高时仍然选择做一名初学者。","2026-11-05 13:30:55",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add leo-kuang-ai\u002Fspec-first --skill spec-riffrec-feedback-analysis",{"tool":64,"command":65},"bunx","bunx skills add leo-kuang-ai\u002Fspec-first --skill spec-riffrec-feedback-analysis",{"tool":67,"command":68},"pnpm","pnpm dlx skills add leo-kuang-ai\u002Fspec-first --skill spec-riffrec-feedback-analysis","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002FSKILL.md",true,[72,78,82,88,92,96,100,104,108,112],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"evals\u002Fcases\u002Fgeneric-audio-not-triggered.yaml","REFERENCE","参考文档",550,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Fevals\u002Fcases\u002Fgeneric-audio-not-triggered.yaml",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"evals\u002Feval.yaml",313,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Fevals\u002Feval.yaml",{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"evals\u002Ffixtures\u002Fscripts\u002Fasks-a-question.sh","SCRIPT","脚本",1232,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Fevals\u002Ffixtures\u002Fscripts\u002Fasks-a-question.sh",{"path":89,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":90,"sourceHtmlUrl":91},"evals\u002Ffixtures\u002Fscripts\u002Fcheck-generic-refused.sh",531,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Fevals\u002Ffixtures\u002Fscripts\u002Fcheck-generic-refused.sh",{"path":93,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fextensive-analysis.md",10210,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Freferences\u002Fextensive-analysis.md",{"path":97,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Finstall-riffrec.md",1941,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Freferences\u002Finstall-riffrec.md",{"path":101,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fquick-bug-report.md",3976,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Freferences\u002Fquick-bug-report.md",{"path":105,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fspec-first-feedback-format.md",2348,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Freferences\u002Fspec-first-feedback-format.md",{"path":109,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":110,"sourceHtmlUrl":111},"scripts\u002Fanalyze_riffrec_zip.py",53853,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Fscripts\u002Fanalyze_riffrec_zip.py",{"path":113,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":114,"sourceHtmlUrl":115},"scripts\u002Frun-python.sh",774,"https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-riffrec-feedback-analysis\u002Fscripts\u002Frun-python.sh",[117,149,171,185,199,218],{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":131,"publishedAt":44},"01M6CWKQCYJXDCW4MEF3FSJE26","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.","https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fusing-spec-first\u002FSKILL.md",[123,126],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":127,"categoryName":128,"taxonomyType":129,"taxonomyTypeDesc":130},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[26,132,133,134,135,136,137,29,33,138,139,140,141,142,143,144,145,146,147,148],"first","using spec first","terminal","work","active","next","context","command","repo","choose","direct","risk","lane","run","cleanup","workflows","workflow",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":156,"publishedAt":44},"01M6CWKK43ZJKQXKVJB3BWWPR1","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\u002Ftask-doc requests or high-complexity work suitability; do not use for plan authoring, implementation execution, unresolved scope, small low-risk plans, progress\u002Fapproval state, remote\u002Fgeneric task lists, or generated runtime mirror edits. Keep the plan as single source of truth; tasks are derived and optional.","https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-write-tasks\u002FSKILL.md",[155],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},[26,157,158,159,160,161,29,162,163,33,164,135,165,166,143,167,168,169,148,170],"tasks","write","spec write tasks","local","task","complexity","plan authoring","generated","plan","doc","execution","compile","validate","state",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"publishedAt":44},"01M6CWKEK6CVPQW8EMCNSDPHBJ","spec-write-skill","公开 workflow：创建、修改或迁移项目拥有的 Agent Skill package，或对现有\u002F外部 package 做用户明确要求、零执行的只读验证与 readiness 报告时使用；也用于按已接受的 audit finding 修复 source skill。不要用于一次性回答、解释\u002F总结\u002F翻译、普通代码 review、第三方 Skill 纯安装或导入、跨仓批量修改，或直接修补 generated runtime mirrors。","https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-write-skill\u002FSKILL.md",[177],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},[179,26,158,180,181,164,182,183,148,184],"spec write skill","write skill","audit","翻译","package","review",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":191,"publishedAt":44},"01M6CWKBDEZ7QFF1ZH3DP52SHA","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.","https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-worktree\u002FSKILL.md",[],[26,192,193,194,195,196,197,135,198],"worktree","spec worktree","intake","git","Bash","dogfood","git worktree",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":44},"01M6CWK5W4VREMNXGQQKXXSQ3N","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.","https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-work\u002FSKILL.md",[205],{"categoryNo":127,"categoryName":128,"taxonomyType":129,"taxonomyTypeDesc":130},[135,207,26,208,209,210,211,212,161,213,214,215,33,140,216,27,165,217,166,184],"spec work","stop","github","to spec","debug","route","github pr","implementation","auto","pr","open",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":229,"publishedAt":44},"01M6CWK1MFTSNV9MYD4C8WGB8B","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.","https:\u002F\u002Fgithub.com\u002Fleo-kuang-ai\u002Fspec-first\u002Fblob\u002Fmaster\u002Fskills\u002Fspec-test-xcode\u002FSKILL.md",[224,227,228],{"categoryNo":225,"categoryName":226,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":127,"categoryName":128,"taxonomyType":129,"taxonomyTypeDesc":130},[26,230,231,216,232,233,234,235,33,236,237],"test","spec test xcode","code","ios","build and test","behavior","default","build"]