1
00:00:00,000 --> 00:00:04,119
Yesterday, we covered a ton of ground with MCP and skills and plugins,

2
00:00:04,119 --> 00:00:07,360
and sometimes it can feel a bit overwhelming with so much choice.

3
00:00:07,360 --> 00:00:09,479
Today, we're going to put some of it into action.

4
00:00:09,479 --> 00:00:13,800
We're going to get more concrete about what makes a good workflow

5
00:00:13,800 --> 00:00:19,520
for building business functionality in Cloud Code or in the other CLI tools.

6
00:00:19,520 --> 00:00:22,079
We're also going to think about team interactions

7
00:00:22,079 --> 00:00:24,600
and about the right approach for debugging.

8
00:00:24,600 --> 00:00:26,799
A big day, another purple day.

9
00:00:26,799 --> 00:00:29,200
Welcome to week two, day four.

10
00:00:29,200 --> 00:00:30,079
Let's get started.

11
00:00:30,079 --> 00:00:34,360
As always, we begin with a recap after such a big day

12
00:00:34,360 --> 00:00:39,439
of the three ways to add some juice to Cloud Code.

13
00:00:39,439 --> 00:00:44,080
One of them is MCP using this standard invented by Anthropic

14
00:00:44,080 --> 00:00:47,759
for connecting other people's tools to our Cloud Code.

15
00:00:47,759 --> 00:00:52,000
One of them is skills, this nice, lightweight, flexible way

16
00:00:52,000 --> 00:00:55,319
to take some markdown and associated commands and scripts

17
00:00:55,319 --> 00:01:00,080
and using this very elegant approach that's very context-friendly,

18
00:01:00,080 --> 00:01:02,919
adding expertise and capabilities.

19
00:01:02,919 --> 00:01:08,720
And then the third, the plugins are like packages of MCP and skills

20
00:01:08,720 --> 00:01:12,080
and perhaps other things like commands and agents.

21
00:01:12,080 --> 00:01:15,319
Putting them all together and being able to install them in one go.

22
00:01:15,319 --> 00:01:20,040
And of course, there are pros and cons of all of these,

23
00:01:20,040 --> 00:01:21,599
as is so often the case.

24
00:01:21,599 --> 00:01:27,080
And with MCP, the big pro is just the enormity of the ecosystem.

25
00:01:27,080 --> 00:01:29,480
The con is that they can use up context,

26
00:01:29,480 --> 00:01:32,080
although not so much now with some of the recent improvements,

27
00:01:32,080 --> 00:01:35,279
but also that they're kind of hard to work with sometimes.

28
00:01:35,279 --> 00:01:38,639
Skills are more efficient, they're simple.

29
00:01:38,639 --> 00:01:41,639
You often get really good results with skills.

30
00:01:41,639 --> 00:01:46,720
Some of the negatives is that they're not as powerful, as flexible as MCP,

31
00:01:46,720 --> 00:01:50,319
particularly some of the things like authorization, authentication,

32
00:01:50,319 --> 00:01:53,480
that's really built into the MCP standard is stronger.

33
00:01:53,480 --> 00:01:55,680
And they're still quite immature.

34
00:01:55,680 --> 00:01:58,480
And plugins, in some ways the best of both,

35
00:01:58,480 --> 00:02:01,720
but it is just a Claude Code thing, at least as of now.

36
00:02:01,720 --> 00:02:05,760
Although I think many of the other platforms have their own versions of it.

37
00:02:05,760 --> 00:02:08,960
And it can be tempting just to slam in tons and tons of plugins.

38
00:02:08,960 --> 00:02:12,399
And again, you can then start to get degrading performance

39
00:02:12,399 --> 00:02:18,080
if you give your LLM, your Opus, too many options, too many possibilities.

40
00:02:18,080 --> 00:02:21,160
For a start, it can sometimes not know which one you want it to use.

41
00:02:21,160 --> 00:02:24,000
And usually where the right way to navigate this is to think,

