[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FJE3AXETQFDZCQYF5FWRYD":3,"skill-same:01M6FJE3AXETQFDZCQYF5FWRYD":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6FJE3AXETQFDZCQYF5FWRYD","ln-521-test-researcher",null,"Researches real-world problems, competitor solutions, and customer complaints for a feature domain. Use before test planning to ground tests in actual user pain points.","boisenoise\u002Fskills-collections","boisenoise","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F193180?v=4","01M6CDBDQK6BDN55ZMA6B6PKBM","01M6CDBDVSJ3JPTBYN26FZ7TZK",12,"MIT","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Flevn-ln-521-test-researcher\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"test","researcher","ln 521 test researcher","ln","customer","pain points","planning","user","use","world","domain","tests","feature","for","competitor","solutions","2026-11-10 10:12:30",false,"---\nname: ln-521-test-researcher\ndescription: \"Researches real-world problems, competitor solutions, and customer complaints for a feature domain. Use before test planning to ground tests in actual user pain points.\"\nlicense: MIT\n---\n\n> **Paths:** File paths (`shared\u002F`, `references\u002F`, `..\u002Fln-*`) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. If `shared\u002F` is missing, fetch files via WebFetch from `https:\u002F\u002Fraw.githubusercontent.com\u002Flevnikolaevich\u002Fclaude-code-skills\u002Fmaster\u002Fskills\u002F{path}`.\n\n## Inputs\n\n| Input | Required | Source | Description |\n|-------|----------|--------|-------------|\n| `storyId` | Yes | args, git branch, kanban, user | Story to process |\n\n**Resolution:** Story Resolution Chain.\n**Status filter:** To Review\n\n# Test Researcher\n\n**Type:** L3 Worker\n\nResearches real-world problems and edge cases before test planning to ensure tests cover actual user pain points, not just AC.\n\n## Purpose & Scope\n- Research common problems for the feature domain using Web Search, MCP Ref, Context7.\n- Analyze how competitors solve the same problem.\n- Find customer complaints and pain points from forums, StackOverflow, Reddit.\n- Post structured findings as a Linear comment for later test-planning steps.\n- No test creation or status changes.\n\n## When to Use\n\nThis skill should be used when:\n- Use at the start of a test-planning workflow when feature-domain evidence is needed\n- Story has non-trivial functionality (external APIs, file formats, authentication)\n- Need to discover edge cases beyond AC\n\n**Skip research when:**\n- Story is trivial (simple CRUD, no external dependencies)\n- Research comment already exists on Story\n- User explicitly requests to skip\n\n## Workflow\n\n### Phase 1: Discovery\n\n**MANDATORY READ:** Load `shared\u002Freferences\u002Finput_resolution_pattern.md`\n\n1. **Resolve storyId:** Run Story Resolution Chain per guide (status filter: [To Review]).\n\n2. Auto-discover Team ID from `docs\u002Ftasks\u002Fkanban_board.md`\n\n### Phase 2: Extract Feature Domain\n\n1) Fetch Story from Linear\n2) Parse Story goal and AC to identify:\n   - What technology\u002FAPI\u002Fformat is involved?\n   - What is the user's goal? (e.g., \"translate XLIFF files\", \"authenticate via OAuth\")\n3) Extract keywords for research queries\n\n### Phase 3: Research Common Problems\n\nUse available tools to find real-world problems:\n\n1) **Web Search:**\n   - \"[feature] common problems\"\n   - \"[format] edge cases\"\n   - \"[API] gotchas\"\n   - \"[technology] known issues\"\n\n2) **MCP Ref:**\n   - `ref_search_documentation(\"[feature] error handling best practices\")`\n   - `ref_search_documentation(\"[format] validation rules\")`\n\n3) **Context7:**\n   - Query relevant library docs for known issues\n   - Check API documentation for limitations\n\n### Phase 4: Research Competitor Solutions\n\n1) **Web Search:**\n   - \"[competitor] [feature] how it works\"\n   - \"[feature] comparison\"\n   - \"[product type] best practices\"\n\n2) **Analysis:**\n   - How do market leaders handle this functionality?\n   - What UX patterns do they use?\n   - What error handling approaches are common?\n\n### Phase 5: Research Customer Complaints\n\n1) **Web Search:**\n   - \"[feature] complaints\"\n   - \"[product type] user problems\"\n   - \"[format] issues reddit\"\n   - \"[format] issues stackoverflow\"\n\n2) **Analysis:**\n   - What do users actually struggle with?\n   - What are common frustrations?\n   - What gaps exist between user expectations and typical implementations?\n\n### Phase 6: Compile and Post Findings\n\n1) **Compile findings** into categories:\n   - **Input validation issues** (malformed data, encoding, size limits)\n   - **Edge cases** (empty input, special characters, Unicode)\n   - **Error handling** (timeouts, rate limits, partial failures)\n   - **Security concerns** (injection, authentication bypass)\n   - **Competitor advantages** (features we should match or exceed)\n   - **Customer pain points** (problems users actually complain about)\n\n2) **Post Linear comment** on Story with research summary:\n\n```markdown\n## Test Research: {Feature}\n\n### Sources Consulted\n- [Source 1](url)\n- [Source 2](url)\n\n### Common Problems Found\n1. **Problem 1:** Description + test case suggestion\n2. **Problem 2:** Description + test case suggestion\n\n### Competitor Analysis\n- **Competitor A:** How they handle this + what we can learn\n- **Competitor B:** Their approach + gaps we can exploit\n\n### Customer Pain Points\n- **Complaint 1:** What users struggle with + test to prevent\n- **Complaint 2:** Common frustration + how to verify we solve it\n\n### Recommended Test Coverage\n- [ ] Test case for problem 1\n- [ ] Test case for competitor parity\n- [ ] Test case for customer pain point\n\n---\n_This research informs both manual tests (ln-522) and automated tests (ln-523)._\n```\n\n## Critical Rules\n\n- **No test creation:** Only research and documentation.\n- **No status changes:** Only Linear comment.\n- **Source attribution:** Always include URLs for sources consulted.\n- **Actionable findings:** Each problem should suggest a test case.\n- **Skip trivial Stories:** Don't research \"Add button to page\".\n\n## Runtime Summary Artifact\n\n**MANDATORY READ:** Load `shared\u002Freferences\u002Ftest_planning_summary_contract.md`, `shared\u002Freferences\u002Ftest_planning_worker_runtime_contract.md`\n\nRuntime profile:\n- family: `test-planning-worker`\n- worker: `ln-521`\n- summary kind: `test-planning-worker`\n- payload fields used by coordinators: `worker`, `status`, `warnings`, `research_comment_path`\n\nInvocation rules:\n- standalone: omit `runId` and `summaryArtifactPath`\n- managed: pass both `runId` and exact `summaryArtifactPath`\n- always write the validated summary before terminal outcome\n\n## Definition of Done\n\n- [ ] Feature domain extracted from Story (technology\u002FAPI\u002Fformat identified)\n- [ ] Common problems researched (Web Search + MCP Ref + Context7)\n- [ ] Competitor solutions analyzed (at least 1-2 competitors)\n- [ ] Customer complaints found (forums, StackOverflow, Reddit)\n- [ ] Findings compiled into categories\n- [ ] Linear comment posted with \"## Test Research: {Feature}\" header\n- [ ] At least 3 recommended test cases suggested\n\n**Output:** Linear comment with research findings for ln-522 and ln-523 to use.\n\n## Reference Files\n\n- Research methodology: Web Search, MCP Ref, Context7 tools\n- Comment format: Structured markdown with sources\n- Downstream consumers: ln-522-manual-tester, ln-523-auto-test-planner\n- **MANDATORY READ:** Load `shared\u002Freferences\u002Fresearch_tool_fallback.md`\n\n---\n\n**Version:** 1.0.0\n**Last Updated:** 2026-01-15\n","> **Paths:** File paths (`shared\u002F`, `references\u002F`, `..\u002Fln-*`) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. If `shared\u002F` is missing, fetch files via WebFetch from `https:\u002F\u002Fraw.githubusercontent.com\u002Flevnikolaevich\u002Fclaude-code-skills\u002Fmaster\u002Fskills\u002F{path}`.\n\n## Inputs\n\n| Input | Required | Source | Description |\n|-------|----------|--------|-------------|\n| `storyId` | Yes | args, git branch, kanban, user | Story to process |\n\n**Resolution:** Story Resolution Chain.\n**Status filter:** To Review\n\n# Test Researcher\n\n**Type:** L3 Worker\n\nResearches real-world problems and edge cases before test planning to ensure tests cover actual user pain points, not just AC.\n\n## Purpose & Scope\n- Research common problems for the feature domain using Web Search, MCP Ref, Context7.\n- Analyze how competitors solve the same problem.\n- Find customer complaints and pain points from forums, StackOverflow, Reddit.\n- Post structured findings as a Linear comment for later test-planning steps.\n- No test creation or status changes.\n\n## When to Use\n\nThis skill should be used when:\n- Use at the start of a test-planning workflow when feature-domain evidence is needed\n- Story has non-trivial functionality (external APIs, file formats, authentication)\n- Need to discover edge cases beyond AC\n\n**Skip research when:**\n- Story is trivial (simple CRUD, no external dependencies)\n- Research comment already exists on Story\n- User explicitly requests to skip\n\n## Workflow\n\n### Phase 1: Discovery\n\n**MANDATORY READ:** Load `shared\u002Freferences\u002Finput_resolution_pattern.md`\n\n1. **Resolve storyId:** Run Story Resolution Chain per guide (status filter: [To Review]).\n\n2. Auto-discover Team ID from `docs\u002Ftasks\u002Fkanban_board.md`\n\n### Phase 2: Extract Feature Domain\n\n1) Fetch Story from Linear\n2) Parse Story goal and AC to identify:\n   - What technology\u002FAPI\u002Fformat is involved?\n   - What is the user's goal? (e.g., \"translate XLIFF files\", \"authenticate via OAuth\")\n3) Extract keywords for research queries\n\n### Phase 3: Research Common Problems\n\nUse available tools to find real-world problems:\n\n1) **Web Search:**\n   - \"[feature] common problems\"\n   - \"[format] edge cases\"\n   - \"[API] gotchas\"\n   - \"[technology] known issues\"\n\n2) **MCP Ref:**\n   - `ref_search_documentation(\"[feature] error handling best practices\")`\n   - `ref_search_documentation(\"[format] validation rules\")`\n\n3) **Context7:**\n   - Query relevant library docs for known issues\n   - Check API documentation for limitations\n\n### Phase 4: Research Competitor Solutions\n\n1) **Web Search:**\n   - \"[competitor] [feature] how it works\"\n   - \"[feature] comparison\"\n   - \"[product type] best practices\"\n\n2) **Analysis:**\n   - How do market leaders handle this functionality?\n   - What UX patterns do they use?\n   - What error handling approaches are common?\n\n### Phase 5: Research Customer Complaints\n\n1) **Web Search:**\n   - \"[feature] complaints\"\n   - \"[product type] user problems\"\n   - \"[format] issues reddit\"\n   - \"[format] issues stackoverflow\"\n\n2) **Analysis:**\n   - What do users actually struggle with?\n   - What are common frustrations?\n   - What gaps exist between user expectations and typical implementations?\n\n### Phase 6: Compile and Post Findings\n\n1) **Compile findings** into categories:\n   - **Input validation issues** (malformed data, encoding, size limits)\n   - **Edge cases** (empty input, special characters, Unicode)\n   - **Error handling** (timeouts, rate limits, partial failures)\n   - **Security concerns** (injection, authentication bypass)\n   - **Competitor advantages** (features we should match or exceed)\n   - **Customer pain points** (problems users actually complain about)\n\n2) **Post Linear comment** on Story with research summary:\n\n```markdown\n## Test Research: {Feature}\n\n### Sources Consulted\n- [Source 1](url)\n- [Source 2](url)\n\n### Common Problems Found\n1. **Problem 1:** Description + test case suggestion\n2. **Problem 2:** Description + test case suggestion\n\n### Competitor Analysis\n- **Competitor A:** How they handle this + what we can learn\n- **Competitor B:** Their approach + gaps we can exploit\n\n### Customer Pain Points\n- **Complaint 1:** What users struggle with + test to prevent\n- **Complaint 2:** Common frustration + how to verify we solve it\n\n### Recommended Test Coverage\n- [ ] Test case for problem 1\n- [ ] Test case for competitor parity\n- [ ] Test case for customer pain point\n\n---\n_This research informs both manual tests (ln-522) and automated tests (ln-523)._\n```\n\n## Critical Rules\n\n- **No test creation:** Only research and documentation.\n- **No status changes:** Only Linear comment.\n- **Source attribution:** Always include URLs for sources consulted.\n- **Actionable findings:** Each problem should suggest a test case.\n- **Skip trivial Stories:** Don't research \"Add button to page\".\n\n## Runtime Summary Artifact\n\n**MANDATORY READ:** Load `shared\u002Freferences\u002Ftest_planning_summary_contract.md`, `shared\u002Freferences\u002Ftest_planning_worker_runtime_contract.md`\n\nRuntime profile:\n- family: `test-planning-worker`\n- worker: `ln-521`\n- summary kind: `test-planning-worker`\n- payload fields used by coordinators: `worker`, `status`, `warnings`, `research_comment_path`\n\nInvocation rules:\n- standalone: omit `runId` and `summaryArtifactPath`\n- managed: pass both `runId` and exact `summaryArtifactPath`\n- always write the validated summary before terminal outcome\n\n## Definition of Done\n\n- [ ] Feature domain extracted from Story (technology\u002FAPI\u002Fformat identified)\n- [ ] Common problems researched (Web Search + MCP Ref + Context7)\n- [ ] Competitor solutions analyzed (at least 1-2 competitors)\n- [ ] Customer complaints found (forums, StackOverflow, Reddit)\n- [ ] Findings compiled into categories\n- [ ] Linear comment posted with \"## Test Research: {Feature}\" header\n- [ ] At least 3 recommended test cases suggested\n\n**Output:** Linear comment with research findings for ln-522 and ln-523 to use.\n\n## Reference Files\n\n- Research methodology: Web Search, MCP Ref, Context7 tools\n- Comment format: Structured markdown with sources\n- Downstream consumers: ln-522-manual-tester, ln-523-auto-test-planner\n- **MANDATORY READ:** Load `shared\u002Freferences\u002Fresearch_tool_fallback.md`\n\n---\n\n**Version:** 1.0.0\n**Last Updated:** 2026-01-15\n",{"name":5,"license":14,"description":7},"main","7bf2279c8a65758319526a721d5c4b75683aec9c","skills\u002Flevn-ln-521-test-researcher",3,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections","https:\u002F\u002Fgithub.com\u002Fboisenoise","2026-11-11 14:20:43",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add boisenoise\u002Fskills-collections --skill ln-521-test-researcher",{"tool":57,"command":58},"bunx","bunx skills add boisenoise\u002Fskills-collections --skill ln-521-test-researcher",{"tool":60,"command":61},"pnpm","pnpm dlx skills add boisenoise\u002Fskills-collections --skill ln-521-test-researcher","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Flevn-ln-521-test-researcher\u002FSKILL.md",true,[],[66,96,121,146,165,188],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":71,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":39},"01M6WNH92BHVFXHGPDZCPJ0AG0","web-access","Use Treg for public web or platform data only when existing search, browser and connected tools cannot cover the task, with explicit cost and data boundaries.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FSKILL.md",[],[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],"web","access","web access","official","development","browser","search","data","Tools","read","fetch","only","youtube","free tools","platform","critical","free","cover","normal","when","2026",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":100,"sourceHtmlUrl":101,"categories":102,"keywords":106,"publishedAt":39},"01M6WNF9XAYAB2CZDDJBAKNM93","treg","Use the Treg CLI or MCP catalog to discover, price and call authorized external tools with team-scoped credentials and a user-approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[98,107,108,109,78,79,110,83,111,112,113,114,31,115,116,90,117,118,119,120,95],"MCP","cli","github","license","Budget","credentials","team","catalog","call","discover","external tools","with","scoped","blob",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":125,"sourceHtmlUrl":126,"categories":127,"keywords":133,"publishedAt":39},"01M6WN93MEAZ4E41DYAHJRPHQT","recruit","Turn a job description into an evidence-linked candidate shortlist through Treg, with job-related ranking and optional authorized business contact enrichment.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FSKILL.md",[128],{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[123,109,78,110,134,135,136,137,138,139,90,140,141,142,118,36,143,144,145,120,98,95],"https","email","enrichment","business","evidence","phone","ranking","post","job description","person","candidate","reason",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":150,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":39},"01M6WN8R5RXSMHM9B4D9FAFX42","rea-growth","Analyze a company’s public growth and content through Treg, distinguish observations from hypotheses, and produce an evidence-linked playbook within an approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FSKILL.md",[],[154,155,156,109,78,110,157,158,134,159,111,160,161,162,138,90,163,164,120,98,95],"growth","rea","rea growth","produce","content","playbook","marketing","analyze","public","observations","company",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":169,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":39},"01M6WN2EVE3RQRGWAKBT4S7YT2","make-ugc","Create original AI UGC-style product videos through Treg: research hooks, approve a licensed presenter and voice, generate clips, add captions and report costs.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FSKILL.md",[],[173,174,109,175,78,176,110,177,178,179,180,181,90,182,183,184,185,186,187,120],"make","make ugc","research","create","Video","Captions","ads","short","hooks","head","style","niche","trending","talking-head","approve",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":192,"sourceHtmlUrl":193,"categories":194,"keywords":195,"publishedAt":39},"01M6WN10ARAA63Y8K1YNGXJ2RM","lead-signals","Find and qualify public buying signals through Treg, rank fitting business accounts and optionally enrich authorized business contact information.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FSKILL.md",[],[196,197,198,109,78,110,199,200,137,201,202,90,203,204,205,206,207,208,209,120],"signals","lead","lead signals","how","find","ready","as","how to","qualify","people","information","enrich","changes","funding"]