Luyện nói tiếng Anh bằng Shadowing qua video: Spec Driven Workflow with Claude Code #1 - Making a /spec Command

Chọn chế độ luyện tập

Mỗi chế độ mở một phòng luyện tập toàn màn hình.

144 câu
Nếu các câu quá ngắn hoặc quá dài, hãy bấm Edit để chỉnh sửa.
1
All right then gang, so I just recently released a new Claude Code masterclass on netninja.dev
2
which is a deep dive into Claude Code and how I use it within my own projects.
3
And I wanted to upload a small preview of that course here on YouTube.
4
So I decided to release a small chapter of it all about setting up
5
and using a custom spec-driven workflow because I think this small chapter sits well on its own.
6
And I also think it's a good way of working with any agentic coding tools, not just Claude Code.
7
And I wanted to share it.
8
So if you do like this small free chapter
9
and you want to learn more about the process and dive much deeper into Claude Code and Agentec workflows, then definitely grab the full masterclass from the netninja.dev website.
10
It's $15, but you can still get it half price using the promo code ClaudeNinja at the checkout.
11
So I'll leave this link down below the video and now I'll just cut straight into the content.
12
All right then, my friends, welcome to a brand new chapter
13
and in this one I'm going to share with you one of the workflows I like to use
14
when I'm working with Cloud Code in a project and
15
that is a spec driven development workflow whereby we create a
16
high level non-technical specification for any new feature then we create a detailed technical development plan based on
17
that spec and then finally we use that plan to implement the feature
18
and by using a workflow like this I find it keeps the model more focused on the task
19
and makes any guesswork or incorrect assumptions about any features it's working on to a minimum.
20
Now the inspiration for this kind of spec first workflow came from a tool by GitHub called SpecKit
21
which goes heavy on the philosophy of having a high level spec at the heart of AI driven development.
22
But personally as a developer who likes to be very hands-on
23
and stay firmly within the development loop myself I think
24
that SpecKit makes me feel a little bit too detached from the whole process of adding new features.
25
So I've stripped that process back and I've come up with my own lightweight and much simpler approach, which makes it easier for me to add my own input and manage the process.
26
And therefore it hands a lot of that agency back to me, the developer.
27
So throughout this chapter then, we'll be putting everything together to implement this spec driven workflow.
28
To begin with, we'll make a new custom slash command to help us automate the process of generating high level
29
and non-technical specs for new features.
30
After that, we'll be using Claude Codes built in planning mode to make detailed technical plans for implementing those specs.
31
And then finally, we'll be using Claude Codes extending thinking mode along with the Opus model to implement those plans.
32
And they're the three core steps involved in this workflow
33
that we're going to be focusing on in this chapter spec
34
out a new feature plan the feature then implement the plan
35
now you could also add a review step at the end
36
of this cycle to review the code once the feature has been implemented
37
but that's something we're going to look at in a later chapter
38
and we'll just focus on the first three steps for now
39
i'll also be integrating git into the workflow as well so
40
that every time we start a new specification
41
or feature cloud code switches us to a new branch and
42
that way if things do go south we can just delete the branch
43
and our main code base remains untouched again i would strongly advise using git
44
and github if you ever use ai to touch your code
45
because without it things can get really messy really quickly believe me now
46
if you're new to version control
47
and you do want to learn about it then i've got a big git
48
and github masterclass course that you can check out and i will leave a link to that below the video.
49
Anyway, let's crack on with this workflow by first of all, creating a new custom slash command to generate specs.
50
All right, so now we know about the general process of this spec-driven workflow, let's start off by making a new spec command.
51
And this spec command is going to do a few things for us.
52
First, it's going to generate a feature name
53
and a branch name based on the input or arguments that we provide to the command.
54
Second, it's going to switch to a new branch with the name it comes up with
55
and then it's going to make a high level feature specification based on our import
56
and write that spec to a file inside a specs folder
57
and this specification like I mentioned before is going to be
58
a high level one meaning it shouldn't go into too much
59
detail about how the feature should be implemented from a technical viewpoint
60
but rather focus on the bigger picture and how the feature should behave from a user's perspective I guess, including any edge cases and wider implications.
61
So then let's make this new spec command by opening the commands folder in the .cloud directory
62
and then making a new file called spec.md, which means to run the command later, we're going to type out forward slash spec.
63
Okay, so now we can start to flesh out this file.
64
And the first thing I want to do, like in all the other commands we've made, is make some front matter for the command description and allowed tools at the top,
65
and also to add an argument hint as well.
66
So then let's start with the three dashes to go either side of this front matter section.
67
And then inside those dashes, I'm just going to paste in three different keys and values.
68
The description, which says create a feature spec file and branch from a short idea.
69
An argument hint, which is the short feature description, and the allowed tools, which are read, write, glob, and bash to switch to a new branch.
70
So that's the front matter sorted.
71
And now we just need to write out the actual command itself.
72
And rather than me type all of this out from scratch, I'm just going to paste this in and walk through it all with you step by step.
73
And by the way, like I mentioned before, you can get this entire command yourself from the GitHub repo for the course files.
74
All you need to do is select the Claude Snippets branch from the drop down up here, then go into the commands folder where you're going to see this spec command plus any other command
75
that we make as well.
76
So if you click on that command, you're going to see all the content for that file, which you can just copy and paste into your own file.
77
So then let me just paste all of this in
78
and then we'll walk through it slowly it first of all then we have this summary at the top
79
which tells the model it's going to be making a new
80
feature spec for the application using the user input below
81
which we say down here is from the arguments so
82
when we run the spec command later we'll be adding a sentence
83
or two about the new feature we want to spec
84
so the model can use
85
that input we also tell the model to respect anything inside
86
the clawed md file next down here we go into a
87
little bit more detail outlining the steps the model needs to take using
88
that user input starting with creating a feature title in kebab
89
case then making a safe branch name for the feature
90
and finally writing a detail markdown spec in the specs directory
91
which we don't have yet but we will make shortly below
92
that outline we go into each step in more detail starting with the step one
93
which is to check the current branch for uncommitted or unstaged changes
94
if we have any of those we tell the model to abort the whole process
95
and instruct the user to either stash or commit the changes first.
96
After that, we tell the model to parse the input arguments to extract or come up with the following values.
97
A feature title, a feature slug which follows the below criteria, like lowercase letters, kebab case, only letters and numbers, replace spaces with dashes, and so on.
98
Then finally, a safe Git branch name with the following format, claude forward slash feature forward slash then whatever the slug value is.
99
And we give an example of that down below.
100
So then once the model has extracted those values, the next step down here is for Claude code to switch
101
us to the new feature branch using the branch name the model just came up with.
102
After that, we asked the model to create the actual spec markdown file
103
and save it in the specs folder using the feature slug it just came up with.
104
We also mentioned here that we'll be using plan mode later to plan the spec
105
and we're going to talk about plan mode later in this chapter
106
but as well as
107
that we tell the model to use the same structure for
108
the spec file as the spec template file right here using the at symbol to manually add that template file as context.
109
Now we don't have that template file created yet but again we will make it shortly.
110
We also tell the model not to add any technical implementation details such as code examples
111
because that's what the planning step is for later.
112
Finally, once that spec's been created, we ask the model to respond with a short summary of what it's done,
113
including the branch name, the spec file location, and the feature title.
114
So that is the spec band done now.
115
We're going to be using this in the next lesson to spec out a new feature, but for now, all we need to do is create that underscore specs folder,
116
which is going to create all the new spec files in
117
and we also need to create the template file
118
because it's going to use that file to create those specs right
119
so let's cross this off
120
and then we'll create a new folder in the root directory called underscore specs
121
and the only reason i'm using an underscore right here is
122
so that this folder sits at the top of the tree there's no deeper meaning than
123
that but inside that now we're going to create a new file called template.md
124
and i'm just going to paste in this template it's very very simple
125
but i'll go through it so we have the feature name at the top
126
then the branch name it chooses and then down here we say figma component
127
if used now don't worry about this too much for now later in the course we'll be using figma
128
and we're going to integrate that into the spec command
129
so we'll come back to
130
that later for now we're not using figma anyway we have these different sections
131
that we want cloud code to fill in
132
when it's creating this spec file so we have a summary of the spec
133
or feature any functional requirements the figma design reference only have referenced again.
134
Don't worry about that too much for now.
135
We'll come back to it later.
136
And then down here, any possible edge cases, the acceptance criteria, open questions.
137
So if it has any questions it wants to ask us, put them there and then we can go in and answer those questions.
138
And then any testing guidelines at the bottom.
139
And I've also said here, create a test file in the test folder for any new feature
140
and create meaningful tests for the following cases without going too heavy.
141
So obviously I don't know the test cases.
142
That's for Claude Co to decide when we're speccing out the new feature.
143
All right, so now we have the new command, this spec command, and we have this template so that when it's creating specs, it uses this template.
144
In the next lesson, let's create a new spec for a brand new feature.

