# ๐Ÿฆž Skill: team-assemble๏ผˆๅ›ข้˜Ÿ็ป„ๅปบ๏ผ‰ > **๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡็‰ˆ** | [๐Ÿ‡ฌ๐Ÿ‡ง English](../en/team-assemble.md) --- ## ๅ…ƒไฟกๆฏ | ๅญ—ๆฎต | ๅ€ผ | |------|-----| | ๅ็งฐ | `team-assemble` | | ็‰ˆๆœฌ | `1.0.0` | | ่ดŸ่ดฃ็ป„ไปถ | โšก ๆ‰ง่กŒๅ™จ๏ผˆExecutor๏ผ‰ | | ่ถ…ๆ—ถ้™ๅˆถ | 604800 ็ง’๏ผˆ7 ๅคฉ๏ผŒๅซๆ‹›่˜็ญ‰ๅพ…๏ผ‰ | | ๆœ€ๅคง้‡่ฏ•ๆฌกๆ•ฐ | 1 | | ไธŠๆธธไพ่ต– | `company-form` | --- ## ๆฆ‚่ฟฐ ไผไธšๅฎถ"ๆ‰พไบบๅนฒๆดป"็š„ๆ ธๅฟƒ่ƒฝๅŠ›ใ€‚็กฎๅฎš่ฆๅšไป€ไนˆไน‹ๅŽ๏ผŒๅ…ณ้”ฎๅฐฑๆ˜ฏ**ๆ‰พๅˆฐๅฏน็š„ไบบ**โ€”โ€”ไบบ็ฑปๅ’Œ AI ๅไฝœ่€…ใ€‚OpenClaw ๅƒ็œŸๆญฃ็š„่€ๆฟไธ€ๆ ท๏ผšๅฎšไน‰่ง’่‰ฒใ€ๅ‘ๅธƒๆ‹›่˜ใ€็ญ›้€‰้ข่ฏ•ใ€ๅˆ†้…ไปปๅŠกใ€‚ --- ## ไธฅๆ ผๅฎšไน‰ ```yaml skill: name: team-assemble version: 1.0.0 description: "็ป„ๅปบ็”ฑไบบ็ฑปๅ’Œ AI ไปฃ็†็ป„ๆˆ็š„ๅ›ข้˜Ÿๆฅๆ‰ง่กŒๅทฒ้ชŒ่ฏ็š„ๆœบไผš" trigger: - event: "company_formed" - event: "infrastructure_ready" - event: "staffing_need_identified" - manual: true inputs: - name: company_id type: "string" required: true description: "ๅ…ฌๅธๅ”ฏไธ€ๆ ‡่ฏ†็ฌฆ" - name: product_requirements type: "list[Requirement]" required: true description: "ไบงๅ“้œ€ๆฑ‚ๅˆ—่กจ๏ผˆไปŽ demand-validate ็ปงๆ‰ฟ๏ผ‰" - name: team_composition type: "enum[ai_heavy, balanced, human_heavy]" required: false default: "balanced" description: "ๅ›ข้˜Ÿๆž„ๆˆๅๅฅฝ" - name: monthly_budget type: "float" required: true constraints: "value >= 500" description: "ๅ›ข้˜Ÿๆœˆๅบฆ้ข„็ฎ—๏ผˆ็พŽๅ…ƒ๏ผ‰" - name: timeline_weeks type: "int" required: false default: 8 constraints: "1 <= value <= 52" description: "้ข„ๆœŸไบคไป˜ๅ‘จๆœŸ๏ผˆๅ‘จ๏ผ‰" outputs: - name: team_roster type: "list[TeamMember]" description: "ๅ›ข้˜Ÿๆˆๅ‘˜่Šฑๅๅ†Œ" - name: task_assignments type: "list[TaskAssignment]" description: "ไปปๅŠกๅˆ†้…ๆ–นๆกˆ" - name: collaboration_workflow type: "Workflow" description: "ๅไฝœๅทฅไฝœๆตๅฎšไน‰" - name: monthly_cost_estimate type: "float" description: "้ข„ไผฐๆœˆๅบฆไบบๅŠ›ๆˆๆœฌ" dependencies: skills: ["company-form"] tools: - upwork_api # Upwork ่‡ช็”ฑ่Œไธš่€…ๅนณๅฐ - toptal_api # Toptal ้ซ˜็ซฏไบบๆ‰ๅนณๅฐ - github_api # GitHub ๅผ€ๅ‘่€…ๆœ็ดข - ai_agent_manager # AI ไปฃ็†็ฎก็†ๅ™จ - communication_setup # ้€š่ฎฏๅทฅๅ…ท้…็ฝฎ ``` --- ## AI ๅทฅไฝœ่€…ไปฃ็†็Ÿฉ้˜ต ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ็ฑปๅž‹ โ”‚ ่ƒฝๅŠ›็ญ‰็บง โ”‚ ้€‚็”จๅœบๆ™ฏ โ”‚ ๆœˆๆˆๆœฌไผฐ็ฎ— โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ ๐Ÿ’ป ็ผ–็ ๅ‘˜ โ”‚ L1: ๅŸบ็ก€ โ”‚ CRUDใ€็ฎ€ๅ•้กต้ข โ”‚ $50-200 โ”‚ โ”‚ โ”‚ L2: ้ซ˜็บง โ”‚ ๅคๆ‚ไธšๅŠก้€ป่พ‘ใ€ๆžถๆž„ โ”‚ $200-800 โ”‚ โ”‚ โ”‚ L3: ไธ“ๅฎถ โ”‚ ็ณป็ปŸ่ฎพ่ฎกใ€ๆ€ง่ƒฝไผ˜ๅŒ– โ”‚ $800-2000 โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ ๐ŸŽจ ่ฎพ่ฎกๅธˆ โ”‚ L1: ๅŸบ็ก€ โ”‚ ๅ›พๆ ‡ใ€็ฎ€ๅ•ๆŽ’็‰ˆ โ”‚ $30-100 โ”‚ โ”‚ โ”‚ L2: ้ซ˜็บง โ”‚ ๅฎŒๆ•ด UI/UX ่ฎพ่ฎก โ”‚ $100-400 โ”‚ โ”‚ โ”‚ L3: ไธ“ๅฎถ โ”‚ ๅ“็‰Œ็ณป็ปŸใ€ๅŠจๆ•ˆ่ฎพ่ฎก โ”‚ $400-1000 โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ ๐Ÿ“ข ่ฅ้”€ๅ‘˜ โ”‚ L1: ๅŸบ็ก€ โ”‚ ็คพไบคๅช’ไฝ“ๅธ–ๅญ โ”‚ $30-100 โ”‚ โ”‚ โ”‚ L2: ้ซ˜็บง โ”‚ SEOใ€ๅนฟๅ‘ŠๆŠ•ๆ”พ็ญ–็•ฅ โ”‚ $100-500 โ”‚ โ”‚ โ”‚ L3: ไธ“ๅฎถ โ”‚ ๅ“็‰Œ็ญ–็•ฅใ€ๅขž้•ฟ้ป‘ๅฎข โ”‚ $500-1500 โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ ๐ŸŽง ๅฎขๆœ โ”‚ L1: ๅŸบ็ก€ โ”‚ FAQ ่‡ชๅŠจๅ›žๅค โ”‚ $20-50 โ”‚ โ”‚ โ”‚ L2: ้ซ˜็บง โ”‚ ๅคๆ‚้—ฎ้ข˜ๅค„็† โ”‚ $50-200 โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ ๐Ÿ“Š ๅˆ†ๆžๅธˆ โ”‚ L1: ๅŸบ็ก€ โ”‚ ๆ•ฐๆฎๆ•ด็†ใ€ๆŠฅ่กจ็”Ÿๆˆ โ”‚ $30-100 โ”‚ โ”‚ โ”‚ L2: ้ซ˜็บง โ”‚ ๅธ‚ๅœบ็ ”็ฉถใ€่ดขๅŠกๅปบๆจก โ”‚ $100-500 โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` --- ## ไบบ็ฑปๆ‹›่˜ๆต็จ‹ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ“‹ ่ง’่‰ฒๅฎšไน‰โ”‚ โ†’ โ”‚ ๐Ÿ“ฎ ่Œไฝๅ‘ๅธƒโ”‚ โ†’ โ”‚ ๐Ÿค– AI ็ญ›้€‰โ”‚ โ†’ โ”‚ ๐Ÿ‘” ้ข่ฏ• โ”‚ โ†’ โ”‚ ๐ŸŽ“ ๅ…ฅ่Œ โ”‚ โ”‚ 1-2 ๅฐๆ—ถ โ”‚ โ”‚ ่‡ชๅŠจ โ”‚ โ”‚ ่‡ชๅŠจ โ”‚ โ”‚ 1-3 ๅคฉ โ”‚ โ”‚ 1 ๅคฉ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### ๅ„้˜ถๆฎต่ฏฆ็ป†่ง„ๅˆ™ **๐Ÿ“‹ ่ง’่‰ฒๅฎšไน‰๏ผš** - ๆ นๆฎไบงๅ“้œ€ๆฑ‚่‡ชๅŠจๆ‹†่งฃไธบ่ง’่‰ฒๅˆ—่กจ - ๆฏไธช่ง’่‰ฒๅŒ…ๅซ๏ผšๆŠ€่ƒฝ่ฆๆฑ‚ใ€็ป้ชŒ็ญ‰็บงใ€้ข„็ฎ—่Œƒๅ›ดใ€ไบคไป˜็‰ฉๅฎšไน‰ **๐Ÿ“ฎ ่Œไฝๅ‘ๅธƒ๏ผš** - ่‡ชๅŠจ็”Ÿๆˆ JD๏ผˆ่Œไฝๆ่ฟฐ๏ผ‰ - ๅŒๆญฅๅ‘ๅธƒๅˆฐ Upwork / Toptal / LinkedIn / Fiverr - ่ฎพ็ฝฎ่‡ชๅŠจๅ…ณ้—ญๆ—ถ้—ด๏ผˆ7 ๅคฉ๏ผ‰ **๐Ÿค– AI ็ญ›้€‰๏ผš** - ๆ นๆฎไฝœๅ“้›†ใ€่ฏ„ๅˆ†ใ€ๅކๅฒๅฎŒๆˆ็އ่‡ชๅŠจๆ‰“ๅˆ† - ๆŽ’้™ค่ฏ„ๅˆ† < 4.5 / ๅฎŒๆˆ็އ < 90% ็š„ๅ€™้€‰ไบบ - ่‡ชๅŠจๅ‘ Top 5 ๅ€™้€‰ไบบๅ‘้€็ญ›้€‰้—ฎ้ข˜ **๐Ÿ‘” ้ข่ฏ•๏ผš** - AI ้ข„้ข่ฏ•๏ผš้€š่ฟ‡่Šๅคฉ/่ง†้ข‘่ฏ„ไผฐๆŠ€ๆœฏ่ƒฝๅŠ› - ๐Ÿ›‘ ไบบ็ฑป็ปˆ้ข๏ผšๆœ€็ปˆไบบ้€‰้œ€ไบบ็ฑป็กฎ่ฎค - ้ข่ฏ•่ฏ„ๅˆ†่กจ่‡ชๅŠจ็”Ÿๆˆ **๐ŸŽ“ ๅ…ฅ่Œ๏ผš** - ่‡ชๅŠจๅ‘้€้กน็›ฎ่ƒŒๆ™ฏๆ–‡ๆกฃ - ้…็ฝฎๅทฅๅ…ท่ฎฟ้—ฎๆƒ้™๏ผˆGitHub / Slack / Notion๏ผ‰ - ๅˆ†้…ๅˆๅง‹ไปปๅŠกๅนถ่ฎพๅฎšๆˆชๆญขๆ—ฅๆœŸ --- ## ไปปๅŠกๅˆ†้…็ฎ—ๆณ• ```python def assign_tasks(team, tasks): """ๆ นๆฎ่ƒฝๅŠ›ๅŒน้…ๅบฆๅ’Œๆˆๆœฌๆ•ˆ็އๅˆ†้…ไปปๅŠก""" assignments = [] for task in sorted(tasks, key=lambda t: t.priority, reverse=True): best_match = None best_score = 0 for member in team.available_members(): score = ( skill_match(member.skills, task.required_skills) * 0.40 + cost_efficiency(member.rate, task.complexity) * 0.25 + availability(member.current_load) * 0.20 + past_performance(member.id, task.domain) * 0.15 ) if score > best_score: best_score = score best_match = member if best_match: assignments.append(Assignment(task, best_match, best_score)) return assignments ``` --- ## ้”™่ฏฏๅค„็† | ้”™่ฏฏ็  | ๆ่ฟฐ | ๅค„็†็ญ–็•ฅ | |--------|------|---------| | `NO_CANDIDATES` | ๆ— ๅˆๆ ผๅ€™้€‰ไบบ | ๆ‰ฉๅคงๆœ็ดข่Œƒๅ›ด๏ผŒๆ้ซ˜้ข„็ฎ—๏ผŒๅปถ้•ฟๆ‹›่˜ๆœŸ | | `CANDIDATE_REJECTED` | ๅ€™้€‰ไบบๆ‹’็ป Offer | ่‡ชๅŠจ่”็ณปๅค‡้€‰ๅ€™้€‰ไบบ | | `MEMBER_UNRESPONSIVE` | ๅ›ข้˜Ÿๆˆๅ‘˜ๅคฑ่”๏ผˆ>48h๏ผ‰ | ๆ ‡่ฎฐๅ‘Š่ญฆ๏ผŒๅฏๅŠจๆ›ฟไปฃๆ‹›่˜ | | `BUDGET_EXCEEDED` | ไบบๅŠ›ๆˆๆœฌ่ถ…ๅ‡บๆœˆๅบฆ้ข„็ฎ— | ้™็บง AI ไปฃ็†็ญ‰็บงๆˆ–ๅ‡ๅฐ‘ไบบ็ฑปๆˆๅ‘˜ | | `SKILL_MISMATCH` | ๅˆ†้…ๅŽๅ‘็Žฐ่ƒฝๅŠ›ไธๅŒน้… | ้‡ๆ–ฐ่ฏ„ไผฐๅนถ่ฐƒๆ•ดไปปๅŠกๅˆ†้… | --- ## ็›‘ๆŽงๆŒ‡ๆ ‡ ``` team_assemble_hiring_duration_seconds # ๆ‹›่˜่€—ๆ—ถ team_assemble_fill_rate # ๅฒ—ไฝๅกซๅ……็އ team_assemble_cost_per_role_usd # ๆฏ่ง’่‰ฒๆœˆๆˆๆœฌ team_assemble_task_completion_rate # ไปปๅŠกๅฎŒๆˆ็އ team_assemble_human_satisfaction_score # ไบบ็ฑปๆˆๅ‘˜ๆปกๆ„ๅบฆ ```