[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J215BVVT10RK4E2TSPV8MA":3,"skill-same:01M6J215BVVT10RK4E2TSPV8MA":64},{"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":28,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6J215BVVT10RK4E2TSPV8MA","senior-developer-research-first-protocol",null,"Follow an 8-step research-first protocol before making changes","sampleXbro\u002Fagentsmesh","sampleXbro","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F55853222?v=4","01M6J1A11VAS9QEE92CHHMBCKC","Serhii Zhabskyi","01M6J1A16FCGNMMABYE0P6SNTF",28,"MIT","https:\u002F\u002Fgithub.com\u002FsampleXbro\u002Fagentsmesh\u002Fblob\u002Fmaster\u002F.agentsmesh\u002Fskills\u002Fsenior-developer-research-first-protocol\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35],"research","protocol","developer","first","research first","senior developer research first protocol","changes","2026-11-10 10:12:30",false,"---\nname: senior-developer-research-first-protocol\ndescription: Follow an 8-step research-first protocol before making changes\n---\n\n## Purpose\n\n## Research-First Protocol\n\n**Why:** Understanding prevents broken integrations, unintended side effects, wasted time fixing symptoms instead of root causes.\n\n### When to Apply\n\n**Complex work (use full protocol):**\nImplementing features, fixing bugs (beyond syntax), dependency conflicts, debugging integrations, configuration changes, architectural modifications, data migrations, security implementations, cross-system integrations, new API endpoints.\n\n**Simple operations (execute directly):**\nGit operations on known repos, reading files with known exact paths, running known commands, port management on known ports, installing known dependencies, single known config updates.\n\n**MUST use research protocol for:**\nFinding files in unknown directories, searching without exact location, discovering what exists, any operation where \"not found\" is possible, exploring unfamiliar environments.\n\n### The 8-Step Protocol\n\n\u003Cresearch_protocol>\n\n**Phase 1: Discovery**\n\n1. **Find and read relevant notes\u002Fdocs** - Search across workspace (notes\u002F, docs\u002F, README), ~\u002FDocuments\u002FDocumentation\u002F, ~\u002FDocuments\u002FNotes\u002F, and project .md files. Use as context only; verify against actual code.\n\n2. **Read additional documentation** - API docs, Confluence, Jira, wikis, official docs, in-code comments. Use for initial context; verify against actual code.\n\n3. **Map complete system end-to-end**\n   - Data Flow & Architecture: Request lifecycle, dependencies, integration points, architectural decisions, affected components\n   - Data Structures & Schemas: Database schemas, API structures, validation rules, transformation patterns\n   - Configuration & Dependencies: Environment variables, service dependencies, auth patterns, deployment configs\n   - Existing Implementation: Search for similar\u002Frelevant features that already exist - can we leverage or expand them instead of creating new?\n\n4. **Inspect and familiarize** - Study existing implementations before building new. Look for code that solves similar problems - expanding existing code is often better than creating from scratch. If leveraging existing code, trace all its dependencies first to ensure changes won't break other things.\n\n**Phase 2: Verification**\n\n5. **Verify understanding** - Explain the entire system flow, data structures, dependencies, impact. For complex multi-step problems requiring deeper reasoning, use structured thinking before executing: analyze approach, consider alternatives, identify potential issues. User can request extended thinking with phrases like \"think hard\" or \"think harder\" for additional reasoning depth.\n\n6. **Check for blockers** - Ambiguous requirements? Security\u002Frisk concerns? Multiple valid architectural choices? Missing critical info only user can provide? If NO blockers: proceed to Phase 3. If blockers: briefly explain and get clarification.\n\n**Phase 3: Execution**\n\n7. **Proceed autonomously** - Execute immediately without asking permission. Default to action. Complete entire task chain—if task A reveals issue B, understand both, fix both before marking complete.\n\n8. **Update documentation** - After completion, update existing notes\u002Fdocs (not duplicates). Mark outdated info with dates. Add new findings. Reference code files\u002Flines. Document assumptions needing verification.\n\n\u003C\u002Fresearch_protocol>\n\n\u003Cexample_research_flow>\nUser: \"Fix authentication timeout issue\"\n\n✅ Good: Check notes (context) → Read docs (intent) → Read actual auth code (verify) → Map flow: login → token gen → session → validation → timeout → Review error patterns → Verify understanding → Check blockers → Proceed: extend expiry, add rotation, update errors → Update notes + docs\n\n❌ Bad: Jump to editing timeout → Trust outdated notes\u002FREADME → Miss refresh token issue → Fix symptom not root cause → Don't verify or document\n\u003C\u002Fexample_research_flow>\n\n---","## Purpose\n\n## Research-First Protocol\n\n**Why:** Understanding prevents broken integrations, unintended side effects, wasted time fixing symptoms instead of root causes.\n\n### When to Apply\n\n**Complex work (use full protocol):**\nImplementing features, fixing bugs (beyond syntax), dependency conflicts, debugging integrations, configuration changes, architectural modifications, data migrations, security implementations, cross-system integrations, new API endpoints.\n\n**Simple operations (execute directly):**\nGit operations on known repos, reading files with known exact paths, running known commands, port management on known ports, installing known dependencies, single known config updates.\n\n**MUST use research protocol for:**\nFinding files in unknown directories, searching without exact location, discovering what exists, any operation where \"not found\" is possible, exploring unfamiliar environments.\n\n### The 8-Step Protocol\n\n\u003Cresearch_protocol>\n\n**Phase 1: Discovery**\n\n1. **Find and read relevant notes\u002Fdocs** - Search across workspace (notes\u002F, docs\u002F, README), ~\u002FDocuments\u002FDocumentation\u002F, ~\u002FDocuments\u002FNotes\u002F, and project .md files. Use as context only; verify against actual code.\n\n2. **Read additional documentation** - API docs, Confluence, Jira, wikis, official docs, in-code comments. Use for initial context; verify against actual code.\n\n3. **Map complete system end-to-end**\n   - Data Flow & Architecture: Request lifecycle, dependencies, integration points, architectural decisions, affected components\n   - Data Structures & Schemas: Database schemas, API structures, validation rules, transformation patterns\n   - Configuration & Dependencies: Environment variables, service dependencies, auth patterns, deployment configs\n   - Existing Implementation: Search for similar\u002Frelevant features that already exist - can we leverage or expand them instead of creating new?\n\n4. **Inspect and familiarize** - Study existing implementations before building new. Look for code that solves similar problems - expanding existing code is often better than creating from scratch. If leveraging existing code, trace all its dependencies first to ensure changes won't break other things.\n\n**Phase 2: Verification**\n\n5. **Verify understanding** - Explain the entire system flow, data structures, dependencies, impact. For complex multi-step problems requiring deeper reasoning, use structured thinking before executing: analyze approach, consider alternatives, identify potential issues. User can request extended thinking with phrases like \"think hard\" or \"think harder\" for additional reasoning depth.\n\n6. **Check for blockers** - Ambiguous requirements? Security\u002Frisk concerns? Multiple valid architectural choices? Missing critical info only user can provide? If NO blockers: proceed to Phase 3. If blockers: briefly explain and get clarification.\n\n**Phase 3: Execution**\n\n7. **Proceed autonomously** - Execute immediately without asking permission. Default to action. Complete entire task chain—if task A reveals issue B, understand both, fix both before marking complete.\n\n8. **Update documentation** - After completion, update existing notes\u002Fdocs (not duplicates). Mark outdated info with dates. Add new findings. Reference code files\u002Flines. Document assumptions needing verification.\n\n\u003C\u002Fresearch_protocol>\n\n\u003Cexample_research_flow>\nUser: \"Fix authentication timeout issue\"\n\n✅ Good: Check notes (context) → Read docs (intent) → Read actual auth code (verify) → Map flow: login → token gen → session → validation → timeout → Review error patterns → Verify understanding → Check blockers → Proceed: extend expiry, add rotation, update errors → Update notes + docs\n\n❌ Bad: Jump to editing timeout → Trust outdated notes\u002FREADME → Miss refresh token issue → Fix symptom not root cause → Don't verify or document\n\u003C\u002Fexample_research_flow>\n\n---",{"name":5,"description":7},"master","2a22abcae4e5677b6e385b5a0e144c48baac4a94",".agentsmesh\u002Fskills\u002Fsenior-developer-research-first-protocol",7,"https:\u002F\u002Fgithub.com\u002FsampleXbro\u002Fagentsmesh","https:\u002F\u002Fsamplexbro.github.io\u002Fagentsmesh\u002F","https:\u002F\u002Fgithub.com\u002FsampleXbro","Senior Software Engineer · React · TypeScript · Next.js · Smart TV specialist (Tizen, webOS, Android TV)","2026-11-06 03:06:21",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add sampleXbro\u002Fagentsmesh --skill senior-developer-research-first-protocol",{"tool":56,"command":57},"bunx","bunx skills add sampleXbro\u002Fagentsmesh --skill senior-developer-research-first-protocol",{"tool":59,"command":60},"pnpm","pnpm dlx skills add sampleXbro\u002Fagentsmesh --skill senior-developer-research-first-protocol","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FsampleXbro\u002Fagentsmesh\u002Fblob\u002Fmaster\u002F.agentsmesh\u002Fskills\u002Fsenior-developer-research-first-protocol\u002FSKILL.md",true,[],[65,76,92,114,120,139],{"skillNo":66,"name":29,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":71,"publishedAt":36},"01M6J2GJ4NDEPJND2GAXN0VPRB","Research docs and summarize decisions","https:\u002F\u002Fgithub.com\u002FsampleXbro\u002Fagentsmesh\u002Fblob\u002Fmaster\u002Ftests\u002Fe2e\u002Ffixtures\u002Fwindsurf-project\u002F.windsurf\u002Fskills\u002Fresearch\u002FSKILL.md",[70],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[29,72,73,74,75],"docs","summarize","decisions","research docs",{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":85,"publishedAt":36},"01M6J2GF8WQVFP75AMJWV7YM50","debugging","Systematic debugging workflow for production failures and test regressions.","https:\u002F\u002Fgithub.com\u002FsampleXbro\u002Fagentsmesh\u002Fblob\u002Fmaster\u002Ftests\u002Fe2e\u002Ffixtures\u002Fwarp-project\u002F.warp\u002Fskills\u002Fdebugging\u002FSKILL.md",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[78,86,87,88,89,90,91],"systematic debugging","workflow","test","Production","systematic","for",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":103,"publishedAt":36},"01M6J2GAQRCM0KV565J63STPWB","api-generator","Generate REST API endpoints with validation and tests","https:\u002F\u002Fgithub.com\u002FsampleXbro\u002Fagentsmesh\u002Fblob\u002Fmaster\u002Ftests\u002Fe2e\u002Ffixtures\u002Ftrae-project\u002F.trae\u002Fskills\u002Fapi-generator\u002FSKILL.md",[98,101,102],{"categoryNo":99,"categoryName":100,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":83,"categoryName":84,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[104,105,106,107,108,109,110,111,112,113],"api","api generator","generator","REST","endpoints","rest api","tests","with","validation","generate",{"skillNo":115,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":119,"publishedAt":36},"01M6J2G7VF3A2EGK5YBR4BM9KS","https:\u002F\u002Fgithub.com\u002FsampleXbro\u002Fagentsmesh\u002Fblob\u002Fmaster\u002Ftests\u002Fe2e\u002Ffixtures\u002Frovodev-project\u002F.rovodev\u002Fskills\u002Fdebugging\u002FSKILL.md",[118],{"categoryNo":83,"categoryName":84,"taxonomyType":21,"taxonomyTypeDesc":22},[78,91,87,88,86,89,90],{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":127,"publishedAt":36},"01M6J2G4VHBHSPXGVQRZCH8CDW","typescript-pro","Apply advanced TypeScript patterns including conditional types, template literal types, and mapped types","https:\u002F\u002Fgithub.com\u002FsampleXbro\u002Fagentsmesh\u002Fblob\u002Fmaster\u002Ftests\u002Fe2e\u002Ffixtures\u002Froo-code-project\u002F.roo\u002Fskills\u002Ftypescript-pro\u002FSKILL.md",[126],{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[128,129,130,131,132,133,134,135,136,137,138],"typescript","typescript pro","pro","patterns","code","architect","template","typescript patterns","Literal","types","advanced",{"skillNo":140,"name":78,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":145,"publishedAt":36},"01M6J2G2133FJ5SAHK9WX4YVNV","Systematic debugging workflow for Replit projects","https:\u002F\u002Fgithub.com\u002FsampleXbro\u002Fagentsmesh\u002Fblob\u002Fmaster\u002Ftests\u002Fe2e\u002Ffixtures\u002Freplit-agent-project\u002F.agents\u002Fskills\u002Fdebugging\u002FSKILL.md",[144],{"categoryNo":83,"categoryName":84,"taxonomyType":21,"taxonomyTypeDesc":22},[78,86,146,90,91,87],"projects"]