Tải Ứng Dụng

Mọi thứ bạn cần để nói trôi chảy

Chấm điểm AIChấm từng câu nói
Luyện IPAThành thạo mọi âm
Từ vựngMở rộng vốn từ
Game Từ vựngHọc qua chơi

Cùng kênh

FOR YOU

Video gợi ý

Từ vựng và ghi chú luyện nói cho bài học này

Bài luyện nói trình độ C1 này dựa trên video “Spec Driven Workflow with Claude Code - Making a /spec Command”. Những từ được nhắc lại nhiều nhất trong bài: spec, feature, command, file, code. Video này có 144 câu và 2093 từ để luyện shadowing. Phần lời nói dài 10:05. Người nói nói nhanh, khoảng 208 từ mỗi phút, nên sẽ có nhiều chỗ nối âm và nuốt âm. 83% số từ nằm trong 3.000 từ tiếng Anh thông dụng nhất; phần còn lại nên xem trước khi luyện.

Từ vựng quan trọng trong video

15 từ khó nhất trong video, kèm phiên âm và nghĩa:

TừPhiên âmNghĩa
spectacles danh từ/ˈspɛktəkl̩z/kính, mắt kính
template danh từ/ˈtɛm.plɪt/bản mẫu, khuôn mẫu
folder danh từ/ˈfoʊldɚ/bìa hồ sơ
pasta danh từ/ˈpɑ.stə/mì ống
specification danh từquy cách, quy phạm
slug danh từ/slʌɡ/sên
dash danh từ/ˈdæʃ/dấu gạch ngang
criterion danh từ/kɹaɪˈtɪɹ.i.ən/tiêu chuẩn
guideline danh từ/ˈɡaɪdˌlaɪn/hướng dẫn, khuyến cáo
claw danh từ/klɔ/móng, vuốt
checkout danh từ/ˈt͡ʃɛkˌaʊt/quầy tính tiền, quầy thu tiền
messy tính từ/ˈmɛsi/lộn xộn, hỗn loạn
incorrect tính từ/ˌɪn.kəˈɹɛkt/không chính xác, sai
upload động từ/ˈʌpˌloʊd/tải lên
behave động từ/bɪˈheɪv/cư xử