42
00:02:24,000 --> 00:02:25,960
you know what, let's start with plugins,

43
00:02:25,960 --> 00:02:28,080
have a look at the plugins marketplace.

44
00:02:28,080 --> 00:02:30,919
Maybe you'll connect to other marketplaces as we will do at some point,

45
00:02:30,919 --> 00:02:34,279
and then use a plugin that makes sense for you.

46
00:02:34,279 --> 00:02:37,440
And then there are specific situations when you might use MCP,

47
00:02:37,440 --> 00:02:39,800
such as when you want specific functionality

48
00:02:39,800 --> 00:02:43,479
and there's an ideal MCP server from the enormous ecosystem.

49
00:02:43,479 --> 00:02:46,279
And there are specific situations when skills make sense.

50
00:02:46,279 --> 00:02:50,639
One of the reasons is because they're so easy to share them with others in your team.

51
00:02:50,639 --> 00:02:53,960
You can just put skills into your .claude folder

52
00:02:53,960 --> 00:02:57,000
and then check that into GitHub, commit it, push it,

53
00:02:57,000 --> 00:03:01,039
and suddenly your other team members will be able to have the same skills as you.

54
00:03:01,039 --> 00:03:02,479
And that's really convenient.

55
00:03:02,479 --> 00:03:05,759
Okay, so for the rest of today, there's going to be no more slides.

56
00:03:05,759 --> 00:03:07,399
It's going to be doing.

57
00:03:07,399 --> 00:03:11,839
We are going to work together on going through a disciplined process,

58
00:03:11,839 --> 00:03:15,000
a workflow for building business functionality

59
00:03:15,000 --> 00:03:19,279
using Claude Code and using plugins and using MCP servers and maybe some skills, whatever.

60
00:03:19,279 --> 00:03:23,600
We'll use a bunch of them together as a way to build out code.

61
00:03:23,600 --> 00:03:27,440
And this is going to form the start of the two-day project, basically,

62
00:03:27,440 --> 00:03:30,240
because we're going to conclude this tomorrow with the main project,

63
00:03:30,240 --> 00:03:32,360
and it's going to be something that we'll build out together.

64
00:03:32,360 --> 00:03:33,119
But here's the thing.

65
00:03:33,119 --> 00:03:36,759
The crazy thing about this course and using something like Claude Code

66
00:03:36,759 --> 00:03:41,880
is that you can choose to follow along and do something very similar to what I do,

67
00:03:41,880 --> 00:03:44,600
or you could do something completely different,

68
00:03:44,600 --> 00:03:47,880
have a different idea and follow along with the same kind of workflow and process,

69
00:03:47,880 --> 00:03:49,720
but build your own thing.

70
00:03:49,720 --> 00:03:52,119
And you can also choose to somewhere in the middle.

71
00:03:52,119 --> 00:03:54,600
You can follow the general idea I'm going to have,

72
00:03:54,600 --> 00:03:57,600
but then take it off in your own unique direction.

73
00:03:57,600 --> 00:04:00,639
This is a choose-your-own-adventure moment.

74
00:04:00,639 --> 00:04:03,080
I'm going to give you the general techniques.

75
00:04:03,080 --> 00:04:05,360
I'm going to give you the general workflow ideas.

76
00:04:05,360 --> 00:04:08,919
I'm going to equip you with the skills, the toolkit,

77
00:04:08,919 --> 00:04:11,360
so that you can go off and do some debugging.

78
00:04:11,360 --> 00:04:14,839
But I'm not necessarily going to give you the exact recipe and the answers,

79
00:04:14,839 --> 00:04:17,040
because it's going to be different for everyone.

80
00:04:17,040 --> 00:04:21,480
That is the crazy thing about Claude Code and these tools generally.

81
00:04:21,480 --> 00:04:26,600
This is about the art of the possible, not necessarily one prescriptive path to follow.

82
00:04:26,600 --> 00:04:30,119
So today we're going to be building out the kind of development process

83
00:04:30,119 --> 00:04:35,640
that you can use yourself and that your teams can use and may well be using.

