What is an awk?
awk plural awks short for agentic worker
Not the Unix text tool of the same name.
An awk is an agentic worker: an AI agent that handles a work item the way a developer or tester does, in Slack, GitHub and Jira, with the cost of each work item metered. AwkTeams is a team of awks.
Awks are the workers in a software factory: your engineers and QA manage it, awks build and test each work item, and a person approves what ships.
The four kinds of awk
An awk team comes with four kinds of awk. Two build and test your work items, OG and QA; two support them, Oracle with backlog context and P.Chief with your inbox and calendar. Each has its own job, its own set of tools, and a clear boundary on what it can and cannot do.
OG
Takes a ticket, writes the code, runs the tests and a code review, opens the pull request and, once you approve, merges it.
QA
Brought in when you ask for independent QA. Checks the build does what the ticket asked and sends the work back to OG when it doesn't pass. Reviews a pull request's code when you ask.
Oracle
Maps relationships across your backlog: why a ticket exists, what depends on it and what is blocking it.
P.Chief
One per person, by direct message. Works in your inbox and calendar: drafts replies in your voice and schedules across time zones.
How you assign one
You write the work item the way you would for any developer, and assign it. Jira is optional: you can simply ask in Slack. If your work items are Jira Cloud tickets, there are three ways to hand one to an awk:
- A field on the ticket
Set the ticket's
Awk Assigneefield toOGorQA. - A label on the ticket
Add the label
awk:ogorawk:qa. - A message in Slack
Mention the awk in a channel it's in, or message it directly:
@OG-Awk pick up PROJ-318
With the field or the label, the ticket also needs to be in one of the trigger statuses you map in the console.
The developer awk reads the work item, opens a Slack thread on it and confirms the requirements with whoever wrote it when something is unclear.
What a person approves
By default, the developer awk posts a plan and waits for your approval before it builds; you can tell it to skip planning. Actions that are irreversible or reach outside your team need your explicit approval before they run:
- Opening or merging a pull request
- Pushing to main, or force-pushing
- Sending an email or message to another person
- Changing what a file or document is shared with
Merging a pull request, pushing to main and force-pushing are approved one at a time, every time. For the others, a person in the thread can choose to approve all of that kind.
The awk proposes the action; you approve or hold it in the Slack thread it is working in. Ordinary pushes to the awk's own working branch and routine status moves on the assigned work item are part of the normal flow and don't stop to ask.
If an awk seems stuck or is going in the wrong direction, message it with cancel, wait or stop in the thread.