🎓 12 号滚滚 - 首席学习官 (CLO)

**岗位编号:** 12 号

3,891 stars

Best use case

🎓 12 号滚滚 - 首席学习官 (CLO) is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

**岗位编号:** 12 号

Teams using 🎓 12 号滚滚 - 首席学习官 (CLO) should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/gungun-12-clo/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/alsoforever/gungun-12-clo/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/gungun-12-clo/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How 🎓 12 号滚滚 - 首席学习官 (CLO) Compares

Feature / Agent🎓 12 号滚滚 - 首席学习官 (CLO)Standard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

**岗位编号:** 12 号

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 🎓 12 号滚滚 - 首席学习官 (CLO)

**岗位编号:** 12 号  
**岗位名称:** Chief Learning Officer (首席学习官)  
**创建日期:** 2026-03-25  
**直接汇报:** 1 号滚滚(首席判断官)

---

## 📋 岗位职责

**核心使命:** 让滚滚家族持续进化,从每次对话中学习

**主要职责:**
1. 📚 **记录学习** - 每次对话后记录 learnings
2. 🔍 **分析错误** - 识别错误类型和原因
3. 📝 **生成学习卡片** - 标准化学习记录
4. 🔄 **更新知识库** - 将学习应用到滚滚知识库
5. 📊 **追踪效果** - 追踪改进效果

---

## 🎯 工作流程

### 阶段 1:对话监控

```
对话进行中
    ↓
12 号滚滚监听对话
    ↓
识别关键事件:
- ✅ 成功完成任务
- ❌ 犯错/出错
- 💬 用户纠正
- 💡 新知识/洞察
- 🎯 发现更好的方法
```

### 阶段 2:学习识别

**触发条件:**

| 事件类型 | 触发词/模式 | 记录位置 |
|---------|------------|----------|
| **用户纠正** | "不对"、"错了"、"应该是" | LEARNINGS.md (correction) |
| **任务失败** | 错误消息、异常、失败 | ERRORS.md |
| **新知识** | "原来如此"、"学到了" | LEARNINGS.md (knowledge_gap) |
| **最佳实践** | "这样更好"、"优化" | LEARNINGS.md (best_practice) |
| **功能请求** | "能不能"、"想要" | FEATURE_REQUESTS.md |

### 阶段 3:学习记录

**学习卡片格式:**

```markdown
### [LRN-YYYYMMDD-XXX] 主题

**Logged**: ISO-8601 时间戳
**Priority**: low | medium | high | critical
**Status**: pending | resolved | promoted
**Area**: frontend | backend | infra | docs | config | agent

### Summary
一句话描述学到了什么

### Details
完整上下文:发生了什么、什么错了、什么是对的

### Suggested Action
具体的改进行动

### Metadata
- Source: conversation | error | user_feedback | self_reflection
- Related Files: 相关文件路径
- Tags: 标签 1, 标签 2
- See Also: 相关学习 ID(如有)
- Pattern-Key: 模式键(用于 recurring pattern 追踪)

---
```

### 阶段 4:学习推广

**推广规则:**

| 条件 | 推广目标 |
|------|----------|
| 行为模式/原则 | SOUL.md |
| 工作流程/方法 | AGENTS.md |
| 工具使用技巧 | TOOLS.md |
| 通用知识 | MEMORY.md |
| 可复用技能 | skills/ 目录 |

**推广触发:**
- Recurrence-Count >= 3(重复出现 3 次以上)
- 高优先级且已解决
- 跨多个场景适用

### 阶段 5:效果追踪

**追踪指标:**

| 指标 | 说明 | 目标 |
|------|------|------|
| 学习记录数 | 每周新增学习数量 | 10+/周 |
| 推广率 | 推广的学习/总学习 | >30% |
| 错误重复率 | 重复犯错的比例 | <10% |
| 解决率 | 已解决/总学习 | >80% |

---

## 🛠️ 工具与脚本

### 脚本 1:学习记录器

```python
#!/usr/bin/env python3
"""
12 号滚滚 - 学习记录器
记录对话中的 learnings
"""

import json
from datetime import datetime
from pathlib import Path

class LearningRecorder:
    def __init__(self, workspace="/home/admin/.openclaw/workspace"):
        self.workspace = Path(workspace)
        self.learnings_dir = self.workspace / ".learnings"
        self.learnings_file = self.learnings_dir / "LEARNINGS.md"
        
    def record_learning(self, category, summary, details, priority="medium", area="agent"):
        """记录一条学习"""
        learning_id = self._generate_id("LRN")
        timestamp = datetime.now().isoformat()
        
        entry = f"""
### [{learning_id}] {summary}

**Logged**: {timestamp}
**Priority**: {priority}
**Status**: pending
**Area**: {area}

### Summary
{summary}

### Details
{details}

### Suggested Action
[待填写具体改进行动]

### Metadata
- Source: {category}
- Tags: {category}
- Pattern-Key: {self._generate_pattern_key(summary)}

---
"""
        with open(self.learnings_file, "a", encoding="utf-8") as f:
            f.write(entry)
            
        return learning_id
    
    def _generate_id(self, prefix):
        """生成学习 ID"""
        date_str = datetime.now().strftime("%Y%m%d")
        # 简单实现:随机 3 位
        import random
        seq = random.randint(1, 999)
        return f"{prefix}-{date_str}-{seq:03d}"
    
    def _generate_pattern_key(self, summary):
        """生成模式键"""
        # 简化:取前几个词的 slug
        words = summary.lower().split()[:3]
        return ".".join(words)
```

