<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Skill on 老张开工了</title>
    <link>/skill/</link>
    <description>Recent content in Skill on 老张开工了</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sun, 19 Jul 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="/skill/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>实战一：构建一个 Docs Skill</title>
      <link>/posts/2026/07/practice-docs-skill/</link>
      <pubDate>Sun, 19 Jul 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/07/practice-docs-skill/</guid>
      <description>进入实战篇。第一个练习是写一个让你团队所有项目共享的 docs-update Skill——专治&amp;quot;AI 帮我改完代码但文档没同步&amp;quot;。一个实战把第 20-24 章 Skill 五篇理论全部跑一遍。&#xA;25.1 任务定义 场景：AI 改了代码 → 你 review 通过 → 但 docs 没动 → 几天后用户文档跟现实不符。&#xA;目标 Skill：在每次代码改动 review 完成后，主动让 Agent 检查、必要时改 docs：&#xA;触发：commit / PR 阶段 不要触发：debug session、解释性问题 DONE：所有公开 API、命令行参数、配置文件均与现有 docs 一致 / 已提出 docs 改动建议 失败模式：找不到 docs/、docs 在另一个 repo、docs 仅图片形式 25.2 写 SKILL.md .opencode/skills/docs-update/SKILL.md：&#xA;--- name: docs-update version: 0.1.0 description: | After code changes are staged or committed, check whether the related docs are still accurate.</description>
    </item>
    <item>
      <title>Skill 库管理：团队协作与分发</title>
      <link>/posts/2026/07/skill-library/</link>
      <pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/07/skill-library/</guid>
      <description>你学会了写 Skill、测 Skill——但单兵作战的能量到此为止。Skill 的真正威力是5 人 / 50 人 / 500 人用同一份。本章讲怎么从单 skill → 团队 skill library → 跨团队 plugin 分发。&#xA;24.1 三类 Skill 库形式 ─────┬────────────────────┬───────────────────────────────────── 形式 │ 适用 │ 实现 ─────┼────────────────────┼───────────────────────────────────── monorepo │ 中小团队 │ 一个 git repo 包含所有 skill multi-repo │ 多部门 / 多产品线 │ 一个 skill 一个 repo, plugin manager 安装 hub+spoke │ 公司级 │ 内网 hub central, 各 repo 上传/同步 ─────┴────────────────────┴───────────────────────────────────── 24.2 Skill Monorepo: 适合起步 每个 skill 是一个文件夹，整个 repo 是 .</description>
    </item>
    <item>
      <title>Skill 测试与演化</title>
      <link>/posts/2026/07/skill-testing/</link>
      <pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/07/skill-testing/</guid>
      <description>Skill 写完不等于&amp;quot;做完&amp;quot;——它跟代码一样会被模型版本变化、用户工作流变化、新 harness 行为变化折腾。本章把 Skill 当成 software：有 unit test、有 regression、有 changelog，让它在 6 个月后还能用。&#xA;23.1 为什么 Skill 也需要测试 不要等你某天打开 OpenCode 发现某个 Skill 触发率从 70% 跌到 5%——Skill 的&amp;quot;准确度&amp;quot;会随模型版本而漂移，prompt 中某词语的 token 化变了，召回就崩。可追踪、可回归是关键。&#xA;23.2 三类测试 类型 名称 测试对象 1 Trigger test &amp;ldquo;在 X 输入下会被召回吗&amp;rdquo; 2 Behavior test &amp;ldquo;被召回后遵循 Skill 内的 flow 吗&amp;rdquo; 3 Regression test &amp;ldquo;上次行为跑得 OK，这次没变吗&amp;rdquo; 23.3 Trigger test：写 probe 集 Create tests/probes.toml：&#xA;[[probe]] text = &amp;#34;给 lib/validators.py 加一个 is_alpha 函数&amp;#34; expect = &amp;#34;engaged&amp;#34; [[probe]] text = &amp;#34;为什么 Python 不需要类型?</description>
    </item>
    <item>
      <title>编写你的第一个 Skill</title>
      <link>/posts/2026/07/first-skill/</link>
      <pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/07/first-skill/</guid>
      <description>理论 21 篇讲完了，本章从零写一个真实 Skill，让你看一遍从想法 → 写 SKILL.md → references 拆解 → 测试 → 装入 OpenCode → 上调用的全过程。我们要写的 Skill 叫 tdd-reminder：让主 Agent 在写新代码前先提示用户走 TDD。&#xA;22.1 Skill 想法从哪里来 三步法挖掘想法：&#xA;找你过去 7 天的 OpenCode session log&#xA;grep 模式 &amp;ldquo;你忘了 / 你没做 / 应该先&amp;rdquo;&#xA;rg &amp;#34;忘了\|应该\|未做\|先\|要是之前&amp;#34; .opencode/log/ | head -20 凡是出现 3 次以上的模式，就是候选 Skill&#xA;我自己日志里有一条：&amp;ldquo;每次写完 Python 函数才发现没写测试，又往回加 test_test_xxx，凑合跑&amp;rdquo;——这就是 tdd-reminder 要解决的：让 Agent 在写实现代码前主动说一句&amp;quot;咱们先写 test 行吗&amp;quot;。&#xA;22.2 拆解 Skill 行为需求 维度 spec Trigger 主 Agent 即将写 Python / TS / Go / Rust 代码,且函数 / class 存在 不要触发 1）用户问解释性问题 2）改一行小 bug 3）已有现成测试 行为 提醒想先写 unit test；提供一次 brainstorm 机会,而非强制 DONE 用户明确说 &amp;ldquo;不用 test&amp;rdquo; 或 用户已提供 test 或 单元 test 跑通 失败模式 1）用户说&amp;quot;快点别叨叨&amp;quot; → 跳过加 [tdd-reminder skipped] 自报\n2）该语言无 pytest 等价物 → 改用最简化 shell test 22.</description>
    </item>
    <item>
      <title>Skill 设计原则</title>
      <link>/posts/2026/07/skill-design/</link>
      <pubDate>Sat, 11 Jul 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/07/skill-design/</guid>
      <description>Skill 不是一个 prompt 模板，这两件事看着一样、实则差别巨大。模板只描述&amp;quot;这样说话&amp;quot;；Skill 描述&amp;quot;在某个场景下，我承诺我会有什么行为&amp;quot;。差别让它从一次性 evolves 成可被信任的复用单元。本章拆出 7 条设计原则。&#xA;21.1 原则 1：Trigger 必须可机器判别 Skill 写得再好，靠&amp;quot;模型自己看着办&amp;quot; 何时启用，迟早翻车。&#xA;# ❌ 模糊 Trigger: 用户在创造性工作时启用 # ✅ 显式 Trigger: - starts_with_any: [&amp;#34;我要加&amp;#34;, &amp;#34;我需要实现&amp;#34;, &amp;#34;开一个新&amp;#34;, &amp;#34;新增功能&amp;#34;] - or_intent: [create_feature, modify_behavior, add_capability] - not_when: [reading, explaining, debugging] 判别三种实现量化（参考 superpowers 的 trigger 语法）：&#xA;关键字模糊匹配：含 &amp;ldquo;实现&amp;rdquo; / &amp;ldquo;重构&amp;rdquo; / &amp;ldquo;新增&amp;rdquo; 意图分类：模型先做一次轻量分类决定 intent 元 hook：harness 在 before_user_msg / before_response 等时机注入 OpenCode 偏重 1+3 组合：BM25 关键字加权 + 用户显式 slash command。</description>
    </item>
    <item>
      <title>Skill 概念与生态</title>
      <link>/posts/2026/07/skill-concept/</link>
      <pubDate>Thu, 09 Jul 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/07/skill-concept/</guid>
      <description>前 19 章学的 ReAct、loop、Graph、MCP——这些都是&amp;quot;通用基础设施&amp;quot;。但你自己干一段时间活后，会沉淀出只对你 / 你团队有意义的经验：commit 写法、code review 风格、部署节奏、文档模板。Skill 就是把这些沉淀变成&amp;quot;可加载单元&amp;quot;。这一篇把 Skill 是什么、不同 harness 的差异、生态发展讲透。&#xA;20.1 什么是 Skill Skill = 一个文件夹，里面有 SKILL.md 和可能的 references，可被 harness 自动加载，达到&amp;quot;在某场景出现时就调度某种行为&amp;quot;的效果。&#xA;my-skill/ ├── SKILL.md ← 主体: trigger + 描述 + 流程 └── references/ ← 可选 references ├── patterns.md └── antipatterns.md 更精确地说，Skill 包含三要素：&#xA;要素 作用 例 Trigger 在什么场景被激活 before_any_response / 用户说&amp;quot;review&amp;quot; Content 一个 SKILL.md 系统提示,讲解该怎么干 &amp;ldquo;评审一定要看 diff 不要看好译码&amp;rdquo; References 给主 Agent 按需打开的子文件 &amp;ldquo;patterns.md / anti-cases.md&amp;rdquo; Skill 不是 plugin——它不一定要带可执行代码。SKILL.</description>
    </item>
    <item>
      <title>AI 开发从入门到精通</title>
      <link>/posts/2026/06/ai-course/</link>
      <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/06/ai-course/</guid>
      <description>2026 年是开发者的&amp;quot;AI 元年&amp;quot;。Copilot、Cursor、Claude Code、Codex、OpenCode 这些工具，已经把&amp;quot;写代码&amp;quot;这件事从一项孤军奋战的手工活，变成了一场人机协作的对话游戏。从单文件补全到多 Agent 编排，从 prompt 工程到 MCP 协议，从 vibe coding 到 skill 沉淀——AI 开发不再是一个噱头，它是新一代工程师必须掌握的基础能力。&#xA;本系列从零基础出发，系统拆解 AI 开发的完整知识图谱：&#xA;底层认知：大语言模型如何工作，能力与边界在哪里，上下文窗口与 token 是什么 协作心法：Prompt 工程与上下文工程，Vibe Coding 的理念与节奏 自动化体系：Agent / Loop / Graph / Harness / Subagent 五个关键概念如何串成自治开发流水线 能力扩展：MCP 协议如何让模型连接世界，Skill 如何把一次性经验沉淀为可复用的能力包 实战淬炼：6 个由浅入深的实战案例，从重构遗留项目到搭建多 Agent 工作流，从开发 MCP server 到发布 Skill 库 无论你之前是完全没接触过 AI 工具的程序员，还是已经写了半年 Copilot 想迈向更高阶用法的开发者，都能在这个系列中找到清晰的进阶路线。&#xA;课程大纲 第一篇 · 基础认知篇 AI 开发时代导论：从工具到伙伴 大语言模型原理与实践 Prompt 工程入门：与 LLM 有效沟通 上下文工程：RAG 与长上下文 主流 AI 编程工具全景 Vibe Coding 理念与心法 安全与责任：AI 编程的边界 开发环境搭建：从 IDE 到 Agent CLI 第二篇 · Agent 与自治篇 Agent 概念：从助手到自治 Loop 机制：自循环任务执行 Graph 工作流：多节点编排 Harness 框架：OpenCode 与 superpowers 任务委派：Subagent 与并行执行 Agent 调试与可观测性 第三篇 · MCP 篇 MCP 协议详解 常用 MCP server 实践 MCP server 开发实战 进阶 MCP：传输、资源、提示 MCP 生态与未来 第四篇 · Skill 篇 Skill 概念：能力封装的艺术 Skill 设计原则与最佳实践 编写第一个 Skill Skill 测试与迭代 Skill 库管理与发布 第五篇 · 实战篇 实战一：用 AI 重构遗留项目 实战二：构建知识库 MCP server 实战三：开发团队 Skill 库 实战四：搭建多 Agent 协作系统 实战五：AI 测试与 CI 集成 终章：AI 开发者的成长路径 本系列文章以 2026 年中期的主流工具栈 为基准：Claude Code / Codex / OpenCode / Cursor / GitHub Copilot 等。AI 工具迭代极快，本文中的具体产品界面、命令行参数可能随版本演进——以&amp;quot;原理 + 心法&amp;quot;为主线，把&amp;quot;工具 + 命令&amp;quot;当作示例。</description>
    </item>
  </channel>
</rss>
