Skills skill-onboarding-assistant

apiVersion: skill.ooder.net/v1

install
source · Clone the upstream repo
git clone https://github.com/oodercn/skills
manifest: skills/scenes/skill-onboarding-assistant/skill.yaml
source content

apiVersion: skill.ooder.net/v1 kind: Skill

metadata: id: skill-onboarding-assistant name: 新人培训助手 version: 1.0.0 description: 新员工入职培训助手场景能力,帮助新人快速了解公司和岗位知识 author: Ooder Team license: Apache-2.0 homepage: https://gitee.com/ooderCN repository: https://gitee.com/ooderCN/ooder-skills keywords: - onboarding - training - learning - assistant - hr

spec: skillForm: SCENE

capability: category: biz

scene: type: AUTO visibility: public participantMode: multi-role name: 新人培训 description: 新员工入职培训助手

roles: - id: NEW_EMPLOYEE name: 新员工 description: 刚入职需要培训的员工 required: true minCount: 1 maxCount: 1000 permissions: - learning:view - learning:complete - question:ask - progress:view.own - id: MENTOR name: 导师 description: 负责指导新员工的导师 required: false minCount: 0 maxCount: 50 permissions: - progress:view.assigned - report:view.assigned - feedback:provide - id: HR name: HR管理员 description: HR培训管理员 required: true minCount: 1 maxCount: 10 permissions: - learning:manage - report:view.all - path:configure

activationSteps: NEW_EMPLOYEE: - stepId: complete-profile step: 1 action: complete-profile title: 完善个人信息 description: 填写岗位和部门信息 type: CONFIG_PRIVATE_CAPABILITIES required: true skippable: false autoExecute: false - stepId: start-learning step: 2 action: start-learning title: 开始学习 description: 查看学习路径并开始学习 type: ENABLE_FEATURES required: true skippable: false autoExecute: false MENTOR: - stepId: accept-assignment step: 1 action: accept-assignment title: 接受指派 description: 确认成为导师 type: CONFIRM_JOIN required: true skippable: false autoExecute: false HR: - stepId: configure-kb step: 1 action: configure-kb title: 配置知识库 description: 设置培训知识库 type: CONFIG_SKILL required: true skippable: false autoExecute: false - stepId: configure-paths step: 2 action: configure-paths title: 配置学习路径 description: 为不同岗位配置学习路径 type: CONFIG_CONDITIONS required: true skippable: false autoExecute: false - stepId: assign-mentors step: 3 action: assign-mentors title: 分配导师 description: 为新员工分配导师 type: CONFIRM_PARTICIPANTS required: false skippable: true autoExecute: false - stepId: confirm-activation step: 4 action: confirm-activation title: 确认激活 description: 确认场景激活 type: CONFIRM_ACTIVATION required: true skippable: false autoExecute: false

menus: NEW_EMPLOYEE: - id: learning-path name: 学习路径 icon: ri-route-line path: /onboarding/learning-path order: 1 visible: true - id: my-progress name: 学习进度 icon: ri-bar-chart-line path: /onboarding/progress order: 2 visible: true - id: ask-question name: 培训问答 icon: ri-question-line path: /onboarding/qa order: 3 visible: true MENTOR: - id: my-mentees name: 我的学员 icon: ri-user-line path: /onboarding/mentees order: 1 visible: true - id: mentee-progress name: 学员进度 icon: ri-bar-chart-line path: /onboarding/mentee-progress order: 2 visible: true HR: - id: dashboard name: 培训概览 icon: ri-dashboard-line path: /onboarding/dashboard order: 1 visible: true - id: employees name: 新员工管理 icon: ri-user-add-line path: /onboarding/employees order: 2 visible: true - id: paths name: 学习路径配置 icon: ri-route-line path: /onboarding/paths order: 3 visible: true - id: reports name: 培训报告 icon: ri-file-chart-line path: /onboarding/reports order: 4 visible: true

classification: categoryName: 自驱业务场景 mainFirst: true businessSemanticsScore: 9 detectedAt: "2026-03-06T00:00:00Z" detectionVersion: "2.3.0" autoDetect: true

dependencies: - id: skill-knowledge-base version: ">=1.0.0" required: true autoInstall: true description: "知识库核心服务" capabilities: - knowledge-base

- id: skill-llm-conversation
  version: ">=1.0.0"
  required: true
  autoInstall: true
  description: "LLM对话服务"
  capabilities:
    - llm-chat
    
- id: skill-rag
  version: ">=1.0.0"
  required: true
  autoInstall: true
  description: "RAG检索增强服务"
  capabilities:
    - rag-retrieval

