Spec-Driven Network Automation with Itential Builder Skills

Building network automation workflows used to mean writing logic by hand, task by task, adapter by adapter. In this demo, Principal Solutions Engineer Joksan Flores shows how to use Itential Builder Skills – installed directly into Claude Code – to build and run a spec-driven DNS automation workflow in the Itential platform. He provides a natural-language spec file describing a DNS A record provisioning workflow for Infoblox, then lets the AI agent take care of the rest: managing the workflow build, form entry, and email notification.

The result: a deployed, production-ready automation workflow. No manual task construction. No adapter configuration from scratch. Just define what the automation needs to do, and let the agent handle the rest.

What are Itential Agentic Builder Skills?

Itential Builder Skills are a set of AI agent skills, installable via Claude Code or any compatible AI coding tool, that let automation engineers build platform workflows, form entries, configuration templates, and other assets from a plain-language spec file. Instead of building automation logic by hand, engineers describe what they want the workflow to do, and the Builder Skills allow the agent to generate and deploy the assets directly into the platform.

What You’ll See:

1. Installing Builder Skills into Claude Code
  • Add the itential/builder-skills repo directly to Claude Code’s marketplace in a single command
  • Install for user or project scope – no complex environment setup required
  • Gain immediate access to 13 skills, 5 agents, and a full suite of platform-aware build capabilities including workflow builder, command template, IAG service, and golden config inventory skills
2. Spec-Driven Development in Practice
  • Write what the automation should do in plain language – no UML required, no complex diagram tooling
  • Define the entry point, workflow logic, form field structure, project membership, and validation rules – all in a single markdown spec file
  • Watch Claude Code read the spec, bootstrap the Itential environment, discover available adapters, and generate all assets while Joksan walks through what the spec contains
3. From Spec to Deployed Project
  • See the complete DNS A record provisioning project appear in the platform: a 10-task workflow, a form-triggered automation entry, and Infoblox adapter integration – all built in under two minutes of active run time
  • Validate the result directly in Itential Operations Manager: form fields, dropdown values, and workflow structure all match the spec exactly
  • Run the workflow live: enter a hostname, zone, and IP address, launch the automation, and receive the confirmation email – end to end

Why This Approach Works

Focus on Logic, Not Construction

The hardest part of building network automation isn’t understanding what needs to happen – it’s translating that understanding into platform-specific assets task by task. Spec-driven development inverts that. Automation engineers spend time on the logic of the use case, not on the mechanics of building it. The Builder Skills handle construction.

Discrete, Composable Use Cases by Design

Itential encourages building automation as simple, discrete functions rather than sprawling monolithic workflows. The DNS A record provisioning workflow in this demo is intentionally focused: one entry point, one clear outcome, clean error handling. Discrete workflows become components. Components compose into larger automation programs. Spec-driven development makes that pattern fast to execute from the start.

Specs as the Starting Point for Everything Downstream

The spec file isn’t just an input to the build process – it’s documentation, design artifact, and build instruction in one. The Builder Skills can also generate solution design documents and as-built documentation from the same spec, giving teams a complete record of what was built and why. For teams managing large automation programs across multiple engineers, that matters.

Why It Matters

Spec-driven development addresses a problem that slows most automation programs before they gain momentum: the gap between knowing what you want to automate and being able to build it. Writing automation logic by hand requires deep familiarity with platform-specific patterns, adapter configurations, and task structures that take time to learn and are easy to get wrong. Builder Skills close that gap by giving AI agents the domain knowledge they need to build things correctly for production, treating the spec as the contract and the platform as the target.