Cụm động từ bạn sẽ nghe

TừNghĩa
check out động từtính tiền, trả phòng

Ngữ pháp trong video

Những cấu trúc người nói dùng nhiều nhất, kèm đúng cụm từ trong video:

Cấu trúcTrong video
Thì hiện tại hoàn thành have/has + quá khứ phân từ — việc đã xảy ra nhưng còn liên quan đến hiện tạiI've stripped · has been implemented · we've made
Câu bị động be + quá khứ phân từ — nhấn vào việc xảy ra, không phải người làmhas been implemented · should be implemented · are read
Mệnh đề quan hệ who / which + mệnh đề — thêm thông tin về người hoặc vậtapproach, which makes · hint, which is

Phát âm cần chú ý

Người nói dùng 46 dạng rút gọn, ví dụ we'll, we're, I'm. Hãy nói theo dạng ngắn đúng như bạn nghe.

  • Âm “sh” và “zh”: speculation /ˌspɛk.jəˈleɪ.ʃən/, dash /ˈdæʃ/, stash /stæʃ/, implication /ˌɪmpləˈkeɪʃən/, bash /bæʃ/
  • Từ dài — đặt trọng âm cho đúng: speculation /ˌspɛk.jəˈleɪ.ʃən/, directory /dɪˈɹɛktəɹi/, criterion /kɹaɪˈtɪɹ.i.ən/, implication /ˌɪmpləˈkeɪʃən/, manually /ˈmænj(u)əliː/

Những âm người Việt thường gặp khó:

  • Cụm phụ âm cuối — đọc đủ từng âm, đừng nuốt âm cuối: extract /ˈɛkstɹækt/, hint /hɪnt/, instruct /ɪnˈstɹʌkt/, untouched /ʌnˈtʌt͡ʃt/, viewpoint /ˈvjuː.pɔɪnt/
  • Âm /tʃ/, /dʒ/ và /ʒ/ — tiếng Việt không có, đừng đọc thành “ch” hay “gi”: agentic /eɪˈd͡ʒɛn.tɪk/, detach /dɪˈtæt͡ʃ/, untouched /ʌnˈtʌt͡ʃt/, checkout /ˈt͡ʃɛkˌaʊt/
  • Âm /æ/ — mở miệng rộng hơn âm “e”: dash /ˈdæʃ/, extract /ˈɛkstɹækt/, detach /dɪˈtæt͡ʃ/, stash /stæʃ/, manually /ˈmænj(u)əliː/

Cách luyện với video này

  1. Nghe hết video một lần, chưa cần nói, và ghi lại những từ bạn chưa biết.
  2. Bắt đầu ở tốc độ 0,75×, nói đuổi từng câu, rồi quay lại tốc độ bình thường khi đã quen.
  3. Ghi âm giọng mình rồi so với bản gốc, chú ý các từ như spectacles, template, folder.

Phương Pháp Shadowing Là Gì?

Shadowing là kỹ thuật học ngôn ngữ có cơ sở khoa học, ban đầu được phát triển cho chương trình đào tạo phiên dịch viên chuyên nghiệp và được phổ biến rộng rãi bởi nhà đa ngôn ngữ học Dr. Alexander Arguelles. Nguyên lý cốt lõi đơn giản nhưng cực kỳ hiệu quả: bạn nghe tiếng Anh của người bản xứ và lặp lại to ngay lập tức — như một "cái bóng" (shadow) đuổi theo người nói với độ trễ chỉ 1–2 giây. Khác với luyện ngữ pháp hay học từ vựng bị động, Shadowing buộc não bộ và cơ miệng phải đồng thời xử lý và tái tạo ngôn ngữ thực tế. Các nghiên cứu khoa học xác nhận phương pháp này cải thiện đáng kể phát âm, ngữ điệu, nhịp điệu, nối âm, kỹ năng nghe và độ lưu loát khi nói — đặc biệt hiệu quả cho người luyện IELTS Speaking và muốn giao tiếp tiếng Anh tự nhiên như người bản ngữ.

Phương pháp shadowing: đọc hướng dẫn từng bước đầy đủ →