84
00:04:35,640 --> 00:04:39,799
And it's a process that covers the entire development lifecycle.

85
00:04:39,799 --> 00:04:41,839
And we need to start at the beginning.

86
00:04:41,839 --> 00:04:44,440
Where do these things usually start?

87
00:04:44,440 --> 00:04:47,359
And you might say, well, perhaps a business requirements document

88
00:04:47,359 --> 00:04:50,079
or a meeting with your business sponsor or something like that.

89
00:04:50,079 --> 00:04:52,000
But that's too stark for me.

90
00:04:52,000 --> 00:04:53,959
I'm talking a little bit further down than that.

91
00:04:53,959 --> 00:04:58,720
I'm talking about when things become a JIRA ticket.

92
00:04:58,720 --> 00:05:02,679
JIRA, something that I imagine 90% of you are very familiar with.

93
00:05:02,679 --> 00:05:04,600
It's almost ubiquitous.

94
00:05:04,600 --> 00:05:09,600
Atlassian's product that's used to manage our work into JIRA issues.

95
00:05:09,600 --> 00:05:13,239
And so that is what I'm going to suggest we use as our starting point.

96
00:05:13,239 --> 00:05:16,920
But similarly, a lighter weight version of it that a lot of people use

97
00:05:16,920 --> 00:05:18,480
is having issues in GitHub.

98
00:05:18,480 --> 00:05:21,519
And you could also start from GitHub if that's what you'd prefer.

99
00:05:21,519 --> 00:05:24,679
But what I'm going to do now is I am going to do something unusual,

100
00:05:24,679 --> 00:05:27,839
which is I'm going to sign up for a new plan with JIRA.

101
00:05:27,839 --> 00:05:33,399
Of course, we use it in all of the jobs I can imagine I've had for the last few jobs.

102
00:05:33,399 --> 00:05:36,920
But we might as well get our own version of it for our experiments.

103
00:05:36,920 --> 00:05:41,440
And it's free for a small number of users.

104
00:05:41,440 --> 00:05:43,519
So we can sign up to JIRA for free,

105
00:05:43,519 --> 00:05:46,880
which is what we'll do now at atlassian.com slash software slash JIRA.

106
00:05:46,880 --> 00:05:48,480
I'll put a link in the resources.

107
00:05:48,480 --> 00:05:49,880
You don't need to do this if you don't want,

108
00:05:49,880 --> 00:05:52,320
because an easier way is just to use GitHub.

109
00:05:52,320 --> 00:05:55,799
But JIRA is so ubiquitous that we might as well do it now.

110
00:05:55,799 --> 00:05:58,799
So I'm going to press the Get It Free button to come on here.

111
00:05:58,799 --> 00:06:00,000
Get started with JIRA.

112
00:06:00,000 --> 00:06:03,200
It's free for up to 10 users, no credit card needed.

113
00:06:03,200 --> 00:06:04,239
I like the sound of that.

114
00:06:04,239 --> 00:06:05,679
I'm going to use Google Auth.

115
00:06:05,679 --> 00:06:12,839
I'm going to come in with this email address. Come on in. Here we go. Full name.

116
00:06:12,839 --> 00:06:13,559
That seems nice.

117
00:06:13,559 --> 00:06:17,839
I guess I'll use my informal name. Continue.

118
00:06:17,839 --> 00:06:20,040
And that's going to be my site.

119
00:06:20,040 --> 00:06:23,160
That seems pretty good since that's my website too.

120
00:06:23,160 --> 00:06:25,440
We'll stick with that.

121
00:06:25,440 --> 00:06:27,679
And it's thinking about that.

122
00:06:27,679 --> 00:06:29,440
And it's all getting set up.

123
00:06:29,440 --> 00:06:31,920
So you don't need to do this if you don't want to.

124
00:06:31,920 --> 00:06:33,160
Part of the choose your own adventure.

125
00:06:33,160 --> 00:06:35,000
Should you wish to be hooked up to JIRA,

