[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7C0B4RAZQEDWB3CPMKEVC26":3,"skill-same:01M7C0B4RAZQEDWB3CPMKEVC26":107},{"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":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":14,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":46,"install":47,"resources":60},"01M7C0B4RAZQEDWB3CPMKEVC26","product-research",null,"Use when planning and synthesizing product\u002Fuser research as a method-and-repository discipline — selecting the right method for the goal (generative interviews vs usability test vs concept test vs validation), computing method-based saturation\u002Fsample size with an explicit confidence level, or synthesizing coded observations into insights while flagging single-source anecdotes. Never fabricates user insight; an insight requires recurrence across independent participants. Distinct from product-team\u002Fux-researcher-designer (persona\u002Fjourney artifacts), product-discovery (discovery-sprint planning), and experiment-designer (live A\u002FB) — this is the research-ops method + insight-repository layer.","azhri1990\u002Fproject-genesis","azhri1990","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F281207543?v=4","01M7BMC0WHXB2ZA9SH1PFJDYNS","Nashriq Mokhtar","01M7BMC0XAE6SV0VTKWP3EMFGZ",0,"MIT","https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: product-research\ndescription: Use when planning and synthesizing product\u002Fuser research as a method-and-repository discipline — selecting the right method for the goal (generative interviews vs usability test vs concept test vs validation), computing method-based saturation\u002Fsample size with an explicit confidence level, or synthesizing coded observations into insights while flagging single-source anecdotes. Never fabricates user insight; an insight requires recurrence across independent participants. Distinct from product-team\u002Fux-researcher-designer (persona\u002Fjourney artifacts), product-discovery (discovery-sprint planning), and experiment-designer (live A\u002FB) — this is the research-ops method + insight-repository layer.\nversion: 2.9.0\nauthor: claude-code-skills\nlicense: MIT\ntags: [research-ops, product-research, ux-research, jtbd, usability, saturation, insight-synthesis, research-repository]\ncompatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]\n---\n\n# product-research\n\nProduct \u002F user research as an operational discipline: choosing the right method, sizing it honestly, and synthesizing findings into governed insights. The core rule: **method must match the goal**, and **an insight requires recurrence across independent participants** — a single quote is an anecdote.\n\n## Purpose\n\nProduct researchers, ResearchOps teams, and PMs running discovery need method rigor and an insight repository they can trust. This skill structures three decisions:\n\nThree deterministic tools:\n\n1. `study_designer.py` — Maps (research goal × product stage) to an appropriate method and emits a method-matched plan skeleton (objective, participant criteria, guide structure, success criteria). Redirects live A\u002FB to `product-team\u002Fexperiment-designer`.\n2. `saturation_planner.py` — Method-based sample guidance with an explicit **confidence label**: Nielsen problem-discovery (5\u002Fsegment), Guest et al. thematic saturation (~12), and evaluative coverage. Never claims a prevalence rate from a small-n usability test.\n3. `insight_synthesizer.py` — Clusters coded observations by tag, counts distinct participants, ranks by cross-participant recurrence, and flags any candidate below the source threshold as an **ANECDOTE**, never promoting it to an insight.\n\n## When to use\n\nInvoke this skill when:\n\n- You are planning a study and need the method to match the goal (generative vs evaluative vs validation).\n- You need a defensible sample size \u002F saturation rationale with a stated confidence.\n- You have raw coded observations and need to synthesize insights without over-claiming.\n- You are setting up or auditing a research repository and need the insight-vs-observation discipline.\n\n**Do NOT use this skill to**: generate personas \u002F journey maps (use `product-team\u002Fux-researcher-designer`), plan a discovery sprint or validate an opportunity (use `product-team\u002Fproduct-discovery`), design or analyze a live product A\u002FB experiment (use `product-team\u002Fexperiment-designer`), or do market sizing \u002F surveys (use the `market-research` sibling).\n\n## Workflow\n\n1. **Frame the study** — Fill `assets\u002Fresearch_plan_template.md` (research questions, method rationale, participant criteria, analysis plan, repository tagging scheme).\n2. **Pick the method** — Run `study_designer.py --goal {discovery|evaluative|validation} --stage {concept|prototype|beta|live} --profile {b2b-saas|consumer-app|enterprise|marketplace|hardware|platform}`. Honor the redirect if it routes to experiment-designer.\n3. **Size it** — Run `saturation_planner.py --method {usability|thematic|evaluative-coverage} --segments N`. Record the confidence label and limits.\n4. **Synthesize** — After fielding, code observations and run `insight_synthesizer.py --input observations.json --min-sources 3`. Treat ANECDOTE-flagged clusters as signals to probe, not findings to ship.\n5. **File in the repository** — Tag insights to the atomic schema at synthesis time, with their evidence and confidence.\n\n## Scripts\n\n| Script | Purpose | Profiles |\n|---|---|---|\n| `scripts\u002Fstudy_designer.py` | (goal × stage) → method + plan skeleton | b2b-saas, consumer-app, enterprise, marketplace, hardware, platform |\n| `scripts\u002Fsaturation_planner.py` | Method-based sample guidance + confidence | n\u002Fa (method-driven) |\n| `scripts\u002Finsight_synthesizer.py` | Cluster observations, flag anecdotes | n\u002Fa (evidence-driven) |\n\nAll three: stdlib-only, `--help`, `--sample`, `--output {human,json}`.\n\n## Onboarding & customization\n\nRun the onboarding questionnaire **once before you start** — it captures your defaults so every tool in this skill is pre-configured. Customization is the point: the answers actually change tool behavior (e.g. the insight source-threshold).\n\n```bash\npython3 scripts\u002Fonboard.py            # interactive (also: --defaults, --set key=value, --reset)\npython3 scripts\u002Fonboard.py --show     # see the questions + current effective config\n```\n\nAnswers are saved to `~\u002F.config\u002Fresearch-ops\u002Fproduct-research.json` (global) or `.\u002F.research-ops\u002Fproduct-research.json` (`--scope project`) and are read automatically by `config_loader.py`. They set the default product **profile**, the **insight source-threshold** (how many independent participants make a finding an insight, not an anecdote), the default **saturation method**, and the **high-stakes** flag. CLI flags always override saved config; `RESEARCH_OPS_NO_CONFIG=1` ignores it.\n\n**The four questions:** product profile · insight source-threshold · saturation method · high-stakes flag.\n\n## Optimize with autoresearch (opt-in)\n\nThis skill ships an **isolated, opt-in** bridge to `engineering\u002Fautoresearch-agent`. Only when you ask to \"optimize the synthesis\" \u002F \"run a loop\" does an autoresearch experiment iteratively refine the coding\u002Fclustering of a fixed evidence set so more cross-participant patterns surface. `scripts\u002Far_evaluator.py` is the ground-truth evaluator; it prints `validated_insights: \u003Cint>` (higher is better). It optimizes the **coding**, never fabricates evidence.\n\n```bash\n\u002Far:setup --domain custom --name insight-synthesis \\\n  --target observations.json \\\n  --eval \"python3 ar_evaluator.py --target observations.json\" \\\n  --metric validated_insights --direction higher\n\u002Far:loop custom\u002Finsight-synthesis\n```\n\nIsolated: no hard dependency — autoresearch runs only on demand, and the loop edits `observations.json`, never the evaluator.\n\n## References\n\n- `references\u002Fresearch_methods_canon.md` — Portigal *Interviewing Users*; Christensen\u002FUlwick JTBD; Rohrer's UX-research methods landscape (NN\u002Fg); Sauro & Lewis *Quantifying the User Experience*; Goodman\u002FKuniavsky.\n- `references\u002Fsampling_and_saturation.md` — Nielsen \"test with 5 users\"; Guest, Bunce & Johnson saturation; Faulkner on more-than-5; Sauro usability sample size; Braun & Clarke thematic analysis.\n- `references\u002Frepository_and_synthesis.md` — ResearchOps \u002F atomic research (Tomer Sharon \"Polaris\"); insight-vs-observation discipline; repository governance; affinity mapping; democratization guardrails.\n\n## Assumptions\n\n- Method selection assumes you can name the goal honestly; if the goal is fuzzy, grill it first (the goal drives everything).\n- Saturation guidance is method-based, not a power calculation — usability tests find problems, not prevalence rates.\n- The synthesizer counts evidence you provide; coding quality is upstream of it. Garbage tags → garbage clusters.\n- The insight threshold (`--min-sources`) defaults to 3; raise it for high-stakes or heterogeneous populations.\n\n## Anti-patterns\n\n- **Mismatching method to goal.** A usability test cannot discover unmet needs; an interview cannot measure task success.\n- **Reporting usability problems as percentages.** Small-n tests surface problems, not population rates.\n- **Promoting an anecdote to an insight.** One participant is a signal to probe, not a finding.\n- **Framing interview questions as feature reactions.** Probe the job-to-be-done and recent real behavior, not hypothetical opinions.\n- **Synthesizing without a repository scheme.** Tag at synthesis time, or insights rot unfindable.\n\n## Distinct from\n\n| Neighbor | Scope | Difference |\n|---|---|---|\n| `product-team\u002Fux-researcher-designer` | Personas, journey maps, usability frameworks tied to design output | That produces **artifacts**; this is **method + repository discipline** |\n| `product-team\u002Fproduct-discovery` | Opportunity validation, discovery-sprint planning | That plans **discovery sprints**; this designs and synthesizes the **research** |\n| `product-team\u002Fexperiment-designer` | Live product A\u002FB hypothesis + sample size | That runs **live experiments**; this runs **qualitative\u002Fevaluative research** |\n| `market-research` (sibling) | Market sizing, surveys, segmentation | That studies **the market**; this studies **users** |\n\n## Quick examples\n\n```bash\npython3 scripts\u002Fstudy_designer.py --sample\npython3 scripts\u002Fsaturation_planner.py --method thematic --segments 3\npython3 scripts\u002Finsight_synthesizer.py --sample --min-sources 3\n```\n\nThe synthesizer sample correctly promotes \"import-confusion\" (3 independent participants) to INSIGHT and flags \"wants-slack\" (1 participant) as an ANECDOTE.\n\n## Forcing-question library (Matt Pocock grill discipline)\n\nWalked one at a time by `\u002Fcs:grill-research-ops` or the orchestrator. Recommended answer + canon citation per question. Never bundled.\n\n1. **\"Is this study generative (discover problems) or evaluative (test a solution)?\"**\n   Recommended: name it first — the method follows from the goal.\n   Canon: Rohrer, *When to Use Which User-Experience Research Methods* (NN\u002Fg).\n\n2. **\"What's your sample size and saturation rationale — and at what confidence?\"**\n   Recommended: method-based n (5\u002Fsegment usability; ~12 for thematic saturation), state the confidence.\n   Canon: Nielsen; Guest, Bunce & Johnson (2006); Faulkner (2003).\n\n3. **\"How many independent participants support each insight — or is it a single-source anecdote?\"**\n   Recommended: require recurrence across ≥3 sources before calling it an insight; flag singletons.\n   Canon: atomic research \u002F ResearchOps; Braun & Clarke thematic analysis.\n\n4. **\"Are your interview \u002F usability tasks framed as outcomes (jobs) or as feature reactions?\"**\n   Recommended: frame around the job-to-be-done and recent real behavior, not hypothetical opinion.\n   Canon: Christensen\u002FUlwick Jobs-to-be-Done; Portigal *Interviewing Users*.\n\n5. **\"Where does this land in the repository, and how is it tagged for reuse?\"**\n   Recommended: tag to the atomic schema at synthesis time, not later.\n   Canon: Tomer Sharon, *Polaris* \u002F ResearchOps repository practice.\n\nWalk depth-first. Lock 1-2 before opening 3-5. After all are answered, invoke `study_designer.py` → `saturation_planner.py` → (after fielding) `insight_synthesizer.py`.\n","# product-research\n\nProduct \u002F user research as an operational discipline: choosing the right method, sizing it honestly, and synthesizing findings into governed insights. The core rule: **method must match the goal**, and **an insight requires recurrence across independent participants** — a single quote is an anecdote.\n\n## Purpose\n\nProduct researchers, ResearchOps teams, and PMs running discovery need method rigor and an insight repository they can trust. This skill structures three decisions:\n\nThree deterministic tools:\n\n1. `study_designer.py` — Maps (research goal × product stage) to an appropriate method and emits a method-matched plan skeleton (objective, participant criteria, guide structure, success criteria). Redirects live A\u002FB to `product-team\u002Fexperiment-designer`.\n2. `saturation_planner.py` — Method-based sample guidance with an explicit **confidence label**: Nielsen problem-discovery (5\u002Fsegment), Guest et al. thematic saturation (~12), and evaluative coverage. Never claims a prevalence rate from a small-n usability test.\n3. `insight_synthesizer.py` — Clusters coded observations by tag, counts distinct participants, ranks by cross-participant recurrence, and flags any candidate below the source threshold as an **ANECDOTE**, never promoting it to an insight.\n\n## When to use\n\nInvoke this skill when:\n\n- You are planning a study and need the method to match the goal (generative vs evaluative vs validation).\n- You need a defensible sample size \u002F saturation rationale with a stated confidence.\n- You have raw coded observations and need to synthesize insights without over-claiming.\n- You are setting up or auditing a research repository and need the insight-vs-observation discipline.\n\n**Do NOT use this skill to**: generate personas \u002F journey maps (use `product-team\u002Fux-researcher-designer`), plan a discovery sprint or validate an opportunity (use `product-team\u002Fproduct-discovery`), design or analyze a live product A\u002FB experiment (use `product-team\u002Fexperiment-designer`), or do market sizing \u002F surveys (use the `market-research` sibling).\n\n## Workflow\n\n1. **Frame the study** — Fill `assets\u002Fresearch_plan_template.md` (research questions, method rationale, participant criteria, analysis plan, repository tagging scheme).\n2. **Pick the method** — Run `study_designer.py --goal {discovery|evaluative|validation} --stage {concept|prototype|beta|live} --profile {b2b-saas|consumer-app|enterprise|marketplace|hardware|platform}`. Honor the redirect if it routes to experiment-designer.\n3. **Size it** — Run `saturation_planner.py --method {usability|thematic|evaluative-coverage} --segments N`. Record the confidence label and limits.\n4. **Synthesize** — After fielding, code observations and run `insight_synthesizer.py --input observations.json --min-sources 3`. Treat ANECDOTE-flagged clusters as signals to probe, not findings to ship.\n5. **File in the repository** — Tag insights to the atomic schema at synthesis time, with their evidence and confidence.\n\n## Scripts\n\n| Script | Purpose | Profiles |\n|---|---|---|\n| `scripts\u002Fstudy_designer.py` | (goal × stage) → method + plan skeleton | b2b-saas, consumer-app, enterprise, marketplace, hardware, platform |\n| `scripts\u002Fsaturation_planner.py` | Method-based sample guidance + confidence | n\u002Fa (method-driven) |\n| `scripts\u002Finsight_synthesizer.py` | Cluster observations, flag anecdotes | n\u002Fa (evidence-driven) |\n\nAll three: stdlib-only, `--help`, `--sample`, `--output {human,json}`.\n\n## Onboarding & customization\n\nRun the onboarding questionnaire **once before you start** — it captures your defaults so every tool in this skill is pre-configured. Customization is the point: the answers actually change tool behavior (e.g. the insight source-threshold).\n\n```bash\npython3 scripts\u002Fonboard.py            # interactive (also: --defaults, --set key=value, --reset)\npython3 scripts\u002Fonboard.py --show     # see the questions + current effective config\n```\n\nAnswers are saved to `~\u002F.config\u002Fresearch-ops\u002Fproduct-research.json` (global) or `.\u002F.research-ops\u002Fproduct-research.json` (`--scope project`) and are read automatically by `config_loader.py`. They set the default product **profile**, the **insight source-threshold** (how many independent participants make a finding an insight, not an anecdote), the default **saturation method**, and the **high-stakes** flag. CLI flags always override saved config; `RESEARCH_OPS_NO_CONFIG=1` ignores it.\n\n**The four questions:** product profile · insight source-threshold · saturation method · high-stakes flag.\n\n## Optimize with autoresearch (opt-in)\n\nThis skill ships an **isolated, opt-in** bridge to `engineering\u002Fautoresearch-agent`. Only when you ask to \"optimize the synthesis\" \u002F \"run a loop\" does an autoresearch experiment iteratively refine the coding\u002Fclustering of a fixed evidence set so more cross-participant patterns surface. `scripts\u002Far_evaluator.py` is the ground-truth evaluator; it prints `validated_insights: \u003Cint>` (higher is better). It optimizes the **coding**, never fabricates evidence.\n\n```bash\n\u002Far:setup --domain custom --name insight-synthesis \\\n  --target observations.json \\\n  --eval \"python3 ar_evaluator.py --target observations.json\" \\\n  --metric validated_insights --direction higher\n\u002Far:loop custom\u002Finsight-synthesis\n```\n\nIsolated: no hard dependency — autoresearch runs only on demand, and the loop edits `observations.json`, never the evaluator.\n\n## References\n\n- `references\u002Fresearch_methods_canon.md` — Portigal *Interviewing Users*; Christensen\u002FUlwick JTBD; Rohrer's UX-research methods landscape (NN\u002Fg); Sauro & Lewis *Quantifying the User Experience*; Goodman\u002FKuniavsky.\n- `references\u002Fsampling_and_saturation.md` — Nielsen \"test with 5 users\"; Guest, Bunce & Johnson saturation; Faulkner on more-than-5; Sauro usability sample size; Braun & Clarke thematic analysis.\n- `references\u002Frepository_and_synthesis.md` — ResearchOps \u002F atomic research (Tomer Sharon \"Polaris\"); insight-vs-observation discipline; repository governance; affinity mapping; democratization guardrails.\n\n## Assumptions\n\n- Method selection assumes you can name the goal honestly; if the goal is fuzzy, grill it first (the goal drives everything).\n- Saturation guidance is method-based, not a power calculation — usability tests find problems, not prevalence rates.\n- The synthesizer counts evidence you provide; coding quality is upstream of it. Garbage tags → garbage clusters.\n- The insight threshold (`--min-sources`) defaults to 3; raise it for high-stakes or heterogeneous populations.\n\n## Anti-patterns\n\n- **Mismatching method to goal.** A usability test cannot discover unmet needs; an interview cannot measure task success.\n- **Reporting usability problems as percentages.** Small-n tests surface problems, not population rates.\n- **Promoting an anecdote to an insight.** One participant is a signal to probe, not a finding.\n- **Framing interview questions as feature reactions.** Probe the job-to-be-done and recent real behavior, not hypothetical opinions.\n- **Synthesizing without a repository scheme.** Tag at synthesis time, or insights rot unfindable.\n\n## Distinct from\n\n| Neighbor | Scope | Difference |\n|---|---|---|\n| `product-team\u002Fux-researcher-designer` | Personas, journey maps, usability frameworks tied to design output | That produces **artifacts**; this is **method + repository discipline** |\n| `product-team\u002Fproduct-discovery` | Opportunity validation, discovery-sprint planning | That plans **discovery sprints**; this designs and synthesizes the **research** |\n| `product-team\u002Fexperiment-designer` | Live product A\u002FB hypothesis + sample size | That runs **live experiments**; this runs **qualitative\u002Fevaluative research** |\n| `market-research` (sibling) | Market sizing, surveys, segmentation | That studies **the market**; this studies **users** |\n\n## Quick examples\n\n```bash\npython3 scripts\u002Fstudy_designer.py --sample\npython3 scripts\u002Fsaturation_planner.py --method thematic --segments 3\npython3 scripts\u002Finsight_synthesizer.py --sample --min-sources 3\n```\n\nThe synthesizer sample correctly promotes \"import-confusion\" (3 independent participants) to INSIGHT and flags \"wants-slack\" (1 participant) as an ANECDOTE.\n\n## Forcing-question library (Matt Pocock grill discipline)\n\nWalked one at a time by `\u002Fcs:grill-research-ops` or the orchestrator. Recommended answer + canon citation per question. Never bundled.\n\n1. **\"Is this study generative (discover problems) or evaluative (test a solution)?\"**\n   Recommended: name it first — the method follows from the goal.\n   Canon: Rohrer, *When to Use Which User-Experience Research Methods* (NN\u002Fg).\n\n2. **\"What's your sample size and saturation rationale — and at what confidence?\"**\n   Recommended: method-based n (5\u002Fsegment usability; ~12 for thematic saturation), state the confidence.\n   Canon: Nielsen; Guest, Bunce & Johnson (2006); Faulkner (2003).\n\n3. **\"How many independent participants support each insight — or is it a single-source anecdote?\"**\n   Recommended: require recurrence across ≥3 sources before calling it an insight; flag singletons.\n   Canon: atomic research \u002F ResearchOps; Braun & Clarke thematic analysis.\n\n4. **\"Are your interview \u002F usability tasks framed as outcomes (jobs) or as feature reactions?\"**\n   Recommended: frame around the job-to-be-done and recent real behavior, not hypothetical opinion.\n   Canon: Christensen\u002FUlwick Jobs-to-be-Done; Portigal *Interviewing Users*.\n\n5. **\"Where does this land in the repository, and how is it tagged for reuse?\"**\n   Recommended: tag to the atomic schema at synthesis time, not later.\n   Canon: Tomer Sharon, *Polaris* \u002F ResearchOps repository practice.\n\nWalk depth-first. Lock 1-2 before opening 3-5. After all are answered, invoke `study_designer.py` → `saturation_planner.py` → (after fielding) `insight_synthesizer.py`.\n",{"name":5,"tags":24,"author":32,"license":15,"version":33,"description":7,"compatible_tools":34},[25,5,26,27,28,29,30,31],"research-ops","ux-research","jtbd","usability","saturation","insight-synthesis","research-repository","claude-code-skills","2.9.0",[35,36,37,38,39,40],"claude-code","codex-cli","cursor","antigravity","opencode","gemini-cli","main","456c0680145b74fe0168cc63541f08eda89e53c0","claude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research","https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis","https:\u002F\u002Fgithub.com\u002Fazhri1990","2026-09-27 20:56:28",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add azhri1990\u002Fproject-genesis --skill product-research",{"tool":53,"command":54},"bunx","bunx skills add azhri1990\u002Fproject-genesis --skill product-research",{"tool":56,"command":57},"pnpm","pnpm dlx skills add azhri1990\u002Fproject-genesis --skill product-research","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002FSKILL.md",true,[61,67,73,77,81,87,91,95,99,103],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"assets\u002Fresearch_plan_template.md","ASSET","资产文件",1546,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Fassets\u002Fresearch_plan_template.md",{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Frepository_and_synthesis.md","REFERENCE","参考文档",2626,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Freferences\u002Frepository_and_synthesis.md",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fresearch_methods_canon.md",2607,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Freferences\u002Fresearch_methods_canon.md",{"path":78,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fsampling_and_saturation.md",2536,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Freferences\u002Fsampling_and_saturation.md",{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"scripts\u002Far_evaluator.py","SCRIPT","脚本",2618,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Fscripts\u002Far_evaluator.py",{"path":88,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":89,"sourceHtmlUrl":90},"scripts\u002Fconfig_loader.py",3823,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Fscripts\u002Fconfig_loader.py",{"path":92,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":93,"sourceHtmlUrl":94},"scripts\u002Finsight_synthesizer.py",4929,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Fscripts\u002Finsight_synthesizer.py",{"path":96,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":97,"sourceHtmlUrl":98},"scripts\u002Fonboard.py",4320,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Fscripts\u002Fonboard.py",{"path":100,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":101,"sourceHtmlUrl":102},"scripts\u002Fsaturation_planner.py",5919,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Fscripts\u002Fsaturation_planner.py",{"path":104,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":105,"sourceHtmlUrl":106},"scripts\u002Fstudy_designer.py",6534,"https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch-ops\u002Fskills\u002Fproduct-research\u002Fscripts\u002Fstudy_designer.py",[108,115,122,129,136,143],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":19},"01M7C0EZY9FK6JW3YAC7CN17KY","syllabus","Generates a curated supplementary reading list from any course syllabus using Consensus academic search. Grill-me intake (syllabus input format + course audience + year range) plus a grouping forcing-options checkpoint before any search runs — so the reading list matches the course's level and recency need. Parses the syllabus to extract topics and learning outcomes, searches Consensus for recent peer-reviewed papers per topic, and produces a professionally formatted .docx with clickable Consensus links, plain-language summaries calibrated to audience level, and Bloom-higher-order discussion questions tied to course learning goals. Use when the user uploads a syllabus, course outline, or curriculum document and wants supplementary readings (e.g., 'create a reading list from this syllabus', 'find recent papers for my course') — even casual mentions with a syllabus attached should trigger this skill.","https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch\u002Fsyllabus\u002Fskills\u002Fsyllabus\u002FSKILL.md",[],[],{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":19},"01M7C0EA12FWRZTMG0N23HV68M","pulse","Multi-source recency research skill that takes the pulse of any topic across Reddit, Hacker News, the open web, and optionally X\u002FTwitter within a configurable recent window (default 30 days). Forcing intake clarifies topic specificity, angle (trend\u002Fsentiment\u002Fproblems\u002Fopportunities\u002Fcomparison), time window, and platform scope before searching. Returns a synthesized briefing with citations, engagement metrics, and cross-platform pattern analysis. Use when the user requests multi-source recency intelligence on a topic (e.g., 'pulse on [topic]', 'what's happening with [topic]', 'what are people saying about [topic]', 'current conversation about [topic]', 'take the pulse of [topic]', 'trending: [topic]', 'find me info on [topic]'), and for competitor research, trend discovery, tool comparisons, and audience sentiment analysis.","https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch\u002Fpulse\u002Fskills\u002Fpulse\u002FSKILL.md",[],[],{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":19},"01M7C0DXEHJKMKTB4N6B7MS4BT","patent","Patent prior-art and landscape intelligence skill — not generic patent help. Commits to one of five sub-use-cases via forcing intake (novelty search \u002F freedom-to-operate \u002F competitive landscape \u002F acquisition diligence \u002F litigation prior-art) before any search runs. Searches Google Patents, Espacenet, USPTO, and optionally Lens.org for citation-graph signals. Output is an editable Word document (.docx) with verdict, ranked closest art (claim-text extracted), CPC-class-aware landscape, family-resolved hits, geographic coverage, FTO flags where applicable, strategy recommendations, and full audit log. Use when the user asks for patent searching or analysis (e.g., 'prior art search for [invention]', 'freedom to operate analysis for [product]'). Produces search signal, not legal advice — always recommends consulting a patent attorney before filing or licensing decisions. Trademark, copyright, and trade-secret questions are out of scope.","https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch\u002Fpatent\u002Fskills\u002Fpatent\u002FSKILL.md",[],[],{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":19},"01M7C0DJM5ECEKZXTQA9G6YHQZ","notebooklm","Browser automation skill for controlling Google's NotebookLM. Use when the user wants anything done in NotebookLM (e.g., 'open NotebookLM', 'check my [name] notebook', 'ask my notebook about X', 'add [source] to NotebookLM', 'generate a Video Overview from my notebook', 'use NotebookLM Studio'). Handles reading and querying notebooks, adding sources (URLs, text, files, YouTube links, synthesized content), generating Studio outputs (Audio\u002FVideo Overviews, Mind Maps, Reports incl. Briefing Doc\u002FStudy Guide\u002FFAQ, Flashcards, Quiz, slide decks, infographics — discover the exact set from the live Studio panel; the UI evolves fast), and creating new notebooks. Requires browser automation environment — fails gracefully when unavailable.","https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch\u002Fnotebooklm\u002Fskills\u002Fnotebooklm\u002FSKILL.md",[],[],{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":19},"01M7C0D304Z7YX7J25R42N6W2T","litreview","Academic literature orientation skill that searches papers via free keyless APIs (PubMed E-utilities + OpenAlex) by default — with the Consensus MCP as an optional enhancement lane when connected — builds a strategic search plan using PICO (default) or SPIDER \u002F Decomposition \u002F hybrid as fallbacks, and synthesizes findings into a formatted Word (.docx) research guide. Grill-me intake (research question specificity + framework hint + tentative depth) before the recon search; a second forcing checkpoint after Phase 2 confirms framework + sub-areas + depth before searches consume budget. Configurable depth (5\u002F10\u002F20 queries) controls coverage vs. speed. Output is a 'launching pad' — an orientation guide that lets a researcher dive in confidently, not a finished review. Use when the user starts literature-oriented research (e.g., 'litreview on [topic]', 'literature review on [topic]', 'I'm starting a literature review on X', 'I'm writing a paper on X', 'help me research X', 'I'm doing research on X', 'can you help me research X'). Do NOT use for single one-off paper searches wanting a quick list — that's a plain PubMed\u002FOpenAlex (or Consensus) query.","https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch\u002Flitreview\u002Fskills\u002Flitreview\u002FSKILL.md",[],[],{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":19},"01M7C0CP1419VDF6SGCDY6ZRZV","grants","NIH grant research skill for clinical researchers. Grill-me intake (research idea + career stage + preliminary data + environment + submission posture + known institute targets) locks down the funding strategy before any search runs. Runs a 5-facet Consensus positioning analysis (with draft Significance\u002FInnovation language), maps the research to the right NIH institutes and study sections via RePORTER, finds NOSIs and funded overlap, and produces an editable Word document (.docx) with budget\u002Fscope-aware mechanism recommendations, submission timelines, and a mandatory program officer recommendation. Use when the user asks about research funding or makes any grant-related request (e.g., 'grants for [topic]', 'find grants for my research idea', 'what grants match my research', 'help me find NIH funding', 'grant opportunities for my research'). NIH-only scope — non-NIH funders (PCORI, DOD CDMRP, VA, foundations) are out of scope and flagged at intake.","https:\u002F\u002Fgithub.com\u002Fazhri1990\u002Fproject-genesis\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fresearch\u002Fgrants\u002Fskills\u002Fgrants\u002FSKILL.md",[],[]]