【AI编程】17万星标技能库完整教程 · 端到端AI编码工作
共 2 集
剧集目录
| 集 | 标题 | 时长 |
|---|---|---|
| P1 | 【AI编程】17万星标技能库完整教程 · 端到端AI编码工作 | 17:17 |
| P2 | 【AI编程】17万星标技能库完整教程 · 端到端AI编码工作 | 17:17 |
P1 · 【AI编程】17万星标技能库完整教程 · 端到端AI编码工作流 p01 中英字幕 (P1)
字幕摘录
| 时间 | 英文 | 中文 |
|---|---|---|
| 0:00 | Hello friends, it occurs to me that I've never actually put together a proper tutorial for | 朋友们,我突然想到 我从来没有真正为 |
| 0:05 | my skills repo. | 我的技能还原。 |
| 0:06 | By the time I'm recording, this repo is up to 162,000 stars. | 到了我录制时,这颗Repo高达16.2万颗恒星. |
| 0:09 | We have 7.5 million downloads and I've never made a tutorial for it. | 我们有750万次下载 我从来没有做过一个教程。 |
| 0:14 | I get questions all the time like what is the sequence I should use these skills in? | 我总是问问题 比如我该用这些技能做什么? |
| 0:17 | How should I install them? | 我该怎么安装? |
| 0:18 | How should I set them up? | 我该怎么设置? |
| 0:19 | So this video is going to be a walkthrough of the main flow you use when you're using | 所以这段视频将会是 你使用的主要流 |
| 0:24 | these skills. | 这些技能。 |
| 0:25 | We're not going to look at the advanced stuff. | 我们不会看先进的东西。 |
展开字幕全文(391 条)
| 序号 | 英文 | 中文 |
|---|---|---|
| 1 | Hello friends, it occurs to me that I've never actually put together a proper tutorial for | 朋友们,我突然想到 我从来没有真正为 |
| 2 | my skills repo. | 我的技能还原。 |
| 3 | By the time I'm recording, this repo is up to 162,000 stars. | 到了我录制时,这颗Repo高达16.2万颗恒星. |
| 4 | We have 7.5 million downloads and I've never made a tutorial for it. | 我们有750万次下载 我从来没有做过一个教程。 |
| 5 | I get questions all the time like what is the sequence I should use these skills in? | 我总是问问题 比如我该用这些技能做什么? |
| 6 | How should I install them? | 我该怎么安装? |
| 7 | How should I set them up? | 我该怎么设置? |
| 8 | So this video is going to be a walkthrough of the main flow you use when you're using | 所以这段视频将会是 你使用的主要流 |
| 9 | these skills. | 这些技能。 |
| 10 | We're not going to look at the advanced stuff. | 我们不会看先进的东西。 |
| 11 | We're not going to look at the new stuff really. | 我们不会看这些新东西的 |
| 12 | We're just going to focus on the main flow, the stuff you need to get started. | 我们只是把精力集中在主流上 你需要开始的东西上 |
| 13 | To walk you through this, I'm going to be using one of my work repos, which is the AIHeroCLI. | 为了让你通过这个,我要用我的一个作品, 即AIHEROCLI。 |
| 14 | This is the command line interface that drives a lot of my exercises that I use on my courses. | 这是命令线接口 驱动我的许多练习 我使用在我的课程。 |
| 15 | I've never actually set up my skills to work with this repo, so now is a great chance. | 我从来没有真正建立我的技巧 与这个repo工作, 所以现在是一个伟大的机会。 |
| 16 | If you want to set up my skills on a brand new project, you just do this, except you | 如果你想在全新的项目上建立我的能力 你就这么做 除了你 |
| 17 | do it in an empty directory. | 在空目录中执行 。 |
| 18 | So it works the same whether you're using a brownfield code base or a greenfield code | 所以不管你使用棕田密码还是绿地密码 都一样 |
| 19 | base. | 基础。 |
| 20 | I'm going to open up the command line interface here, and I'm going to type npx skills at | 我要在这里打开命令行接口 输入npx技能 |
| 21 | latest add matpococ forward slash skills. | 最新添加 matpococ 前锋斜线技能。 |
| 22 | This assumes a couple of things. | 这假设了几件事 |
| 23 | It assumes that you've got Node.js installed. | 它假设你安装了节点Js. |
| 24 | 这个npx来自Node.js,它从Vercel运行技能.sh命令行安装器. | |
| 25 | 这基本上就是它安装了一种叫做 matpococ 技能的 GitHub Repo, | |
| 26 | and it can walk through a few setup questions here. | 它可以在这里通过一些设置问题。 |
| 27 | It first says it needs to install the following packages. | 它首先说它需要安装以下软件包. |
| 28 | Yes, that seems fine to me. | 是的,这对我来说似乎很好。 |
| 29 | And then it did a couple of things, and we now have a long list of all the skills that | 然后,它做了一些事情, 我们现在有一个长列表 所有的技能, |
| 30 | we could install. | 我们可以安装。 |
| 31 | It found 38 skills here, which is a lot. | 它在这里发现了38种技能,这是很多。 |
| 32 | And you can see if I scroll up and down, they're in two groups. | 你可以看到,如果我滚动上下, 他们分为两组。 |
| 33 | We've got the matpococ skills and then we've got other skills. | 我们有马特波科克的技巧,然后我们有其他的技巧. |
| 34 | So the matpococ skills are the ones that I have blessed as the skills that I think are | 因此,马特波科克技能是那些 我祝福的,就像我认为的技能 |
| 35 | good enough to be public facing. | 足够公开面对 |
| 36 | The other ones are ones that I'm experimenting with right now and may delete in the future. | 其他的是我正在试验的 将来可能会删除的 |
| 37 | What I recommend you do is you go to the top here and you can kind of go up and down. | 我建议你做的是,你到上面去 你可以上下走 |
| 38 | It's kind of broken, I have to say. | 有点断了,我得说 |
| 39 | And if you press space here, and you should see that if you scroll up, okay, they're now | 如果你按这里的空间, 你应该看看 如果你滚动,好吗,他们现在 |
| 40 | all selected, you press space and then you press return. | 全部选中, 请按空格, 然后按返回 。 |
| 41 | And now you've selected all of the official skills. | 现在你已经选择了所有的正式技能 |
| 42 | I'm not terribly happy with Vercel's CLI here, so I may change it in future or maybe even | 我对Vercel的CLI不甚满意,所以我以后可以改变,也许甚至 |
| 43 | just ship my own. | 只要运送我自己。 |
| 44 | But for now, that's as good as it gets. | 但是,现在,这是一样好的。 |
| 45 | One thing that is good is that it will set up your skills to work with any agent. | 有一点是好的,那就是它会安排你的技巧 与任何特工合作。 |
| 46 | So I use Claude Code, but you can go down here and sort of just select the ones that | 所以我用Claude代码 但你可以下来 选择那些 |
| 47 | you want. | 你想吗? |
| 48 | I'm using space to select. | 我在利用空间来选择 |
| 49 | I think by default, if I zoom out a touch, then it supports all of these universal ones | 我觉得默认,如果我放大一个触觉, 那么它支持所有这些通用的 |
| 50 | up here. | 在这里。 |
| 51 | So cursor, codex, client, etc. | 因此光标,代码,客户端等. |
| 52 | But anything that uses like Claude skills, such as Claude Code, then you need to set | 但任何使用克劳德的技能, 如克劳德代码, 然后你需要设置 |
| 53 | up yourself. | 自己起来。 |
| 54 | So I'm going to press return here and it should now be configured to set up my skills for | 所以我会按回这里 现在应该把它配置好 |
| 55 | Claude Code. | 克劳德代码。 |
| 56 | The installation scope defines where your skills are installed, whether they're installed | 安装范围定义了您技能的安装地点,是否安装 |
| 57 | just in the current directory or whether they're global. | 就在目前的目录中, 或者它们是否是全球性的。 |
| 58 | This will depend on what your team's conventions are. | 这取决于你们团队的大会是什么 |
| 59 | If you're working in a team, I would say that project skills are the right way to go. | 如果你在团队中工作,我会说,项目技能是正确的方法。 |
| 60 | That way, everyone is using the same skill set on every project. | 这样,每个人在每个项目上都使用同样的技能。 |
| 61 | And it means that you can contribute to the skills together and make those decisions together. | 这意味着你们可以共同贡献这些技能,共同做出这些决定。 |
| 62 | But global is fine if you're just a solo developer working on your own stuff like I am. | 但是,全球是罚款 如果你只是一个独行开发者 工作自己的东西像我一样。 |
| 63 | So I'm going to press return here, install it in my home directory, and I'm going to | 因此,我要按回这里, 安装在我的家目录,我要去 |
| 64 | as the recommended way. | 作为推荐的方式。 |
| 65 | The choice here is whether you copy it to the agents folder as well as the Claude folder. | 这里的选择是你是否把它复制到代理文件夹以及克劳德文件夹中. |
| 66 | And it's kind of not a nice way to do it. | 并有种不善法门. |
| 67 | SimLink is just the nice easy way to do it. | SimLink只是个轻松的好方法 |
| 68 | So I wouldn't even make a decision here. | 所以我甚至不会在这里做决定 |
| 69 | 只是选择SimLink。 | |
| 70 | So it now gives you a summary of all the things that you're installing here. | 所以现在它可以总结一下你在这里安装的所有东西。 |
| 71 | There seems to be an alert on socket about to spec. | 套接字上似乎有提示显示 |
| 72 | I'll take a look at that later. | 我待会再看 |
| 73 | But yes, we can proceed with installation and it's now installed all of the skills. | 但是,是的,我们可以开始安装 它现在安装了所有的技能。 |
| 74 | This means then that I can run Claude inside here or whatever your agent is. | 也就是说我可以把克劳德带进这里 不管你的经纪人是什么 |
| 75 | And I'm going to create a new so I'm just going to say hello to get out of this agent's | 我将创造一个新的, 所以我只是要打个招呼 走出这个经纪人的 |
| 76 | view here. | 看这里。 |
| 77 | Now, depending on the harness you're using, this will show up in different ways. | 现在,这取决于你使用的绳子, 它将以不同的方式出现。 |
| 78 | But on Claude code, I can press forward slash and I now see that I have a few skills available | 但根据克劳德的代码, 我可以按向前斜线, 现在我看到,我有一些技能可用 |
| 79 | to me. | 对我来说。 |
| 80 | I have grill me, grilling, wayfinder, grill with docs, et cetera, loads of stuff. | 我有烤我,烧烤,探险,烧烤 与Docs,等等,东西的负荷。 |
| 81 | Now the difference between my skills and lots of other skills repos that are out there is | 现在,我的技巧和很多其他技能的区别 在那里 |
| 82 | my skills are mostly user invoked. | 我的技巧大多是用户使用。 |
| 83 | That means that if I run context here, not many of my skills actually leech their way | 这意味着,如果我运行这里的背景, 没有多少我的技巧 实际上浸润他们的方式 |
| 84 | into the description and the descriptions I have are quite short and precise. | 在描述和描述中 我非常简短和准确。 |
| 85 | So that means that even though we've downloaded all of my skills, the skills only take up | 因此,这意味着,尽管我们下载了 我的全部技能, 技能只占用 |
| 86 | 660 tokens here. | 这里有660个纪念品 |
| 87 | So very, very light in terms of context load. | 因此,非常,非常轻的上下文负载。 |
| 88 | So OK, we got the skills. | 好了,我们掌握了技能。 |
| 89 | Now what we have to do is we have to run set up map Pococ skills and this will do a few | 现在我们必须做的是 运行地图Pococ技能 这会做一些 |
| 90 | things. | 东西。 |
| 91 | My skills rely on some configuration inside the repository. | 我的技巧依赖于寄存器内部的一些配置. |
| 92 | And this does a few things for you. | 这对你有好处 |
| 93 | The first thing is it means you need to use an issue tracker. | 首先,它意味着 你需要使用一个问题跟踪器。 |
| 94 | We're going to be saving specs, we're going to be saving tickets and we need to save them | 我们要省钱 省钱 省钱 |
| 95 | somewhere. | 某处. |
| 96 | You've got kind of an infinity of choices here. | 这里有无限的选择 |
| 97 | You can use GitHub, you can use local markdown, or you can literally use anything. | 你可以使用GitHub,也可以使用本地的标记下,或者可以字面上使用任何东西. |
| 98 | The way that the skill works is that it looks at your local configuration. | 技能的作用方式是查看您的本地配置. |
| 99 | And so you can set it up for Jira, you can set it up for Linear. | 这样你就可以为Jira设置,也可以为Linear设置. |
| 100 | And the way you do that is you just tell the agent what you want to set it up for and it | 你这样做的方式就是告诉探员你想设置什么 |
| 101 | will go and set it up for it. | 将去设置它。 |
| 102 | I just want to emphasize that people ask me all the time, how do I make my skills work | 我只是想强调,人们总是问我, 我如何使我的技能工作 |
| 103 | with Jira, work with beads, work with Linear? | 与吉拉,工作与珠,工作与线性? |
| 104 | It already does. | 它已经做了。 |
| 105 | All you need to do is just run set up map Pococ and just say set it up with Jira, except | 你需要做的只是运行 地图Pococ 并只是说设置它与吉拉, |
| 106 | I don't want to set it up with Jira. | 我不想和吉拉一起设计 |
| 107 | I'm just going to set up with local markdown, please. | 我只是要去设置 当地的马克降,请。 |
| 108 | So that's fine by me. | 所以这对我来说是很好的。 |
| 109 | The next question to answer here is about triage labels. | 这里接下来要回答的一个问题是分解标签. |
| 110 | So there are a set of labels that the skill relies on to communicate information about | 因此,有一套标签,技能依赖这些标签来传递关于 |
| 111 | the tickets that it produces. | 它生产的门票。 |
| 112 | It's not really that important here, so I'm just going to accept the defaults. | 这里并不重要 所以我要接受默认 |
| 113 | You can look at the docs on the triage skill if you want to learn more. | 如果你想多学点,你可以看看分门别类技能方面的文献。 |
| 114 | So defaults is fine. | 所以,默认是罚款。 |
| 115 | The next one is about the domain documentation. | 下一篇是关于域文档. |
| 116 | So my skills like to have a little bit of docs, a context.md file and an ADR inside | 所以,我的技巧喜欢有一点的docs,一个背景。 md 文件和内部的 ADR |
| 117 | the repo. | 重现。 |
| 118 | And it's basically asking if it's going to be a single context or a multi-context. | 它基本上是在问它是否是单一的上下文还是多文字. |
| 119 | I think single context is the way to go here. | 我认为,这里应该有单一的背景。 |
| 120 | Multi-context is if you have a big mono repo and you need lots of different bounded contexts | 多文本是,如果你有一个大的单重播,并且需要很多不同的边框 |
| 121 | within it. | 在它内部。 |
| 122 | But for 99% of people, single context is going to be fine. | 但对于99%的人来说,单一环境是会好的. |
| 123 | All right. | 好吧,我们走。 |
| 124 | So it's gone ahead and written a few things here. | 所以,它已经走了, 在这里写了一些东西。 |
| 125 | The first thing is written is inside Claude.md. | 第一件事是写在克劳德身上 |
| 126 | It's added a few links here. | 这里加入了几个链接. |
| 127 | So this is the new stuff. | 这就是新的东西。 |
| 128 | It's just linking to the issue tracker docs, linking to the triage labels and linking to | 它只是链接到问题追踪器的docs, 链接到分类标签和连接到 |
| 129 | the domain docs. | 域名文件。 |
| 130 | And each of these are at docs, agents, domain issue tracker. | 每一个都是在Docs,代理商,域问题跟踪器。 |
| 131 | So we can see here that it's going to save all of the issues and specs inside a scratch | 所以,我们可以看到,它会 节省所有的问题和细节 在刮伤 |
| 132 | file. | 文档。 |
| 133 | So with that, our setup for this repo is complete. | 有了这个,我们为这回波的设置就完成了。 |
| 134 | And so you might be thinking, how do I get started? | 所以你可能会在想 我怎么开始? |
| 135 | Well, before we get started, I'm going to show you one more really cool thing. | 好吧,在我们开始之前, 我会告诉你一个真正很酷的事情。 |
| 136 | You can, if you're following along, just stop the video now and use one skill. | 你可以,如果你跟着, 只是停止视频 现在使用一个技能。 |
| 137 | You can use the Ask Matt skill. | 你可以使用问马特的技能。 |
| 138 | This Ask Matt skill is essentially me as a skill. | 这问马特的技巧 基本上就是我的技巧。 |
| 139 | It knows everything that is needed about the skills repo and what you should do first. | 它知道所有需要的东西 关于技能回波,你应该先做什么。 |
| 140 | So we can say, ask Matt, how do I get started? | 所以,我们可以说,问马特, 我怎么开始? |
| 141 | I want to make some code changes here. | 我想在这里做一些代码修改。 |
| 142 | What is the main flow I should use? | 我该用什么干线? |
| 143 | I can now submit that and see what it says. | 我现在可以提交,看看上面写了什么。 |
| 144 | By the way, I'm using whisper flow as my transcription. | 顺便说一句,我用低语流作为我的抄本. |
| 145 | So here we go. | 我们开始吧 |
| 146 | It's saying the main flow idea to ship. | 即说主流观至船. |
| 147 | Since you have a code base, start at the top of the main flow and walk down in it in one | 既然你有一个代码基础,从主流的顶端开始,然后走进其中 |
| 148 | unbroken context window. | 未断上下文窗口。 |
| 149 | So it's very kind of really telling you how to use your sessions as well. | 所以它真的告诉你如何使用你的会议。 |
| 150 | I really believe that being conscious about the context window that you're using, | 我真的相信,当你意识到 你使用的上下文窗口, |
| 151 | the tokens that you're using is essential to using AI well. | 你使用的纪念物是使用AI的关键 |
| 152 | It says you should start with grill with docs. | 上面说,你应该从烧烤开始 与医生。 |
| 153 | It interviews you to sharpen the idea. | 它采访你来强化这个想法。 |
| 154 | And because you're in a repo, it's stateful. | 而且因为你处于重案组里,所以状态良好. |
| 155 | It records what it learns in context.md and ADRs. | 它记录了它在背景.md和ADRs中学到的东西. |
| 156 | This is where you turn, I want to change X into a crisp defensible plan. | 这就是你转身的地方, 我想把X 变成一个简单的防御计划。 |
| 157 | Defensible is such an LLM phrase, honestly. | 说实在的,可防御性就是LLM |
| 158 | Can you settle every open question just by talking? | 你能通过说话解决所有未决问题吗? |
| 159 | If a question needs a runnable answer, then you can use prototype, | 如果一个问题需要一个可运行的答案, 那么你可以使用原型, |
| 160 | which I've done a video about on it. | 我拍了个视频 |
| 161 | Bridged in and out of by handoff. | 通过交接的方式连接进出. |
| 162 | If not, skip this. | 如果没有,就跳过这个。 |
| 163 | Once you've done the interview in grill with docs, | 一旦你完成采访 与医生, |
| 164 | you can either go straight to the implement skill, | 你可以直接去 执行技能, |
| 165 | or if it needs multiple sessions to go through, | 或者,如果它需要 多个会议通过, |
| 166 | then you can go to spec and to tickets. | 然后你可以去Spec 和门票。 |
| 167 | Let me make this a little bit clearer for you. | 让我更清楚地告诉你这一点。 |
| 168 | The default flow looks like this. | 默认流量是这样的. |
| 169 | You start with grill with docs, | 你从烤肉和医生开始 |
| 170 | and this interviews you based on the idea that you want to produce. | 和这次采访你 基于你想要产生的想法。 |
| 171 | For instance, if I clear out of Ask Matt, | 举例来说,如果我不问马特, |
| 172 | of course I could go and ask follow-ups here, | 当然,我可以去 问后续在这里, |
| 173 | use it as a tutorial itself, but let me just show you. | 自己用它做辅导,但让我给你们看看。 |
| 174 | I'm going to say grill with docs, | 我要跟医生说烤肉 |
| 175 | and I'm going to kick it off with an idea. | 我会用一个想法来启动它。 |
| 176 | I'm going to say I would like to remove most of the internal tooling on this CLI | 我要说,我想去掉 大部分关于CLI的内部工具 |
| 177 | to make it just only public facing. | 让它只是公开面对。 |
| 178 | There's a lot of cruft here. | 这里有很多碎屑 |
| 179 | I want to just take this repo down a notch. | 我想把这笔钱拿下来 |
| 180 | It really can be as vague as this. | 它真的可以像这样模糊。 |
| 181 | You don't need to do too much here. | 你不需要在这里做太多。 |
| 182 | Grill with docs is going to do the heavy lifting | 格瑞尔和医生一起来举重 |
| 183 | by asking you a bunch of follow-up questions. | 通过问你 一堆后续问题。 |
| 184 | It's going and exploring a bunch of code here. | 它正在探索一系列密码 |
| 185 | And by the way, I'm using Claude code. | 顺便说一句 我在用克劳德的密码 |
| 186 | I'm using Opus 4.8 on medium effort, | 我用的是中功4.8号 |
| 187 | but you really don't have to use the same setup as me. | 但你真的不用跟我一样的设定 |
| 188 | These skills are being used by a bunch of different people, | 这些技能被一群不同的人使用 |
| 189 | bunch of different harnesses, different models, different effort levels. | 一堆不同的吊带,不同的模型,不同的努力水平。 |
| 190 | And we can see it's already asked the first question here. | 我们可以看到它已经问了第一个问题。 |
| 191 | So it's gotten a clear map of the entire repo. | 所以它得到了一个清晰的地图 整个Repo。 |
| 192 | It's looking at the internal namespace with 11 subcommands. | 它正在用11个子指令来查看内部命名空间. |
| 193 | So this is what a grilling session looks like. | 烤肉会是这样的 |
| 194 | You go through all of the questions until you feel, | 你通过所有的问题 直到你觉得, |
| 195 | or you and the agent feel, that you've reached a shared understanding. | 或者你和特工觉得 你达成了共识 |
| 196 | I'm going to do that now, and then I'll check in with you once I'm done. | 我现在就去办 等我做完再跟你联系 |
| 197 | Okay, it didn't end up taking too long. | 好吧,它没有结束 太久。 |
| 198 | We ended up with, what, six questions? | 我们最后问了六个问题? |
| 199 | That's not very much for a grilling session. | 这对烧烤来说不太合适 |
| 200 | Usually mine end up being about 20 questions, | 通常我的问题有20个 |
| 201 | depending on the size of it. | 视其大小而定. |
| 202 | But we've ended up with a decent plan. | 但是我们最后还是有个好计划 |
| 203 | We're going to delete 10 command files, | 我们要删除10个命令文件, |
| 204 | delete three tests, rewire shared modules. | 删除三个测试,重新连接共享模块。 |
| 205 | And all I did here was I just answered questions until it said, | 我在这里所做的只是回答问题 直到它说, |
| 206 | okay, we've walked the whole tree. | 好吧,我们走了整棵树。 |
| 207 | We've reached a shared understanding. | 我们达成了一个共识。 |
| 208 | Let me lay out the plan. | 让我来制定计划 |
| 209 | Notice here, I wasn't using plan mode for this. | 注意,我没有用计划模式 |
| 210 | I was actually in auto mode in Claw Code, | 我当时在Claw代码的汽车模式中 |
| 211 | which is kind of like the default mode. | 这有点像默认模式。 |
| 212 | And you now have a fork in the road. | 现在你有一个叉子在路上。 |
| 213 | If you think that this work is going to be big enough | 如果你觉得这工作够大的话 |
| 214 | that it will need multiple agent sessions, | 它需要多个代理会话, |
| 215 | then you can skip numbers two and three here | 那你可以在这里跳过二号三号 |
| 216 | and go straight into implement. | 并直接进入执行。 |
| 217 | The way you would do that is you would just say | 你这样做的方式就是说 |
| 218 | forward slash implement this. | 向前斜线执行此操作。 |
| 219 | And in this case, I do think that is what we should do. | 在这种情况下,我认为我们应该这样做。 |
| 220 | I've still got about, I think of my context window | 我还没说完,我想起我的背景窗口 |
| 221 | is kind of like ending or getting significantly dumber | 有点像结束 或者变得更蠢 |
| 222 | around the 140K mark. | 大约140K标记。 |
| 223 | I think of that as kind of like the smart zone of the LLM. | 我认为这就像 LLM的智能区。 |
| 224 | If you go above 140K, you end up sort of with, | 如果你超过140K,你最后会... |
| 225 | attention degradation. | 注意退化。 |
| 226 | It ends up getting stupider, does weird hallucinations. | 它最终变得愚蠢, 做奇怪的幻觉。 |
| 227 | So I think of having like, okay, | 所以我想有一样,好吧, |
| 228 | we've got 100K of budget here to remove 10 commands. | 我们这里有100K的预算去除10个命令. |
| 229 | That seems super easy. | 这似乎非常容易。 |
| 230 | Definitely something, we can definitely do that. | 肯定有什么,我们绝对可以做到这一点。 |
| 231 | So this is what I would usually do. | 所以我通常会这么做。 |
| 232 | I would just say implement and then I would leave it, | 我只是说执行,然后我会离开它, |
| 233 | let it run and it would finish the work. | 让它运行,它会完成工作。 |
| 234 | However, in the interest of showing you everything, | 但是 为了展示一切 |
| 235 | I'm gonna pretend that this work is gonna take | 我要假装这工作需要 |
| 236 | more than one session that I've maybe run out | 不止一次 我可能已经用完了 |
| 237 | of context window in the current, | 当前上下文窗口, |
| 238 | or run out of smart zone in the current window. | 或流出当前窗口中的智能区域。 |
| 239 | And I'm gonna need to spread this out | 我要把事情分散开来 |
| 240 | over multiple context windows. | 超过多个上下文窗口。 |
| 241 | So I'm going to call to spec here instead. | 所以,我要打电话给这里。 |
| 242 | So instead of writing implement this, | 因此,与其写 执行这一点, |
| 243 | I'm gonna say to spec here and that's it. | 我要告诉这里,就是这样。 |
| 244 | What this is going to do is it's gonna take | 接下来要做的是,它需要 |
| 245 | all of the discussion that I've had, | 所有的讨论,我已经, |
| 246 | all of this 46.1K tokens, | 这些46.1K的纪念品, |
| 247 | and it's gonna compress it into a document | 它会把它压缩成文件 |
| 248 | that we can use later. | 我们以后可以使用。 |
| 249 | This is where our issue tracker comes in. | 我们的问题追踪器就在这里 |
| 250 | So this issue tracker, | 所以这个问题追踪器, |
| 251 | we're just gonna use local markdown files. | 我们只是要使用本地的减记文件。 |
| 252 | And so it's just gonna spit out the spec | 所以它只是会吐出谱 |
| 253 | into a local directory. | 输入本地目录。 |
| 254 | This spec is going to be the destination | 这个Spec会是目的地 |
| 255 | that we're heading to over this multi-ticket sprint. | 我们正前往这个多块短跑。 |
| 256 | In other words, this is what we're gonna end up with. | 换句话说,这就是我们要面对的结局. |
| 257 | This is the description of everything | 这是对一切的描述 |
| 258 | of how it's gonna look at the end. | 如何看着结尾。 |
| 259 | And then the tickets is the description | 然后,票是描述 |
| 260 | of how we're going to get there. | 我们如何到达那里。 |
| 261 | Okay, we can see it's been written | 好吧,我们可以看到它已经写 |
| 262 | and published to the issue tracker. | 并发布到发行跟踪器。 |
| 263 | If I open this up, we can see it is in here. | 如果我打开这个,我们可以看到它在这里。 |
| 264 | So it's very nice and detailed. | 故文义甚详. |
| 265 | It's got a problem statement, a solution, | 它有一个问题陈述,一个解决方案, |
| 266 | a bunch of user stories, implementation decisions, | 一堆用户故事 执行决定 |
| 267 | testing decisions, a lot of stuff here. | 测试决定,很多东西在这里。 |
| 268 | And this is gonna be really useful | 这真的有用 |
| 269 | because we'll be able to compare this at the end | 因为我们能在最后比较一下 |
| 270 | to make sure that our implementation matched the spec. | 以确保我们的执行符合规格。 |
| 271 | So now that we've got the spec, | 所以既然我们有了这个规格 |
| 272 | I'm gonna go into the same session, | 我将去 在同一场会议, |
| 273 | not gonna change sessions here. | 这里不会改变会话的 |
| 274 | And now I'm gonna say to tickets. | 现在我要说票。 |
| 275 | And this is where it will basically try to turn the spec | 这就是它基本上将试图 转动的光谱 |
| 276 | into an implementation plan. | 纳入实施计划。 |
| 277 | Each one of these tickets is supposed to just be the size | 每张票的尺寸应该都差不多 |
| 278 | of a single context window or a single smart zone. | 或单个智能区域。 |
| 279 | And if we look here, | 如果我们看看这里, |
| 280 | we can see that it's kind of given us three tickets here. | 我们可以看到这里有三张票 |
| 281 | So three slices. | 故有三块. |
| 282 | I think that these three slices are a little bit much. | 我觉得这三块有点多 |
| 283 | I actually think it can be done in one slice. | 我其实觉得可以一刀两断 |
| 284 | Do it in one slice instead. | 换成一块 |
| 285 | And so it's now put this in a file. | 现在它把这个放进档案里了 |
| 286 | So it's put the ticket in tickets.md. | 因此,它把票 在门票。 |
| 287 | Now this is quite a bad example | 现在,这是一个非常糟糕的例子 |
| 288 | because it's kind of copying the stuff | 因为它有点复制的东西 |
| 289 | that's in our product requirements documents. | 那是我们的产品要求文件。 |
| 290 | So let me show you an actual real example. | 让我给你们展示一个真正的例子。 |
| 291 | Here is a spec that I implemented a couple of days ago | 这是几天前我执行的规格 |
| 292 | to remove a bunch of stuff from a repo. | 把一堆东西从回扣中移除 |
| 293 | I'm on a real removal spree recently. | 我最近正忙着搬家呢 |
| 294 | And you can see that this is the spec | 你可以看到这是Spec |
| 295 | and underneath it has 11 sub issues. | 它下面有11个子问题。 |
| 296 | So 11 tickets underneath it. | 里面有11张票 |
| 297 | And each of these tickets, so this is a very detailed spec. | 每张门票都非常详细 |
| 298 | Each of these tickets is a single context window session. | 每张票都是单次上下文窗口会话. |
| 299 | So if we click into here, we can see it's just pretty short. | 所以,如果我们点击这里, 我们可以看到它只是相当短。 |
| 300 | Most of the acceptance criteria is already in the main spec. | 大多数验收标准已经属于主要类别。 |
| 301 | And so this one is just literally | 所以这个只是字面上 |
| 302 | what do you build in this session? | 你在这届里造了什么? |
| 303 | So that's number session one, then session two, | 所以,这是第一课,然后第二课, |
| 304 | then session three. | 然后是第三场 |
| 305 | You can see that how this breaks down a huge chunk of work | 你可以看到它是如何打破 一大块工作 |
| 306 | into manageable pieces that the agent can then go and do. | 成为可以管理的部分,然后代理可以去做。 |
| 307 | Over here, we are left with a single manageable piece. | 在这里,我们留了一块可以管理 |
| 308 | So what I'm gonna do is I'm gonna clear the context here. | 所以,我要做的是 我要清理这里的背景。 |
| 309 | Now we have everything we need | 现在我们有我们需要的一切 |
| 310 | so that we can just run a bunch of agents | 这样我们就可以运行一堆特工 |
| 311 | to tackle this problem. | 解决这一问题。 |
| 312 | So I can clear the context | 这样我就能把背景澄清了 |
| 313 | and then I'm just gonna say at tickets here | 然后我要在这里说票 |
| 314 | and before that I'll say forward slash implement this. | 在此之前,我会说前刀 执行这一点。 |
| 315 | So now because we have the spec that decides where we're going | 所以现在我们有了决定我们要去哪里的规格 |
| 316 | and the tickets that decide how we get there, | 以及决定我们如何到达那里的机票, |
| 317 | the agent has everything it needs | 经纪人有它需要的一切 |
| 318 | and we're ready to implement. | 我们准备执行 |
| 319 | Now, when you're doing this by hand, | 现在,当你用手做这个, |
| 320 | the idea is that you then implement each ticket one by one. | 想法是,你然后执行 每张票一个一个。 |
| 321 | So you don't say do every single ticket. | 所以你不说做每张票。 |
| 322 | You say, okay, we go and implement | 你说,好吧,我们去执行 |
| 323 | and then we see if we've hit the smart zone. | 然后我们看看我们是否进入了智能区。 |
| 324 | If we haven't, maybe we can squeeze in one more ticket here. | 如果我们没有,也许我们可以 挤在这里多一张票。 |
| 325 | But usually I would say you clear | 但通常我会说,你清楚 |
| 326 | in between every single ticket. | 每张票之间 |
| 327 | Then once you've done all of the implementation, | 一旦你完成了所有任务 |
| 328 | you've got your full thing all implemented, | 你已经得到了你的全部事情 全部执行, |
| 329 | then you can go and code review | 然后,你可以去 代码审查 |
| 330 | and do the final check against the spec. | 并做最后检查 与谱。 |
| 331 | We can see here it really was a very small piece of work actually. | 我们可以看到,这其实是一个非常小的作品。 |
| 332 | It's only 42.7K and it's now about to, | 才42.7K 现在就要 |
| 333 | as part of the implement, run the code review. | 作为执行的一部分,运行代码审查. |
| 334 | As part of the implement script, | 作为执行脚本的一部分, |
| 335 | it goes and runs all the type check, runs the build, | 它去运行所有类型检查,运行建筑, |
| 336 | it's doing even more verification, | 它正在做更多的核实, |
| 337 | checking AI hero internal help shows only edit commit | 检查 AI 英雄内部帮助只显示编辑执行 |
| 338 | and it's gone and loaded the code review skill. | 它已经装满了代码审查技能 |
| 339 | This review is based on two axes. | 这一审查基于两个轴心。 |
| 340 | First, it compares the work done against the original spec. | 首先,它比较了所完成的工作与原始的光谱. |
| 341 | This is really useful when you've done a huge chunk of work | 这真的有用 当你做了大量的工作 |
| 342 | and the agent might have forgotten things in tickets | 经纪人可能把票上的东西忘了 |
| 343 | or the tickets might have been unspecified. | 或者门票可能不明 |
| 344 | Doing a final pass means you actually nail everything. | 做最后的传球 意味着你真的钉了一切。 |
| 345 | And then it also checks against the standards documentation | 然后它也检查 标准文件 |
| 346 | that you've got in your own repo. | 你拥有了自己的财产 |
| 347 | In this repo, we don't really have any coding standards | 在这回购中,我们没有任何编码标准 |
| 348 | documented anywhere, but if it doesn't detect any, | 记录在任何地方, 但如果它没有发现任何, |
| 349 | then it uses some classic ones kind of from Martin Fowler. | 然后它使用一些经典的 从马丁·福勒。 |
| 350 | So it looks at code smells, | 所以它看着代码的气味, |
| 351 | tries to figure out if there's any bad stuff. | 试着找出有没有坏东西 |
| 352 | Doing these in sub-agents is really important | 用副剂做这些真的很重要 |
| 353 | because if you do it in the main agent, | 因为如果你在主干员中这样做, |
| 354 | it means that the main agent already has written the code | 意思是主要探员已经写好了密码 |
| 355 | and agents are often really bad at editing code | 并且代理商经常在编辑代码上非常糟糕 |
| 356 | or improving code they've just written | 或者改进他们刚写的代码 |
| 357 | because they've wrote it, so they just think, | 因为他们写的,所以他们只是想, |
| 358 | okay, that's fantastic, that's fine. | 好吧,这太棒了,这很好。 |
| 359 | Whereas if you spawn some agents, | 如果你培养出一些特工 |
| 360 | then they're gonna have a clear context window | 然后他们会有一个清晰的背景窗口 |
| 361 | and they're gonna do a much better job reviewing the code. | 他们会做一个更好的工作审查代码。 |
| 362 | Okay, we can see that both came back. | 好吧,我们可以看到 两个都回来了。 |
| 363 | So crossed checked every acceptance criterion | 所以检查了每个验收标准 |
| 364 | against the spec and checked everything against the standards | 对照标准检查一切 |
| 365 | and cool, we're good to go. | 冷静,我们可以走了。 |
| 366 | And it's now committed against the current branch, beautiful. | 而现在却对着现在的树枝,美丽. |
| 367 | So that is our flow complete. | 这就是我们完成的流程。 |
| 368 | We aligned before we got started. | 在开始之前我们结盟了 |
| 369 | We created some spec and tickets | 我们创造了一些规格和票 |
| 370 | in order to make sure it worked over multiple sessions. | 以确保它通过多次会议开展工作。 |
| 371 | We then implemented it | 然后我们执行了它 |
| 372 | and the implement skill itself used the code review. | 而执行技能本身也使用了代码审查. |
| 373 | This is the main flow that all of my work runs through | 这是我所有作品的主要流经 |
| 374 | and the stuff that isn't in the main flow | 和没有在主流中的东西 |
| 375 | is stuff that I'm experimenting with, | 我所尝试的东西, |
| 376 | stuff that I'm improving. | 东西,我正在改进。 |
| 377 | I'm always trying to get this loop faster, better, easier to run. | 我总是试图让这个循环 更快,更好,更容易运行。 |
| 378 | And for that, if you're interested in that, | 如果你对此感兴趣 |
| 379 | then you should check out my newsletter for these skills. | 那你应该看看我的通讯 这些技能。 |
| 380 | This YouTube channel is a great place to be | 这个YouTube频道是一个伟大的地方 |
| 381 | for subscribing to understanding more about the skills | 更了解技能 |
| 382 | but really the good stuff is on the newsletter. | 但真正好的东西是在通讯上。 |
| 383 | If you want on the day updates when I ship new skills, | 如果你想在一天更新 当我运送新的技能, |
| 384 | when I add updates that you need to keep updated with, | 当我补充更新 你需要保持更新, |
| 385 | then this is the place to be. | 那么这里就是了 |
| 386 | But thank you so much for watching. | 不过谢谢你的观看 |
| 387 | Hopefully this tutorial gives you an idea | 希望这个教程能给你一个想法 |
| 388 | on how to get set up with the skills | 如何运用技能 |
| 389 | and what the main flow is supposed to be. | 以及主流应该是什么。 |
| 390 | Thanks for watching, happy skilling, | 谢谢你的观看,快乐的技巧, |
| 391 | and I will see you very soon. | 我会很快见到你。 |
该视频共有字幕 391 条。解锁更多字幕为会员功能,请移动到 价格
P2 · 【AI编程】17万星标技能库完整教程 · 端到端AI编码工作流 p02 无字幕 (P2)
字幕摘录
| 时间 | 英文 | 中文 |
|---|---|---|
| 0:00 | Hello friends, it occurs to me that I've never actually put together a proper tutorial for | 朋友们,我突然想到 我从来没有真正为 |
| 0:05 | my skills repo. | 我的技能还原。 |
| 0:06 | By the time I'm recording, this repo is up to 162,000 stars. | 到了我录制时,这颗Repo高达16.2万颗恒星. |
| 0:09 | We have 7.5 million downloads and I've never made a tutorial for it. | 我们有750万次下载 我从来没有做过一个教程。 |
| 0:14 | I get questions all the time, like what is the sequence I should use these skills in? | 我总是有问题要问, 比如我应该用这些技能的顺序是什么? |
| 0:17 | How should I install them? | 我该怎么安装? |
| 0:18 | How should I set them up? | 我该怎么设置? |
| 0:19 | So this video is going to be a walkthrough of the main flow you use when you're using | 所以这段视频将会是 你使用的主要流 |
| 0:24 | these skills. | 这些技能。 |
| 0:25 | We're not going to look at the advanced stuff. | 我们不会看先进的东西。 |
展开字幕全文(389 条)
| 序号 | 英文 | 中文 |
|---|---|---|
| 1 | Hello friends, it occurs to me that I've never actually put together a proper tutorial for | 朋友们,我突然想到 我从来没有真正为 |
| 2 | my skills repo. | 我的技能还原。 |
| 3 | By the time I'm recording, this repo is up to 162,000 stars. | 到了我录制时,这颗Repo高达16.2万颗恒星. |
| 4 | We have 7.5 million downloads and I've never made a tutorial for it. | 我们有750万次下载 我从来没有做过一个教程。 |
| 5 | I get questions all the time, like what is the sequence I should use these skills in? | 我总是有问题要问, 比如我应该用这些技能的顺序是什么? |
| 6 | How should I install them? | 我该怎么安装? |
| 7 | How should I set them up? | 我该怎么设置? |
| 8 | So this video is going to be a walkthrough of the main flow you use when you're using | 所以这段视频将会是 你使用的主要流 |
| 9 | these skills. | 这些技能。 |
| 10 | We're not going to look at the advanced stuff. | 我们不会看先进的东西。 |
| 11 | We're not going to look at the new stuff really. | 我们不会看这些新东西的 |
| 12 | We're just going to focus on the main flow, the stuff you need to get started. | 我们只是把精力集中在主流上 你需要开始的东西上 |
| 13 | To walk you through this, I'm going to be using one of my work repos, which is the AIHero | 为了让你通过这个,我要用我的一个作品, 就是AI Hero |
| 14 | CLI(英语:CLI). | |
| 15 | This is the command line interface that drives a lot of my exercises that I use on my courses. | 这是命令线接口 驱动我的许多练习 我使用在我的课程。 |
| 16 | I've never actually set up my skills to work with this repo, so now is a great chance. | 我从来没有真正建立我的技巧 与这个repo工作, 所以现在是一个伟大的机会。 |
| 17 | If you want to set up my skills on a brand new project, you just do this, except you | 如果你想在全新的项目上建立我的能力 你就这么做 除了你 |
| 18 | do it in an empty directory. | 在空目录中执行 。 |
| 19 | So it works the same whether you're using a brownfield code base or a greenfield code | 所以不管你使用棕田密码还是绿地密码 都一样 |
| 20 | base. | 基础。 |
| 21 | I'm going to open up the command line interface here and I'm going to type npx skills at | 我要打开命令线接口 输入npx技能 |
| 22 | latest add matpococ forward slash skills. | 最新添加 matpococ 前锋斜线技能。 |
| 23 | This assumes a couple of things. | 这假设了几件事 |
| 24 | It assumes that you've got Node.js installed. | 它假设你安装了节点Js. |
| 25 | 这个npx来自Node.js,它从Vercel运行技能.sh命令行安装器. | |
| 26 | What this basically does is it installs a GitHub repo of skills called matpococ skills | 这基本上就是安装一种叫做 Matpococ 技能的 GitHub 重播 |
| 27 | and it can walk through a few setup questions here. | 它可以在这里通过一些设置问题。 |
| 28 | It first says it needs to install the following packages. | 它首先说它需要安装以下软件包. |
| 29 | Yes, that seems fine to me. | 是的,这对我来说似乎很好。 |
| 30 | And then it did a couple of things and we now have a long list of all the skills that | 然后它做了一些事情 现在我们有一个长列表 所有的技能 |
| 31 | we could install. | 我们可以安装。 |
| 32 | It found 38 skills here, which is a lot. | 它在这里发现了38种技能,这是很多。 |
| 33 | And you can see if I scroll up and down, they're in two groups. | 你可以看到,如果我滚动上下, 他们分为两组。 |
| 34 | We've got the matpococ skills and then we've got other skills. | 我们有马特波科克的技巧,然后我们有其他的技巧. |
| 35 | So the matpococ skills are the ones that I have blessed as the skills that I think are | 因此,马特波科克技能是那些 我祝福的,就像我认为的技能 |
| 36 | good enough to be public facing. | 足够公开面对 |
| 37 | The other ones are ones that I'm experimenting with right now and may delete in the future. | 其他的是我正在试验的 将来可能会删除的 |
| 38 | What I recommend you do is you go to the top here and you can kind of go up and down. | 我建议你做的是,你到上面去 你可以上下走 |
| 39 | It's kind of broken, I have to say. | 有点断了,我得说 |
| 40 | And if you press space here and you should see that if you scroll up, okay, they're now | 如果你按这里的空间,你应该看到 如果你滚动,好吗,他们现在 |
| 41 | all selected, you press space and then you press return. | 全部选中, 请按空格, 然后按返回 。 |
| 42 | And now you've selected all of the official skills. | 现在你已经选择了所有的正式技能 |
| 43 | I'm not terribly happy with Vercel's CLI here, so I may change it in future or maybe even | 我对Vercel的CLI不甚满意,所以我以后可以改变,也许甚至 |
| 44 | just ship my own. | 只要运送我自己。 |
| 45 | But for now, that's as good as it gets. | 但是,现在,这是一样好的。 |
| 46 | One thing that is good is that it will set up your skills to work with any agent. | 有一点是好的,那就是它会安排你的技巧 与任何特工合作。 |
| 47 | So I use Claude Code, but you can go down here and sort of just select the ones that | 所以我用Claude代码 但你可以下来 选择那些 |
| 48 | you want. | 你想吗? |
| 49 | I'm using space to select. | 我在利用空间来选择 |
| 50 | I think by default, if I zoom out a touch, then it supports all of these universal ones | 我觉得默认,如果我放大一个触觉, 那么它支持所有这些通用的 |
| 51 | up here. | 在这里。 |
| 52 | So cursor, codex, client, etc. | 因此光标,代码,客户端等. |
| 53 | But anything that uses like Claude skills, such as Claude Code, then you need to set | 但任何使用克劳德的技能, 如克劳德代码, 然后你需要设置 |
| 54 | up yourself. | 自己起来。 |
| 55 | So I'm going to press return here and it should now be configured to set up my skills for | 所以我会按回这里 现在应该把它配置好 |
| 56 | Claude Code. | 克劳德代码。 |
| 57 | The installation scope defines where your skills are installed, whether they're installed | 安装范围定义了您技能的安装地点,是否安装 |
| 58 | just in the current directory or whether they're global. | 就在目前的目录中, 或者它们是否是全球性的。 |
| 59 | This will depend on what your team's conventions are. | 这取决于你们团队的大会是什么 |
| 60 | If you're working in a team, I would say that project skills are the right way to go. | 如果你在团队中工作,我会说,项目技能是正确的方法。 |
| 61 | That way, everyone is using the same skill set on every project. | 这样,每个人在每个项目上都使用同样的技能。 |
| 62 | And it means that you can contribute to the skills together and make those decisions together. | 这意味着你们可以共同贡献这些技能,共同做出这些决定。 |
| 63 | But global is fine if you're just a solo developer working on your own stuff like I am. | 但是,全球是罚款 如果你只是一个独行开发者 工作自己的东西像我一样。 |
| 64 | So I'm going to press return here, install it in my home directory, and I'm going to | 因此,我要按回这里, 安装在我的家目录,我要去 |
| 65 | as the recommended way. | 作为推荐的方式。 |
| 66 | The choice here is whether you copy it to the .agents folder as well as the .Claude | 这里的选择是你是否把它复制到 . agents 文件夹以及 . 克劳德 |
| 67 | folder. | 文件夹。 |
| 68 | And it's kind of not a nice way to do it. | 并有种不善法门. |
| 69 | SimLink is just the nice easy way to do it. | SimLink只是个轻松的好方法 |
| 70 | So I wouldn't even make a decision here, just choose SimLink. | 所以我甚至不会在这里做决定 选择SimLink |
| 71 | So it now gives you a summary of all the things that you're installing here. | 所以现在它可以总结一下你在这里安装的所有东西。 |
| 72 | There seems to be an alert on socket about to spec. | 套接字上似乎有提示显示 |
| 73 | I'll take a look at that later. | 我待会再看 |
| 74 | But yes, we can proceed with installation and it's now installed all of the skills. | 但是,是的,我们可以开始安装 它现在安装了所有的技能。 |
| 75 | This means then that I can run Claude inside here or whatever your agent is. | 也就是说我可以把克劳德带进这里 不管你的经纪人是什么 |
| 76 | And I'm going to create a new, so I'm just going to say hello to get out of this agent's | 我要创造一个新的, 所以我只是要打个招呼 走出这个经纪人的 |
| 77 | view here. | 看这里。 |
| 78 | Now, depending on the harness you're using, this will show up in different ways. | 现在,这取决于你使用的绳子, 它将以不同的方式出现。 |
| 79 | But on Claude code, I can press forward slash and I now see that I have a few skills available | 但根据克劳德的代码, 我可以按向前斜线, 现在我看到,我有一些技能可用 |
| 80 | to me. | 对我来说。 |
| 81 | I have grill me, grilling, wayfinder, grill with docs, etc. | 我有烤我,烧烤, 探险,烧烤 与Docs等。 |
| 82 | Loads of stuff. | 一堆东西 |
| 83 | Now the difference between my skills and lots of other skills repos that are out there is | 现在,我的技巧和很多其他技能的区别 在那里 |
| 84 | my skills are mostly user invoked. | 我的技巧大多是用户使用。 |
| 85 | That means that if I run context here, not many of my skills actually leech their way | 这意味着,如果我运行这里的背景, 没有多少我的技巧 实际上浸润他们的方式 |
| 86 | into the description and the descriptions I have are quite short and precise. | 在描述和描述中 我非常简短和准确。 |
| 87 | So that means that even though we've downloaded all of my skills, the skills only take up | 因此,这意味着,尽管我们下载了 我的全部技能, 技能只占用 |
| 88 | 660 tokens here. | 这里有660个纪念品 |
| 89 | So very, very light in terms of context load. | 因此,非常,非常轻的上下文负载。 |
| 90 | So OK, we got the skills. | 好了,我们掌握了技能。 |
| 91 | Now what we have to do is we have to run set up map Pococ skills and this will do a few | 现在我们必须做的是 运行地图Pococ技能 这会做一些 |
| 92 | things. | 东西。 |
| 93 | My skills rely on some configuration inside the repository. | 我的技巧依赖于寄存器内部的一些配置. |
| 94 | And this does a few things for you. | 这对你有好处 |
| 95 | The first thing is it means you need to use an issue tracker. | 首先,它意味着 你需要使用一个问题跟踪器。 |
| 96 | We're going to be saving specs, we're going to be saving tickets and we need to save them | 我们要省钱 省钱 省钱 |
| 97 | somewhere. | 某处. |
| 98 | You've got kind of an infinity of choices here. | 这里有无限的选择 |
| 99 | You can use GitHub, you can use local markdown, or you can literally use anything. | 你可以使用GitHub,也可以使用本地的标记下,或者可以字面上使用任何东西. |
| 100 | The way that the skill works is that it looks at your local configuration. | 技能的作用方式是查看您的本地配置. |
| 101 | And so you can set it up for Jira, you can set it up for Linear. | 这样你就可以为Jira设置,也可以为Linear设置. |
| 102 | And the way you do that is you just tell the agent what you want to set it up for and it | 你这样做的方式就是告诉探员你想设置什么 |
| 103 | will go and set it up for it. | 将去设置它。 |
| 104 | I just want to emphasize that people ask me all the time, how do I make my skills work | 我只是想强调,人们总是问我, 我如何使我的技能工作 |
| 105 | with Jira, work with beads, work with Linear? | 与吉拉,工作与珠,工作与线性? |
| 106 | It already does. | 它已经做了。 |
| 107 | All you need to do is just run set up map Pococ and just say set it up with Jira, except | 你需要做的只是运行 地图Pococ 并只是说设置它与吉拉, |
| 108 | I don't want to set it up with Jira. | 我不想和吉拉一起设计 |
| 109 | I'm just going to set up with local markdown, please. | 我只是要去设置 当地的马克降,请。 |
| 110 | So that's fine by me. | 所以这对我来说是很好的。 |
| 111 | The next question to answer here is about triage labels. | 这里接下来要回答的一个问题是分解标签. |
| 112 | So there are a set of labels that the skill relies on to communicate information about | 因此,有一套标签,技能依赖这些标签来传递关于 |
| 113 | the tickets that it produces. | 它生产的门票。 |
| 114 | It's not really that important here, so I'm just going to accept the defaults. | 这里并不重要 所以我要接受默认 |
| 115 | You can look at the docs on the triage skill if you want to learn more. | 如果你想多学点,你可以看看分门别类技能方面的文献。 |
| 116 | So defaults is fine. | 所以,默认是罚款。 |
| 117 | The next one is about the domain documentation. | 下一篇是关于域文档. |
| 118 | So my skills like to have a little bit of docs, a context.md file and an ADR inside the repo. | 所以,我的技巧喜欢有一点的docs,一个背景。 md文件 和重案组内部的ADR |
| 119 | And it's basically asking if it's going to be a single context or a multi-context. | 它基本上是在问它是否是单一的上下文还是多文字. |
| 120 | I think single context is the way to go here. | 我认为,这里应该有单一的背景。 |
| 121 | Multi-context is if you have a big mono repo and you need lots of different bounded contexts | 多文本是,如果你有一个大的单重播,并且需要很多不同的边框 |
| 122 | within it. | 在它内部。 |
| 123 | But for 99% of people, single context is going to be fine. | 但对于99%的人来说,单一环境是会好的. |
| 124 | All right. | 好吧,我们走。 |
| 125 | So it's gone ahead and written a few things here. | 所以,它已经走了, 在这里写了一些东西。 |
| 126 | The first thing is written is inside Claude.md. | 第一件事是写在克劳德身上 |
| 127 | It's added a few links here. | 这里加入了几个链接. |
| 128 | So this is the new stuff. | 这就是新的东西。 |
| 129 | It's just linking to the issue tracker docs, linking to the triage labels and linking to | 它只是链接到问题追踪器的docs, 链接到分类标签和连接到 |
| 130 | the domain docs. | 域名文件。 |
| 131 | And each of these are at docs, agents, domain issue tracker. | 每一个都是在Docs,代理商,域问题跟踪器。 |
| 132 | So we can see here that it's going to save all of the issues and specs inside a scratch | 所以,我们可以看到,它会 节省所有的问题和细节 在刮伤 |
| 133 | file. | 文档。 |
| 134 | So with that, our setup for this repo is complete. | 有了这个,我们为这回波的设置就完成了。 |
| 135 | And so you might be thinking, how do I get started? | 所以你可能会在想 我怎么开始? |
| 136 | Well, before we get started, I'm going to show you one more really cool thing. | 好吧,在我们开始之前, 我会告诉你一个真正很酷的事情。 |
| 137 | You can, if you're following along, just stop the video now and use one skill. | 你可以,如果你跟着, 只是停止视频 现在使用一个技能。 |
| 138 | You can use the Ask Matt skill. | 你可以使用问马特的技能。 |
| 139 | This Ask Matt skill is essentially me as a skill. | 这问马特的技巧 基本上就是我的技巧。 |
| 140 | It knows everything that is needed about the skills repo and what you should do first. | 它知道所有需要的东西 关于技能回波,你应该先做什么。 |
| 141 | So we can say, ask Matt, how do I get started? | 所以,我们可以说,问马特, 我怎么开始? |
| 142 | I want to make some code changes here. | 我想在这里做一些代码修改。 |
| 143 | What is the main flow I should use? | 我该用什么干线? |
| 144 | I can now submit that and see what it says. | 我现在可以提交,看看上面写了什么。 |
| 145 | By the way, I'm using whisper flow as my transcription. | 顺便说一句,我用低语流作为我的抄本. |
| 146 | So here we go. | 我们开始吧 |
| 147 | It's saying the main flow idea to ship. | 即说主流观至船. |
| 148 | Since you have a code base, start at the top of the main flow and walk down in it in one | 既然你有一个代码基础,从主流的顶端开始,然后走进其中 |
| 149 | unbroken context window. | 未断上下文窗口。 |
| 150 | So it's very kind of really telling you how to use your sessions as well. | 所以它真的告诉你如何使用你的会议。 |
| 151 | I really believe that being conscious about the context window that you're using, | 我真的相信,当你意识到 你使用的上下文窗口, |
| 152 | the tokens that you're using is essential to using AI well. | 你使用的纪念物是使用AI的关键 |
| 153 | It says you should start with grill with docs. | 上面说,你应该从烧烤开始 与医生。 |
| 154 | It interviews you to sharpen the idea. | 它采访你来强化这个想法。 |
| 155 | And because you're in a repo, it's stateful. | 而且因为你处于重案组里,所以状态良好. |
| 156 | It records what it learns in context.md and ADRs. | 它记录了它在背景.md和ADRs中学到的东西. |
| 157 | This is where you turn, I want to change X into a crisp defensible plan. | 这就是你转身的地方, 我想把X 变成一个简单的防御计划。 |
| 158 | Defensible is such an LLM phrase, honestly. | 说实在的,可防御性就是LLM |
| 159 | Can you settle every open question just by talking? | 你能通过说话解决所有未决问题吗? |
| 160 | If a question needs a runnable answer, then you can use prototype, | 如果一个问题需要一个可运行的答案, 那么你可以使用原型, |
| 161 | which I've done a video about on it. | 我拍了个视频 |
| 162 | Bridged in and out of by handoff. | 通过交接的方式连接进出. |
| 163 | If not, skip this. | 如果没有,就跳过这个。 |
| 164 | Once you've done the interview in grill with docs, | 一旦你完成采访 与医生, |
| 165 | you can either go straight to the implement skill or if it needs multiple sessions to | 您可以直接进入执行技能,或者需要多个会话才能进入 |
| 166 | go through, then you can go to spec and to tickets. | 穿过,然后你就可以去Spec 和门票。 |
| 167 | Let me make this a little bit clearer for you. | 让我更清楚地告诉你这一点。 |
| 168 | The default flow looks like this. | 默认流量是这样的. |
| 169 | You start with grill with docs and this interviews you | 你从烧烤开始 医生和这次采访你 |
| 170 | based on the idea that you want to produce. | 基于你想要制作的想法。 |
| 171 | For instance, if I clear out of Ask Matt, | 举例来说,如果我不问马特, |
| 172 | of course I could go and ask follow-ups here, use it as a tutorial itself, | 我当然可以去 问后续在这里, 用它作为辅导本身, |
| 173 | but let me just show you. | 但让我告诉你。 |
| 174 | I'm going to say grill with docs and I'm going to kick it off with an idea. | 我要跟医生说烤肉 我要用一个主意把它踢开 |
| 175 | I'm going to say I would like to remove most of the internal tooling on this CLI | 我要说,我想去掉 大部分关于CLI的内部工具 |
| 176 | to make it just only public facing. | 让它只是公开面对。 |
| 177 | There's a lot of cruft here. | 这里有很多碎屑 |
| 178 | I want to just take this repo down a notch. | 我想把这笔钱拿下来 |
| 179 | It really can be as vague as this. | 它真的可以像这样模糊。 |
| 180 | You don't need to do too much here. | 你不需要在这里做太多。 |
| 181 | It's going to do the heavy lifting by asking you a bunch of follow-up questions. | 通过问你一堆后续问题来完成举重任务. |
| 182 | It's going and exploring a bunch of code here. | 它正在探索一系列密码 |
| 183 | And by the way, I'm using Claude code. | 顺便说一句 我在用克劳德的密码 |
| 184 | I'm using Opus 4.8 on medium effort, | 我用的是中功4.8号 |
| 185 | but you really don't have to use the same setup as me. | 但你真的不用跟我一样的设定 |
| 186 | These skills are being used by a bunch of different people, | 这些技能被一群不同的人使用 |
| 187 | bunch of different harnesses, different models, different effort levels. | 一堆不同的吊带,不同的模型,不同的努力水平。 |
| 188 | And we can see it's already asked the first question here. | 我们可以看到它已经问了第一个问题。 |
| 189 | So it's gotten a clear map of the entire repo. | 所以它得到了一个清晰的地图 整个Repo。 |
| 190 | It's looking at the internal namespace with 11 subcommands. | 它正在用11个子指令来查看内部命名空间. |
| 191 | So this is what a grilling session looks like. | 烤肉会是这样的 |
| 192 | You go through all of the questions until you feel, | 你通过所有的问题 直到你觉得, |
| 193 | or you and the agent feel, that you've reached a shared understanding. | 或者你和特工觉得 你达成了共识 |
| 194 | I'm going to do that now, and then I'll check in with you once I'm done. | 我现在就去办 等我做完再跟你联系 |
| 195 | Okay, it didn't end up taking too long. | 好吧,它没有结束 太久。 |
| 196 | We ended up with, what, six questions? | 我们最后问了六个问题? |
| 197 | That's not very much for a grilling session. | 这对烧烤来说不太合适 |
| 198 | Usually mine end up being about 20 questions, | 通常我的问题有20个 |
| 199 | depending on the size of it. | 视其大小而定. |
| 200 | But we've ended up with a decent plan. | 但是我们最后还是有个好计划 |
| 201 | We're going to delete 10 command files, | 我们要删除10个命令文件, |
| 202 | delete three tests, rewire shared modules. | 删除三个测试,重新连接共享模块。 |
| 203 | And all I did here was I just answered questions until it said, | 我在这里所做的只是回答问题 直到它说, |
| 204 | okay, we've walked the whole tree. | 好吧,我们走了整棵树。 |
| 205 | We've reached a shared understanding. | 我们达成了一个共识。 |
| 206 | Let me lay out the plan. | 让我来制定计划 |
| 207 | Notice here, I wasn't using plan mode for this. | 注意,我没有用计划模式 |
| 208 | I was actually in auto mode in Claw Code, | 我当时在Claw代码的汽车模式中 |
| 209 | which is kind of like the default mode. | 这有点像默认模式。 |
| 210 | And you now have a fork in the road. | 现在你有一个叉子在路上。 |
| 211 | If you think that this work is going to be big enough | 如果你觉得这工作够大的话 |
| 212 | that it will need multiple agent sessions, | 它需要多个代理会话, |
| 213 | then you can skip numbers two and three here | 那你可以在这里跳过二号三号 |
| 214 | and go straight into implement. | 并直接进入执行。 |
| 215 | The way you would do that is you would just say | 你这样做的方式就是说 |
| 216 | forward slash implement this. | 向前斜线执行此操作。 |
| 217 | And in this case, I do think that is what we should do. | 在这种情况下,我认为我们应该这样做。 |
| 218 | I've still got about, I think of my context window | 我还没说完,我想起我的背景窗口 |
| 219 | is kind of like ending or getting significantly dumber | 有点像结束 或者变得更蠢 |
| 220 | around the 140K mark. | 大约140K标记。 |
| 221 | I think of that as kind of like the smart zone of the LLM. | 我认为这就像 LLM的智能区。 |
| 222 | If you go above 140K, you end up sort of with, | 如果你超过140K,你最后会... |
| 223 | you know, attention degradation. | 你知道,注意力下降。 |
| 224 | It ends up getting stupider, does weird hallucinations. | 它最终变得愚蠢, 做奇怪的幻觉。 |
| 225 | So I think of having like, okay, | 所以我想有一样,好吧, |
| 226 | we've got 100K of budget here to remove 10 commands. | 我们这里有100K的预算去除10个命令. |
| 227 | That seems super easy. | 这似乎非常容易。 |
| 228 | Definitely something, you know, we can definitely do that. | 当然,你知道,我们绝对可以做到这一点。 |
| 229 | So this is what I would usually do. | 所以我通常会这么做。 |
| 230 | I would just say implement and then I would leave it, | 我只是说执行,然后我会离开它, |
| 231 | let it run and it would finish the work. | 让它运行,它会完成工作。 |
| 232 | However, in the interest of showing you everything, | 但是 为了展示一切 |
| 233 | I'm going to pretend that this work | 我要假装这工作 |
| 234 | is going to take more than one session | 需要不止一个会话 |
| 235 | that I've maybe run out of context window in the current | 我可能已经用光了 |
| 236 | or run out of smart zone in the current window. | 或流出当前窗口中的智能区域。 |
| 237 | And I'm going to need to spread this out | 我要把这事分散开来 |
| 238 | over multiple context windows. | 超过多个上下文窗口。 |
| 239 | So I'm going to call to spec here instead. | 所以,我要打电话给这里。 |
| 240 | So instead of writing implement this, | 因此,与其写 执行这一点, |
| 241 | I'm going to say to spec here and that's it. | 我要告诉这里,就是这样。 |
| 242 | What this is going to do is it's going to take | 接下来要做的是,它需要 |
| 243 | all of the discussion that I've had, | 所有的讨论,我已经, |
| 244 | all of this 46.1K tokens, | 这些46.1K的纪念品, |
| 245 | and it's going to compress it into a document | 把它压缩成文件 |
| 246 | that we can use later. | 我们以后可以使用。 |
| 247 | This is where our issue tracker comes in. | 我们的问题追踪器就在这里 |
| 248 | So this issue tracker, | 所以这个问题追踪器, |
| 249 | we're just going to use local markdown files. | 我们只需要使用本地的减记文件。 |
| 250 | And so it's just going to spit out the spec | 所以它只是要吐出 谱 |
| 251 | into a local directory. | 输入本地目录。 |
| 252 | This spec is going to be the destination | 这个Spec会是目的地 |
| 253 | that we're heading to over this multi-ticket sprint. | 我们正前往这个多块短跑。 |
| 254 | In other words, this is what we're going to end up with. | 换句话说,这就是我们最终的结果. |
| 255 | This is the description of everything | 这是对一切的描述 |
| 256 | of how it's going to look at the end. | 如何看待结局。 |
| 257 | And then the tickets is the description | 然后,票是描述 |
| 258 | of how we're going to get there. | 我们如何到达那里。 |
| 259 | Okay, we can see it's been written | 好吧,我们可以看到它已经写 |
| 260 | and published to the issue tracker. | 并发布到发行跟踪器。 |
| 261 | If I open this up, we can see it is in here. | 如果我打开这个,我们可以看到它在这里。 |
| 262 | So it's very nice and detailed. | 故文义甚详. |
| 263 | It's got a problem statement, a solution, | 它有一个问题陈述,一个解决方案, |
| 264 | a bunch of user stories, implementation decisions, | 一堆用户故事 执行决定 |
| 265 | testing decisions, a lot of stuff here. | 测试决定,很多东西在这里。 |
| 266 | And this is going to be really useful | 这真的有用 |
| 267 | because we'll be able to compare this at the end | 因为我们能在最后比较一下 |
| 268 | to make sure that our implementation matched the spec. | 以确保我们的执行符合规格。 |
| 269 | So now that we've got the spec, | 所以既然我们有了这个规格 |
| 270 | I'm going to go into the same session, | 我将进入同一场面, |
| 271 | not going to change sessions here. | 这里不会更改会话 。 |
| 272 | And now I'm going to say to tickets. | 现在我要说票。 |
| 273 | And this is where it will basically try to turn the spec | 这就是它基本上将试图 转动的光谱 |
| 274 | into an implementation plan. | 纳入实施计划。 |
| 275 | Each one of these tickets is supposed to just be the size | 每张票的尺寸应该都差不多 |
| 276 | of a single context window or a single smart zone. | 或单个智能区域。 |
| 277 | And if we look here, | 如果我们看看这里, |
| 278 | we can see that it's kind of given us three tickets here. | 我们可以看到这里有三张票 |
| 279 | So three slices. | 故有三块. |
| 280 | I think that these three slices are a little bit much. | 我觉得这三块有点多 |
| 281 | I actually think it can be done in one slice. | 我其实觉得可以一刀两断 |
| 282 | Do it in one slice instead. | 换成一块 |
| 283 | And so it's now put this in a file. | 现在它把这个放进档案里了 |
| 284 | So it's put the ticket in tickets.md. | 因此,它把票 在门票。 |
| 285 | Now this is quite a bad example | 现在,这是一个非常糟糕的例子 |
| 286 | because it's kind of copying the stuff | 因为它有点复制的东西 |
| 287 | that's in our product requirements documents. | 那是我们的产品要求文件。 |
| 288 | So let me show you an actual real example. | 让我给你们展示一个真正的例子。 |
| 289 | Here is a spec that I implemented a couple of days ago | 这是几天前我执行的规格 |
| 290 | to remove a bunch of stuff from a repo. | 把一堆东西从回扣中移除 |
| 291 | I'm on a real removal spree recently. | 我最近正忙着搬家呢 |
| 292 | And you can see that this is the spec | 你可以看到这是Spec |
| 293 | and underneath it has 11 sub issues. | 它下面有11个子问题。 |
| 294 | So 11 tickets underneath it. | 里面有11张票 |
| 295 | And each of these tickets, so this is a very detailed spec. | 每张门票都非常详细 |
| 296 | Each of these tickets is a single context window session. | 每张票都是单次上下文窗口会话. |
| 297 | So if we click into here, we can see it's just pretty short. | 所以,如果我们点击这里, 我们可以看到它只是相当短。 |
| 298 | Most of the acceptance criteria is already in the main spec. | 大多数验收标准已经属于主要类别。 |
| 299 | And so this one is just literally | 所以这个只是字面上 |
| 300 | what do you build in this session? | 你在这届里造了什么? |
| 301 | So that's number session one, then session two, | 所以,这是第一课,然后第二课, |
| 302 | then session three. | 然后是第三场 |
| 303 | You can see that how this breaks down a huge chunk of work | 你可以看到它是如何打破 一大块工作 |
| 304 | into manageable pieces that the agent can then go and do. | 成为可以管理的部分,然后代理可以去做。 |
| 305 | Over here, we are left with a single manageable piece. | 在这里,我们留了一块可以管理 |
| 306 | So what I'm gonna do is I'm gonna clear the context here. | 所以,我要做的是 我要清理这里的背景。 |
| 307 | Now we have everything we need | 现在我们有我们需要的一切 |
| 308 | so that we can just run a bunch of agents | 这样我们就可以运行一堆特工 |
| 309 | to tackle this problem. | 解决这一问题。 |
| 310 | So I can clear the context | 这样我就能把背景澄清了 |
| 311 | and then I'm just gonna say at tickets here | 然后我要在这里说票 |
| 312 | and before that I'll say forward slash implement this. | 在此之前,我会说前刀 执行这一点。 |
| 313 | So now because we have the spec that decides where we're going | 所以现在我们有了决定我们要去哪里的规格 |
| 314 | and the tickets that decide how we get there, | 以及决定我们如何到达那里的机票, |
| 315 | the agent has everything it needs | 经纪人有它需要的一切 |
| 316 | and we're ready to implement. | 我们准备执行 |
| 317 | Now, when you're doing this by hand, | 现在,当你用手做这个, |
| 318 | the idea is that you then implement each ticket one by one. | 想法是,你然后执行 每张票一个一个。 |
| 319 | So you don't say do every single ticket. | 所以你不说做每张票。 |
| 320 | You say, okay, we go and implement | 你说,好吧,我们去执行 |
| 321 | and then we see if we've hit the smart zone. | 然后我们看看我们是否进入了智能区。 |
| 322 | If we haven't, maybe we can squeeze in one more ticket here. | 如果我们没有,也许我们可以 挤在这里多一张票。 |
| 323 | But usually I would say you clear | 但通常我会说,你清楚 |
| 324 | in between every single ticket. | 每张票之间 |
| 325 | Then once you've done all of the implementation, | 一旦你完成了所有任务 |
| 326 | you've got your full thing all implemented, | 你已经得到了你的全部事情 全部执行, |
| 327 | then you can go and code review | 然后,你可以去 代码审查 |
| 328 | and do the final check against the spec. | 并做最后检查 与谱。 |
| 329 | We can see here it really was a very small piece of work actually. | 我们可以看到,这其实是一个非常小的作品。 |
| 330 | It's only 42.7K and it's now about to, | 才42.7K 现在就要 |
| 331 | as part of the implement, run the code review. | 作为执行的一部分,运行代码审查. |
| 332 | As part of the implement script, | 作为执行脚本的一部分, |
| 333 | it goes and runs all the type check, runs the build, | 它去运行所有类型检查,运行建筑, |
| 334 | it's doing even more verification, | 它正在做更多的核实, |
| 335 | checking AI hero internal help shows only edit commit | 检查 AI 英雄内部帮助只显示编辑执行 |
| 336 | and it's gone and loaded the code review skill. | 它已经装满了代码审查技能 |
| 337 | This review is based on two axes. | 这一审查基于两个轴心。 |
| 338 | First, it compares the work done against the original spec. | 首先,它比较了所完成的工作与原始的光谱. |
| 339 | This is really useful when you've done a huge chunk of work | 这真的有用 当你做了大量的工作 |
| 340 | and the agent might have forgotten things in tickets | 经纪人可能把票上的东西忘了 |
| 341 | or the tickets might have been unspecified. | 或者门票可能不明 |
| 342 | Doing a final pass means you actually nail everything. | 做最后的传球 意味着你真的钉了一切。 |
| 343 | And then it also checks against the standards documentation | 然后它也检查 标准文件 |
| 344 | that you've got in your own repo. | 你拥有了自己的财产 |
| 345 | In this repo, we don't really have any coding standards | 在这回购中,我们没有任何编码标准 |
| 346 | documented anywhere, but if it doesn't detect any, | 记录在任何地方, 但如果它没有发现任何, |
| 347 | then it uses some classic ones kind of from Martin Fowler. | 然后它使用一些经典的 从马丁·福勒。 |
| 348 | So it looks at code smells, | 所以它看着代码的气味, |
| 349 | tries to figure out if there's any bad stuff. | 试着找出有没有坏东西 |
| 350 | Doing these in sub-agents is really important | 用副剂做这些真的很重要 |
| 351 | because if you do it in the main agent, | 因为如果你在主干员中这样做, |
| 352 | it means that the main agent already has written the code | 意思是主要探员已经写好了密码 |
| 353 | and agents are often really bad at editing code | 并且代理商经常在编辑代码上非常糟糕 |
| 354 | or improving code they've just written | 或者改进他们刚写的代码 |
| 355 | because they've wrote it. | 因为他们写的。 |
| 356 | So they just think, okay, that's fantastic, that's fine. | 所以他们只是觉得,好吧,这太棒了,这很好。 |
| 357 | Whereas if you spawn some agents, | 如果你培养出一些特工 |
| 358 | then they're gonna have a clear context window | 然后他们会有一个清晰的背景窗口 |
| 359 | and they're gonna do a much better job reviewing the code. | 他们会做一个更好的工作审查代码。 |
| 360 | Okay, we can see that both came back. | 好吧,我们可以看到 两个都回来了。 |
| 361 | So crossed checked every acceptance criterion | 所以检查了每个验收标准 |
| 362 | against the spec and checked everything against the standards | 对照标准检查一切 |
| 363 | and cool, we're good to go. | 冷静,我们可以走了。 |
| 364 | And it's now committed against the current branch, beautiful. | 而现在却对着现在的树枝,美丽. |
| 365 | So that is our flow complete. | 这就是我们完成的流程。 |
| 366 | We aligned before we got started. | 在开始之前我们结盟了 |
| 367 | We created some spec and tickets | 我们创造了一些规格和票 |
| 368 | in order to make sure it worked over multiple sessions. | 以确保它通过多次会议开展工作。 |
| 369 | We then implemented it | 然后我们执行了它 |
| 370 | and the implement skill itself used the code review. | 而执行技能本身也使用了代码审查. |
| 371 | This is the main flow that all of my work runs through. | 这是我所有作品的主要流经. |
| 372 | And the stuff that isn't in the main flow | 和没有在主流中的东西 |
| 373 | is stuff that I'm experimenting with, | 我所尝试的东西, |
| 374 | stuff that I'm improving. | 东西,我正在改进。 |
| 375 | I'm always trying to get this loop faster, better, easier to run. | 我总是试图让这个循环 更快,更好,更容易运行。 |
| 376 | And for that, if you're interested in that, | 如果你对此感兴趣 |
| 377 | then you should check out my newsletter for these skills. | 那你应该看看我的通讯 这些技能。 |
| 378 | This YouTube channel is a great place to be | 这个YouTube频道是一个伟大的地方 |
| 379 | for subscribing to understanding more about the skills. | 更了解这些技能 |
| 380 | But really the good stuff is on the newsletter. | 但是,真的好的东西 在通讯上。 |
| 381 | If you want on the day updates when I ship new skills, | 如果你想在一天更新 当我运送新的技能, |
| 382 | when I add updates that you need to keep updated with, | 当我补充更新 你需要保持更新, |
| 383 | then this is the place to be. | 那么这里就是了 |
| 384 | But thank you so much for watching. | 不过谢谢你的观看 |
| 385 | Hopefully this tutorial gives you an idea | 希望这个教程能给你一个想法 |
| 386 | on how to get set up with the skills | 如何运用技能 |
| 387 | and what the main flow is supposed to be. | 以及主流应该是什么。 |
| 388 | Thanks for watching. | 谢谢你的观看。 |
| 389 | Happy skilling and I will see you very soon. | 快乐的技巧,我会看到你很快。 |
该视频共有字幕 389 条。解锁更多字幕为会员功能,请移动到 价格