126
00:06:35,000 --> 00:06:36,279
then please do that too.

127
00:06:36,279 --> 00:06:38,799
And when you come into JIRA, you should see a screen

128
00:06:38,799 --> 00:06:42,079
a bit like this with Spaces in it.

129
00:06:42,079 --> 00:06:43,920
If you don't have this kind of screen

130
00:06:43,920 --> 00:06:45,119
or something a bit like this,

131
00:06:45,119 --> 00:06:48,480
you can go to this app icon up here and select JIRA,

132
00:06:48,480 --> 00:06:50,320
and it should take you to something like this.

133
00:06:50,320 --> 00:06:52,480
Spaces is like the new name

134
00:06:52,480 --> 00:06:54,760
for what used to be called JIRA Projects.

135
00:06:54,760 --> 00:06:56,959
Not to be confused with something that comes up here,

136
00:06:56,959 --> 00:06:59,079
which says Projects, which is something different,

137
00:06:59,079 --> 00:07:01,079
which is like for project management.

138
00:07:01,079 --> 00:07:02,920
Super confusing.

139
00:07:02,920 --> 00:07:04,799
But for people that know JIRA back to front,

140
00:07:04,799 --> 00:07:07,399
this is all stuff you know well.

141
00:07:07,399 --> 00:07:10,119
So what we're gonna do is do Create Space.

142
00:07:10,119 --> 00:07:13,040
This is where you can set up your own space.

143
00:07:13,040 --> 00:07:14,880
And depending on quite how you've come through,

144
00:07:14,880 --> 00:07:17,760
you might've already had a chance to create your space.

145
00:07:17,760 --> 00:07:19,559
And I'm going to go for a tap,

146
00:07:19,559 --> 00:07:22,440
typical software development space.

147
00:07:22,440 --> 00:07:25,399
Kanban, which is a term we're familiar with,

148
00:07:25,399 --> 00:07:28,559
is very standard way of doing it.

149
00:07:28,559 --> 00:07:30,959
And now we're going to describe our space.

150
00:07:31,000 --> 00:07:34,679
Okay, so we're gonna call our space Pre-Legal.

151
00:07:34,679 --> 00:07:37,079
That's gonna be the name of our product, Pre-Legal.

152
00:07:37,079 --> 00:07:39,559
The idea is we're gonna build a product

153
00:07:39,559 --> 00:07:42,959
that is something that is able to draft legal documents

154
00:07:42,959 --> 00:07:44,640
for a user, for a company.

155
00:07:44,640 --> 00:07:48,880
It can draft an NDA, a client contract, an engagement,

156
00:07:48,880 --> 00:07:52,440
anything like that based on a repository of templates.

157
00:07:52,440 --> 00:07:53,760
And I'm calling it Pre-Legal

158
00:07:53,760 --> 00:07:56,760
because it's not meant to replace a lawyer.

159
00:07:56,760 --> 00:07:58,880
It's just meant to do some of the pre-work

160
00:07:58,880 --> 00:08:01,760
so that a lawyer, an attorney,

161
00:08:01,760 --> 00:08:03,920
or a paralegal can be best set up,

162
00:08:03,920 --> 00:08:06,399
or it might be a tool that a lawyer would use.

163
00:08:06,399 --> 00:08:08,559
So that's gonna be the name of our product.

164
00:08:08,559 --> 00:08:12,040
It seems like a juicy product that could use some gen AI

165
00:08:12,040 --> 00:08:14,760
and could be something potentially we could monetize.

166
00:08:14,760 --> 00:08:17,000
So that is what our project is gonna be.

167
00:08:17,000 --> 00:08:19,480
And for select how your space is managed,

168
00:08:19,480 --> 00:08:21,480
I'm going to say team managed.

169
00:08:21,480 --> 00:08:22,760
So we don't need to work with others

170
00:08:22,760 --> 00:08:25,320
across many spaces in a way.

171
00:08:25,320 --> 00:08:27,480
And access we'll have as open.