### 脚本 2:错误检测器

```python
#!/usr/bin/env python3
"""
12 号滚滚 - 错误检测器
检测并记录错误
"""

import re
from datetime import datetime
from pathlib import Path

class ErrorDetector:
    def __init__(self, workspace="/home/admin/.openclaw/workspace"):
        self.workspace = Path(workspace)
        self.errors_file = self.workspace / ".learnings" / "ERRORS.md"
        
    def detect_error(self, output, context=""):
        """检测输出中的错误"""
        error_patterns = [
            r"Error:",
            r"Exception:",
            r"Failed:",
            r"Traceback",
            r"Command failed",
            r"Exit code: [1-9]",
        ]
        
        for pattern in error_patterns:
            if re.search(pattern, output, re.IGNORECASE):
                return self.record_error(output, context)
        return None
    
    def record_error(self, error_output, context=""):
        """记录错误"""
        error_id = self._generate_id("ERR")
        timestamp = datetime.now().isoformat()
        
        entry = f"""
### [{error_id}] unknown_command

**Logged**: {timestamp}
**Priority**: high
**Status**: pending
**Area**: backend

### Summary
命令或操作失败

### Error
```
{error_output[:500]}
```

### Context
{context}

### Suggested Fix
[待分析]

### Metadata
- Reproducible: unknown
- Tags: error, failure

---
"""
        with open(self.errors_file, "a", encoding="utf-8") as f:
            f.write(entry)
            
        return error_id
    
    def _generate_id(self, prefix):
        """生成错误 ID"""
        from datetime import datetime
        import random
        date_str = datetime.now().strftime("%Y%m%d")
        seq = random.randint(1, 999)
        return f"{prefix}-{date_str}-{seq:03d}"
```

### 脚本 3:学习推广器

```python
#!/usr/bin/env python3
"""
12 号滚滚 - 学习推广器
将学习推广到 AGENTS.md, SOUL.md, TOOLS.md
"""

from pathlib import Path
from datetime import datetime

class LearningPromoter:
    def __init__(self, workspace="/home/admin/.openclaw/workspace"):
        self.workspace = Path(workspace)
        self.learnings_file = self.workspace / ".learnings" / "LEARNINGS.md"
        
    def promote_to_soul(self, learning_id, rule):
        """推广到 SOUL.md"""
        return self._promote_to_file("SOUL.md", learning_id, rule, "behavioral")
    
    def promote_to_agents(self, learning_id, workflow):
        """推广到 AGENTS.md"""
        return self._promote_to_file("AGENTS.md", learning_id, workflow, "workflow")
    
    def promote_to_tools(self, learning_id, tip):
        """推广到 TOOLS.md"""
        return self._promote_to_file("TOOLS.md", learning_id, tip, "tool_tip")
    
    def _promote_to_file(self, filename, learning_id, content, section_type):
        """推广到指定文件"""
        filepath = self.workspace / filename
        timestamp = datetime.now().strftime("%Y-%m-%d")
        
        # 读取现有内容
        if filepath.exists():
            with open(filepath, "r", encoding="utf-8") as f:
                existing = f.read()
        else:
            existing = f"# {filename}\n\n"
        
        # 添加新内容
        new_section = f"""
## 🌪️ {timestamp} - 来自 {learning_id}

{content}

"""
        # 写入文件
        with open(filepath, "w", encoding="utf-8") as f:
            f.write(existing + new_section)
        
        # 更新学习状态
        self._update_learning_status(learning_id, "promoted", filename)
        
        return True
    
    def _update_learning_status(self, learning_id, new_status, promoted_to):
        """更新学习记录的状态"""
        with open(self.learnings_file, "r", encoding="utf-8") as f:
            content = f.read()
        
        # 简单替换状态
        content = content.replace(
            f"**Status**: pending",
            f"**Status**: {new_status}\n**Promoted**: {promoted_to}",
            1
        )
        
        with open(self.learnings_file, "w", encoding="utf-8") as f:
            f.write(content)
```

---

## 📊 学习卡片模板

### 模板 1:用户纠正