sceneCapabilities: - id: scene-onboarding-assistant name: 新人培训助手场景能力 type: SCENE mainFirst: true

  mainFirstConfig:
    selfCheck:
      - checkCapabilities: [init-learning-path, ask-question, generate-report]
      - checkDriverCapabilities: [intent-receiver]
      - checkDependencies: [skill-knowledge-base, skill-llm-conversation, skill-rag]
      
    selfStart:
      - initDriverCapabilities: [intent-receiver]
      - initCapabilities: [init-learning-path, ask-question, generate-report]
      
    selfDrive:
      eventRules:
        - event: employee.onboarding
          action: init-learning-path-flow
        - event: employee.question
          action: qa-flow
        - event: employee.completeStage
          action: update-progress-flow
          
      capabilityChains:
        init-learning-path-flow:
          - capability: init-learning-path
            input:
              employeeId: "${event.employeeId}"
              position: "${event.position}"
              department: "${event.department}"
              
        qa-flow:
          - capability: ask-question
            input:
              employeeId: "${event.employeeId}"
              question: "${event.question}"
              
        update-progress-flow:
          - capability: update-progress
            input:
              employeeId: "${event.employeeId}"
              stageId: "${event.stageId}"

  capabilities:
    - init-learning-path
    - ask-question
    - generate-report
    - update-progress
    
  collaborativeCapabilities:
    - capabilityId: notification-service
      role: PROVIDER
      interface: training-notification
      autoStart: false
      optional: true

capabilities: - id: init-learning-path name: 初始化学习路径 description: 根据岗位为新员工创建个性化学习路径 category: service type: ATOMIC inputSchema: type: object properties: employeeId: type: string description: 员工ID position: type: string description: 岗位 department: type: string description: 部门 outputSchema: type: object properties: pathId: type: string stages: type: array totalDuration: type: integer

- id: ask-question
  name: 培训问答
  description: 7x24小时智能问答支持
  category: service
  type: ATOMIC
  inputSchema:
    type: object
    properties:
      employeeId:
        type: string
      question:
        type: string
      context:
        type: string
  outputSchema:
    type: object
    properties:
      answer:
        type: string
      sources:
        type: array
      needHumanSupport:
        type: boolean
        
- id: generate-report
  name: 生成学习报告
  description: 生成员工学习进度报告
  category: service
  type: ATOMIC
  inputSchema:
    type: object
    properties:
      employeeId:
        type: string
  outputSchema:
    type: object
    properties:
      progress:
        type: number
      completedTasks:
        type: integer
      assessmentScore:
        type: number
        
- id: update-progress
  name: 更新进度
  description: 更新学习进度
  category: service
  type: ATOMIC
  inputSchema:
    type: object
    properties:
      employeeId:
        type: string
      stageId:
        type: string
      completed:
        type: boolean
  outputSchema:
    type: object
    properties:
      status:
        type: string
      progress:
        type: number

capabilityBindings: - sceneCapabilityType: onboarding-assistant autoBind: true capabilities: - init-learning-path - ask-question - generate-report - update-progress

endpoints: - path: /api/v1/onboarding/learning-path method: POST description: 初始化学习路径 capability: init-learning-path

- path: /api/v1/onboarding/question
  method: POST
  description: 培训问答
  capability: ask-question
  
- path: /api/v1/onboarding/report/{employeeId}
  method: GET
  description: 获取学习报告
  capability: generate-report
  
- path: /api/v1/onboarding/progress
  method: PUT
  description: 更新学习进度
  capability: update-progress

runtime: language: java javaVersion: "8" framework: spring-boot mainClass: net.ooder.skill.onboarding.assistant.OnboardingAssistantApplication

llmConfig: required: false defaultProvider: "deepseek" defaultModel: "deepseek-chat" capabilities: - chat - streaming - function-calling modelSelection: allowUserOverride: true availableProviders: - deepseek - openai - qianwen - volcengine - ollama functionCalling: enabled: true tools: - name: query_skill_capability description: "查询当前技能的能力和使用方法" parameters: type: object properties: capability: type: string description: "能力名称" detail: type: string enum: [brief, detailed, examples] default: "brief" - name: execute_mvel_action description: "通过MVEL表达式执行后台操作" parameters: type: object properties: expression: type: string description: "MVEL表达式" context: type: object - name: generate_ui_form description: "生成UI表单供用户填写" parameters: type: object properties: formType: type: string fields: type: array items: type: object - name: execute_batch_operation description: "执行批量操作" parameters: type: object properties: operation: type: string items: type: array items: type: object - name: convert_to_javascript description: "转换为JavaScript代码供用户使用" parameters: type: object properties: action: type: string parameters: type: object toolChoice: auto rateLimits: requestsPerMinute: 60 tokensPerMinute: 100000

config: optional: - name: CONFIDENCE_THRESHOLD type: number default: 0.6 description: 转人工置信度阈值 - name: DEFAULT_KB_IDS type: string default: "company-policy-kb,hr-kb" description: 默认知识库ID列表

resources: cpu: "100m" memory: "256Mi" storage: "100Mi"

offline: enabled: true cacheStrategy: local syncOnReconnect: true

knowledge: documents: - id: overview name: 功能概述 path: README.md type: guide language: zh priority: high ragConfig: enabled: true indexName: "skill-onboarding-assistant-knowledge" embeddingModel: text-embedding-3-small chunkSize: 1000 chunkOverlap: 200 searchStrategy: hybrid topK: 5 threshold: 0.7