172
00:08:27,480 --> 00:08:30,200
Anyone with access to this site, which is only me,

173
00:08:30,200 --> 00:08:31,519
will have access to this.

174
00:08:31,519 --> 00:08:34,039
And the key, which is gonna be, as it tells us,

175
00:08:34,039 --> 00:08:37,159
the prefix that's gonna come before everything.

176
00:08:37,159 --> 00:08:39,520
We'll just go with PL for Pre-Legal,

177
00:08:39,520 --> 00:08:41,119
something really simple.

178
00:08:41,119 --> 00:08:45,919
Okay, that is going to be our project.

179
00:08:45,919 --> 00:08:48,320
This seems good, no longer called a project.

180
00:08:48,320 --> 00:08:49,840
Now it's called a space.

181
00:08:49,840 --> 00:08:54,799
In we come, and this is going to set up our pre-legal space

182
00:08:54,799 --> 00:08:57,559
that we will use going forwards.

183
00:08:57,559 --> 00:08:59,599
And now it wants to bring team along.

184
00:08:59,599 --> 00:09:01,760
This is where we get to involve others in this.

185
00:09:01,760 --> 00:09:03,280
And this is how you would work with your team.

186
00:09:03,280 --> 00:09:04,960
And typically in a company set up,

187
00:09:04,960 --> 00:09:07,159
you would have a whole team of people collaborating

188
00:09:07,159 --> 00:09:09,520
on one Jira board, as you probably know.

189
00:09:09,520 --> 00:09:12,000
And so I'm gonna say, I'll do this later.

190
00:09:12,000 --> 00:09:13,880
And connect your work, activate.

191
00:09:13,880 --> 00:09:16,520
We'll just press done there.

192
00:09:16,520 --> 00:09:17,960
And we are done.

193
00:09:17,960 --> 00:09:21,960
We have pre-legal set up. Here it is.

194
00:09:21,960 --> 00:09:24,479
We have our very own board.

195
00:09:24,520 --> 00:09:26,239
And on that note, it is quite fun to see

196
00:09:26,239 --> 00:09:28,200
that this is in fact a Kanban board,

197
00:09:28,200 --> 00:09:31,159
something that we're familiar with perhaps.

198
00:09:31,159 --> 00:09:33,359
We'll see how its functionality compares

199
00:09:33,359 --> 00:09:34,960
to something we've done before.

200
00:09:34,960 --> 00:09:37,719
All right, so we're now going to create

201
00:09:37,719 --> 00:09:41,159
our first Jira issue, as they're called.

202
00:09:41,159 --> 00:09:42,760
At least they used to be called that.

203
00:09:42,760 --> 00:09:43,960
Now they're called something different,

204
00:09:43,960 --> 00:09:47,599
but we're still in the same mindset of a Jira issue.

205
00:09:47,599 --> 00:09:49,320
Let's go and create that now.

206
00:09:49,320 --> 00:09:51,200
Okay, I'm gonna press the create button.

207
00:09:51,200 --> 00:09:53,239
It says what needs to be done.

208
00:09:53,239 --> 00:09:55,880
So we're gonna put in something very simple here.

209
00:09:55,880 --> 00:10:00,880
We're going to say we need a simple website

210
00:10:03,559 --> 00:10:08,559
that describes the pre-legal company.

211
00:10:13,320 --> 00:10:14,320
There we go.

212
00:10:14,320 --> 00:10:18,559
So that has been created and it's called PL-1.

213
00:10:18,559 --> 00:10:20,039
If I click on it, it comes up.

214
00:10:20,039 --> 00:10:22,799
We'll see what this is. Here it is.

215
00:10:23,559 --> 00:10:26,960
It's a work item, which used to be, I think,

216
00:10:26,960 --> 00:10:28,440
what we call a Jira issue.

217
00:10:28,440 --> 00:10:32,159
It's a task, which is the lowest level of granularity.

218
00:10:32,159 --> 00:10:35,840
And that's something that we've now set up in Jira.