For network and infrastructure teams managing complex, multi-vendor environments, that combination – speed, correctness, and auditability – is what makes spec-driven development worth understanding now.

  • Video Notes

    (So you can skip ahead, if you want.)

    00:00 Introduction to Itential Agentic Builder Skills and spec-driven development
    00:53 Platform capabilities and skill overview
    01:42 Environment setup and ENV file configuration
    02:43 Installing Builder Skills into Claude Code
    03:21 Installing for local scope and reloading plugins
    03:48 Plugin results: 1 plugin, 13 skills, 5 agents
    04:31 Launching the spec build (DNS automation with Infoblox)
    05:09 Claude Code bootstrapping the environment
    05:51 Reviewing the spec file: entry point, workflow logic, form fields
    07:06 How to create a spec file
    08:02 Spec walkthrough: entry point, form, workflow steps
    09:59 Spec walkthrough: platform assets, project membership, JSON form fields
    12:43 Build complete – summary of deployed assets
    13:15 Verifying the project in the Itential platform
    13:57 Testing in Operations Manager – running the workflow live
    15:33 Reviewing the confirmation email
    16:20 What this enables – composable specs, larger programs

  • View Transcript

    Joksan Flores • 00:00

    Hi, everybody. Today, I am here very excited to present to you the Itential Agentic Builder skills. I am sharing the GitHub repo page right now. This is released a few days ago, I think a couple days ago. And it’s super important for us in a very exciting time because essentially, what these agentic builder skills do is they enable people to build automation and orchestration in the itential platform by using spec-driven development. For those of you that are not familiar with spec-driven development, essentially the idea here is that now you can focus on what the automation needs to do rather than building the actual logic for the automation itself on anything, right? This applies to programming languages, products, and platforms, or any others.

    Joksan Flores • 00:53

    In our case, this is very focused for itential platforms. focused on building things like automation platform workflows, building command templates, building configuration manager assets, building configuration templates, lifecycle manager assets, IAG services, Python scripts, Ansible playbooks integrated into the gateway and so forth. There’s a lot of capability here provided to this, and there’s actually multiple skills that come along with it. This has been published into the cloud marketplace. For now, we’re just going to be adding it straight from repo, but I actually want to work through the entire motion of adding this into my cloud setup and going and launching the spec create or creating a couple assets, right? One project with a simple workflow and an entry and so forth. And we’ll discuss that in a minute.

    Joksan Flores • 01:42

    But 1st, let’s go look at our setup. So I actually have a recording setup here. I have already created an EMV file. And the EMV file, I’m not going to show it because it has IPs and URLs and things like that. But essentially, it consists of credentials to the platform as well as URLs and things like that that need to be used by cloud code. In this case, which is what we’re going to be using as an agent, you could use anything that supports skills. You can use your OpenCloud or you can use any of those things.

    Joksan Flores • 02:12

    As long as you support skills, then you should be good to go. I pass it an EMV file with the credentials that it will use. Make sure that my service account that I am using has enough permissions to execute the things that I want to do. In this case, I’m just going to be creating a project, adding a workflow, and creating operations manager entry with a form. That’s it. And then I already have a spec created, and we’ll look at that in a 2nd. But the 1st thing that we want to do is I’m going to set up my environment.

    Joksan Flores • 02:43

    There should be only a couple of commands, and we’re going to do that. So let’s do, we’re going to go into claw, and I’m going to do something here that you shouldn’t do. And the reason for that is because I want to speed this up. I want to avoid the permissions and all those things. So I’m in a secure environment, so I don’t have a problem with this. Now, the 1st thing that we want to do is we want to add itential/slash builder skills into the marketplace in clock code. So that’s done.

    Joksan Flores • 03:21

    And then the next thing that I want to do is I want to add itential builder to my setup. Now, what I want to do is, I want to install this for the user scope or for the project scope. So, I can just install it here in the local scope. That’ll work for what I want to do. And that’s good. So, now I’m going to do a reload plugins per the instructions. So, now we have, and here we added a lot of stuff right here.

    Joksan Flores • 03:48

    And I don’t have a lot of things in this setup. Like I said, I started a brand new project with no clock, no .clot folder or anything like that. And by adding this, I actually get one plugin, 13 skills, five agents, and so forth. And if I do skills, these are all the skills that I get. I get a builder agent. I get some of the native skills there. I get a flow agent builder.

    Joksan Flores • 04:13

    I get flow agent to spec. I get attention devices, golden config inventory, etc. You can do a lot of stuff with this. Today, we’re going to keep it fairly simple. We’re just going to focus on using the spec to build in our environment. And we’re just going to launch that. So I’m just going to go ahead and launch it 1st.

    Joksan Flores • 04:31

    And then we’re going to go back and revisit the skill because this will actually take a minute. And while we go through the actual spec that I have created, we’re just going to let it rip. So let’s see. Start building. The project and automation entry with form trigger based on the spec file provided for DNS DNS automation with. Blocks, and that’s what we’re doing. We’re creating basic DNS automation in InfoBlocks, and that’s what the use case is.

    Joksan Flores • 05:09

    So, I’m going to launch this, and that should just get going with the local context. Now, keep in mind that, based on what it’s going to do, and that’s already kind of doing its thing, is hey, it’s pulled up the spec because it has local context of that directory where we launch. If you’re experienced with clock code, the way that clock code works is it has a directory right in here, downloads SDD demo recording, it’ll have access to all the files on that directory so it can read and it can do its old thing and all that. Now, what it’s doing is it’s actually setting up an environment. It says the workspace doesn’t have a boot sprout bootstrap, so let me check what’s available. It has the platform credentials. I need to bootstrap the whole workspace 1st.

    Joksan Flores • 05:51

    So, the scale has already been set up to let it talk to the platform, let it authenticate, and let it do its whole thing. So, there’s a lot kind of went on into this, but this enables clock code to do everything that it needs to do in order to talk to your environment. So, let it go through its whole thing and pick up all those tokens and all that. And let’s go ahead and review this spec itself. So, we’re going to have, and we’re going to focus on is on DNSA record provisioning, super simple info blocks, right? I called it simple, and the reason for that is because I wanted to make sure that it happened quick and it kind of showcased the capability that we have. So, one of the things that’s super important about doing a simple use case like this is you could get very, very, very creative and very complicated into the flow.

    Joksan Flores • 06:35

    But we in Attention encourage doing minimal or doing simple flows for discrete functions. So, this would be probably a component of the environment and the setup that you actually do. Notice also on the side that I only had the spec file and the MV file. This is actually bootstrapping the whole environment and it’s creating a series of files, right? It’s actually pulling a lot of data, especially things like, hey, I need to know what adapters are in your environment and so forth. So, it’ll go and do its thing. It’ll keep creating files while we discuss this.

    Joksan Flores • 07:06

    So, now. This spec file, you may ask, okay, how do I create this? So, of course, you can create this by hand. This is a markdown document that has, you know, kind of discusses what you want to see in your particular use case, but you could also design this as a bulleted list of things, or you could create an UML or their IO or anything like that. And this is where we want to leverage the power of reasoning with AI to say, hey, perhaps take that diagram, take my UML, or take my series of bullet points and translate them into a spec. The skills themselves that we just installed actually have the ability to manage and create specs, and not only the spec file itself, but also create solution designs as built and all those things that you need for proper documentation of your use case. Okay, without further ado, I’m going to get into this because I’m, you know, let’s discuss what we’re going to build here.

    Joksan Flores • 08:02

    So, what we have is I have a very specific use case. We’re going to be creating A records in InfoBlocks. And the 1st thing that we specify is the entry point. So, the entry point for us is going to be a form. It’s going to be an operations manager. It’s going to be a manual trigger. It doesn’t have the legacy wrapper, which is foreign data.

    Joksan Flores • 08:20

    So, that’s set to false. We’re going to have a form that’s going to be DNS, going to be called DNSA Record Simple. I could go and edit all that stuff here. By the way, the repository, which we can link into the video description, will have lots of examples of these specs. So, not to be concerned with, hey, I don’t know what this needs to look like or anything like that. We’ll provide examples. And of course, you know, our teams are going to be super sharp about using this and supporting our customers with their questions.

    Joksan Flores • 08:48

    The form is going to be the entry point. Operator fills in host name, zone, IPv, blah, blah, blah. So, and then the workflow. Oops. And then the workflow starts. It accepts all the variables that are filled up. Merge the variable, merge the FQDN, and the record name.

    Joksan Flores • 09:08

    So we’re going to split up. One of the things that we had is: A, we’re going to have a drop-down of all FQDN values that we want to use, and then we’re just going to provide the host portion in the form. And then, just to make sure that we have super crazy validation. And I did this by accessing the adapter and the configuration in the info box system. Then we can specify, okay, merge, you know, merge the FQD and VARs, make the data, make the body for creating the A record, create the A record, success, get the data out of the record, perhaps some of the IDs and so forth, and then send an email, make an email using an email template, send the email, and then if there’s an error, set a warning variable and end the workflow. When you handle errors now, this is a diagram with the flow of the whole chart.

    Joksan Flores • 09:59

    You can actually have this express as a list of bullet points, and then the skill would create the diagram itself. But just start thinking about, okay, this is actually how you design these use cases in words, right? So this is all in the user natural language, not necessarily expressed into, you know, super complicated words or super complicated diagrams or anything like that. As we keep scrolling down, there are some more details, right? It has some details about the entry point. Hey, there’s going to be a JSON form bound to a manual trigger with blah, blah, blah. The legacy wrapper needs to be false.

    Joksan Flores • 10:31

    Platform messes that are going to be created. It’s going to be a JSON form, operations manager form. There’s going to be a workflow, going to be called the NSA record, and a project. So we’re going to put this inside of an itiner project. And that’s how it’s going to go. Then the project membership. And this is also super important because I want to make sure that sometimes if I’m using OAuth like I am with clock code, I want to make sure that it sets me, right?

    Joksan Flores • 10:55

    It says my UI user, which is my email, as the owner for the project so that I can modify it, delete it, and so forth. And then also I add to Solutions Engineers group as editors as well. We have more details on the JSON form fields and you can get as simple or as creative as you want with these, right? In some of this case, I want to have some, you know, fields that are mapping and this feels very familiar. For those that have done it so development and have created JSON forms, this feels very, very, very familiar, right? You have your field key, which is a variable key. You have your label for your fields.

    Joksan Flores • 11:31

    You have your data type, the values required, any defaults, and then a description, some notes for it, and also validations and default values and things like that. Again, these can be specified in your spec. So you could actually build these by just having a bullet point that specifies all the parameters that you want as inputs. And then you can launch, you can pass that data, right, those bullet points to Claude. And Clot will actually use its skill to create the spec file 1st, which is the 1st step needed to then go ahead and launch that creation. It got a bunch of other details, right? Like sewn drop-down values.

    Joksan Flores • 12:06

    These are values that I pulled from my info blocks, and so on and so forth. And then some of the more involved data. Cloud is quite good at actually figuring this out on its own. So you don’t have to go into this level of details. But this is actually what’s rendered from Claude code. Now that we kind of summarize what we’re going to do in our workflow, which is creating a DNS record, sending an email, having the entry point on operations manager, and so forth, let’s go back and look at what Clot is doing in the meantime. Okay, so this actually happened fairly quick.

    Joksan Flores • 12:43

    While I was explaining this, it actually built it all. So it says everything is deployed and verified. Here’s the summary was built. Built complete. Assets deployed. The NSA record provisioning simple. Project has been imported.

    Joksan Flores • 12:57

    There’s a workflow with 10 tasks inside the project. There’s an automation with a form trigger. And this is the workflow that I created. Merge, data, merge, create a record. We’re using info blocks, adapter, the info blocks. Email and we have a form. Okay, without further ado, let’s go into the platform.

    Joksan Flores • 13:15

    Okay, so we have a project here added. It’s called the NSA record provisioning simple. It was added a couple minutes ago or a couple seconds ago. Let’s go ahead and look at that. And voila! So we have a workflow. It’s got a few tasks on it, and let’s see that we can work through it.

    Joksan Flores • 13:33

    It’s got a merge for building FQDN variables. It’s built the FQDN, which is probably just taking and templatizing some of the data from the form. It creates the A record. It’s got error handling in it. It extracts the reference from info blocks. It builds the variable and then it’ll send an email. And if I hit run, I should see the parameters that match the form in Operations Manager.

    Joksan Flores • 13:57

    Okay, so that looks good. Let’s go into Operations Manager and look for our entry over there. Okay, awesome. So, DNS A record provisioning is here. DNS A record provisioning is simple. And notice that it followed all the names in the spec as I was going through and discussing it. And it has who created it, right?

    Joksan Flores • 14:26

    Which is actually my IPCTL account or my service account that I use for submitting things from my laptop via API. But this is perfect. So it actually has it tied into that workflow that we saw earlier from the project. It has a manual trigger. Let’s see if we say run now. And I have done this before. So let’s see web server.

    Joksan Flores • 14:49

    Let’s say say 10 because then we have provisioned some of these. And now we have a dropdown with all the assets that we need on the form. That’s pretty cool. So let’s go ahead and do new zone one some comment testing DNS A record and info blocks and we’re gonna do you know another IP 172.16.725.35. The NSV is just default and then the TTL is 3600 and let’s go ahead and launch that and it actually seems like it did it all. And it sent an email and everything is already done. So let’s go ahead and actually close my email.

    Joksan Flores • 15:33

    Let’s go ahead and open email. And here’s the email that is sent out: DNSA record provisioned successfully, FQDN web server 010, IP address 172.16.25.35, DNS view default, and info blocks record is all this whole thing right here. So pretty awesome, huh? This is actually one of the coolest things I’ve seen in a little bit, especially when you start looking at, okay, let’s remove some of the stuff that’s not super important out of my use case creation when I want to focus on the logic of what I want to do. I understand this is a very simple one, but you can start thinking about the kind of things that you could do. You could create multiple, you know, specs and say, hey, these are all the components of my single project.

    Joksan Flores • 16:20

    Or even in a single spec, you can say, I want all these components. I was DNSA record. Then I want to provision an EC2 instance. Then I want to, you know, create, you know, I want to create a VPC. Then I want to create a certificate, then it’s an EC2 instance, then a certificate, and so forth. Imagine the amount of stuff that you’ll be able to do like this, right? And for us, it took me, you know, I don’t know, I think I will say preparing the spec.

    Joksan Flores • 16:46

    Was very simple because I actually used an example that we had in the repository. I just simplified it so that it ran quicker. It’s actually fairly simple to create a thing like this, but if you have a more complicated use case, you spend most of the time up front doing discovery, but then imagine the amount of things that you’d be able to do by saying I’m the automation engineer and I’m just taking instructions from somebody else that tells me, hey, this is the logic of the use case. Hopefully, you enjoy that. I think this is a pretty cool demonstration of how to go and create an asset very, very, very quickly to me, like a zero to hero, by just defining a spec and using the power of AI reasoning to create assets in the attention platform. Thanks for tuning in.