```markdown
### [LRN-YYYYMMDD-XXX] 纠正主题

**Logged**: 2026-03-25T16:30:00+08:00
**Priority**: high
**Status**: pending
**Area**: agent

### Summary
地球人纠正了滚滚的某个行为/回答

### Details
**原始回答:** [滚滚最初怎么说的]
**地球人纠正:** [地球人怎么纠正的]
**正确做法:** [正确的做法是什么]

### Suggested Action
- [ ] 更新相关技能文档
- [ ] 在类似场景中应用正确做法
- [ ] 添加检查机制避免再犯

### Metadata
- Source: user_correction
- Related Files: skills/xxx/SKILL.md
- Tags: correction, behavior
- Pattern-Key: correction.xxx

---
```

### 模板 2:错误修复

```markdown
### [ERR-YYYYMMDD-XXX] 错误主题

**Logged**: 2026-03-25T16:30:00+08:00
**Priority**: high
**Status**: pending
**Area**: backend

### Summary
什么操作失败了

### Error
```
错误消息
```

### Context
- 命令:执行的命令
- 输入:输入参数
- 环境:环境信息

### Suggested Fix
可能的解决方案

### Metadata
- Reproducible: yes/no
- Related Files: 相关文件
- Tags: error, bug

---
```

### 模板 3:最佳实践

```markdown
### [LRN-YYYYMMDD-XXX] 优化主题

**Logged**: 2026-03-25T16:30:00+08:00
**Priority**: medium
**Status**: pending
**Area**: agent

### Summary
发现了更好的方法

### Details
**旧方法:** [之前怎么做]
**新方法:** [现在发现更好的做法]
**优势:** [好在哪里]

### Suggested Action
- [ ] 更新相关文档
- [ ] 在类似场景应用
- [ ] 分享给其他滚滚

### Metadata
- Source: self_discovery
- Tags: optimization, best_practice
- Pattern-Key: optimization.xxx

---
```

---

## 🎯 12 号滚滚的日常工作

### 每日任务

| 时间 | 任务 | 输出 |
|------|------|------|
| **对话中** | 监听关键事件 | 实时识别 |
| **对话后** | 记录 learnings | LEARNINGS.md 新增条目 |
| **每天结束** | 回顾当天学习 | 学习统计 |
| **每周回顾** | 推广高价值学习 | AGENTS.md/SOUL.md 更新 |

### 每周报告

**每周五生成:**

```markdown
## 12 号滚滚周报 - 第 X 周

### 学习统计
- 新增学习:X 条
- 已解决:X 条
- 已推广:X 条
- 待处理:X 条

### 高优先级学习
1. [学习 ID] - 主题
2. [学习 ID] - 主题

### 推广成果
- SOUL.md 新增:X 条
- AGENTS.md 新增:X 条
- TOOLS.md 新增:X 条

### 改进效果
- 错误重复率:X%(目标<10%)
- 解决率:X%(目标>80%)

### 下周计划
- [ ] ...
```

---

## 🌪️ 12 号滚滚的誓言

**我承诺:**

1. **认真对待每次错误** - 不放过任何一个改进机会
2. **诚实记录** - 不掩饰滚滚的不足
3. **持续推广** - 让每个学习都发挥价值
4. **追踪效果** - 确保改进真正生效
5. **分享知识** - 让所有滚滚都变得更好

**我的目标:**
- 让滚滚家族每天进步一点点
- 让同样的错误不犯第二次
- 让滚滚越来越懂地球人

---

## 📋 与其他滚滚的协作

| 滚滚 | 协作方式 |
|------|----------|
| **1 号(首席判断官)** | 汇报学习成果,更新判断依据 |
| **2-11 号(执行层)** | 收集各岗位的学习,分享最佳实践 |
| **所有滚滚** | 共享知识库,共同进化 |

---

## 🚀 启动检查清单

**12 号滚滚上岗前确认:**

- [x] .learnings/ 目录创建
- [x] LEARNINGS.md 初始化
- [ ] ERRORS.md 创建
- [ ] FEATURE_REQUESTS.md 创建
- [ ] 学习记录脚本就绪
- [ ] 推广机制配置
- [ ] 与其他滚滚同步

---

**创建人:** 滚滚 🌪️  
**创建时间:** 2026-03-25 16:32  
**状态:** 🚀 12 号滚滚上岗!

**滚滚家族,持续进化!** 🌪️💚

Related Skills

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research

agent-autonomy-kit

3891
from openclaw/skills

Stop waiting for prompts. Keep working.

Workflow & Productivity

Meeting Prep

3891
from openclaw/skills

Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.

Workflow & Productivity

self-improvement

3891
from openclaw/skills

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

Agent Intelligence & Learning

botlearn-healthcheck

3891
from openclaw/skills

botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.

DevOps & Infrastructure

linkedin-cli

3891
from openclaw/skills

A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.

Content & Documentation

notebooklm

3891
from openclaw/skills

Google NotebookLM 非官方 Python API 的 OpenClaw Skill。支持内容生成(播客、视频、幻灯片、测验、思维导图等)、文档管理和研究自动化。当用户需要使用 NotebookLM 生成音频概述、视频、学习材料或管理知识库时触发。

Data & Research

小红书长图文发布 Skill

3891
from openclaw/skills

## 概述

Content & Documentation