An AI Leadership Coach is not a chatbot, and you do not build it by writing code. You assemble it. You direct Claude Code, Anthropic's agentic development tool, to wire your own datasets and the right frameworks into a system that preps you for every one-on-one, recaps every conversation, and mirrors how you actually coach.
You are the architect. The agent does the build. The hard thinking is already done, because it lives in your datasets and the frameworks, so the assembly is the fast part: start to finish in a day. The coach does the half of the work AI can do, so you spend your time on the half it cannot: the conversation, the relationship, and the judgment.
The guiding rule, top to bottom: the coach preps and drafts. You decide. It never tells you to promote, manage out, rank, or label a person. It surfaces the signal and proposes the move.
And here is what separates a coach from a chatbot: it runs on proven academic frameworks, not vibes. A coach with no rigorous frameworks behind it is useless. It flatters you, guesses at your people, and hands you confident nonsense. The frameworks are the foundation, and getting them right is the actual work. It is why Leadership in the AI Era is built with Dr. Brooks Holtom of Georgetown: the models the coach runs on have survived decades of academic scrutiny, and that rigor is what makes the output worth anything.
The six moving parts
The finished system is six pieces. You assemble them in order by directing Claude Code, with the Lark CLI as the workspace it writes to. The same approach works in any agentic coding tool with a project memory and a workspace it can read and write.
- The brain. Your leadership datasets, the coaching frameworks the coach runs on, and the coach instructions that put them to work.
- The backbone. One database holding company OKRs, FAST goals, and an accountability log.
- Two views of your people. A private coaching view for you, and a shared view for each person.
- The recap engine. Pulls each one-on-one transcript and produces two outputs from one meeting.
- The dashboard. Your command center: who is overdue, how you are coaching, what is loose.
- The routines. Scheduled automations that prep you before, recap after, and follow up.
The frameworks the coach runs on
This is the foundation, so it comes before the build. The coach is only as good as the frameworks behind it, and these are coaching frameworks: how each person is wired, how you talk to them, and how you build a high performer one conversation at a time. The coach applies the right one so you do not have to remember which to reach for.
- OCEAN, the Big Five. How each person is wired: Openness, Conscientiousness, Extraversion, Agreeableness, Neuroticism. It is what lets the coach tell you that the question that opens one person up will shut another one down.
- GROW. The structure of every coaching conversation: Goal, Reality, Options, Will. It keeps you asking instead of telling.
- Coach, Mentor, Direct. The mode you choose, at a target mix of roughly 80/15/5. Coaching is asking questions so people grow, mentoring is sharing your experience, directing is giving the answer. The coach mirrors your real mix against the target and tells you when you are telling instead of asking.
- The engagement read. The root driver that is loose for each person, and the retention risk that follows. It turns a goal conversation into a retention save before you lose someone.
- FAST goals. Frequent, Ambitious, Specific, Transparent. The accountability layer, transparent by design.
- OKRs. Objectives and Key Results. The company cascade every individual goal ladders up to.
These are not prompt tricks. Prompt frameworks are garbage and prompt libraries are garbage. There is no clever phrase that skips the thinking. You bring rigorous, honest input inside frameworks that already worked, or the coach hands you confident nonsense faster. The rigor is the product. It is the same argument we make in Prompts Are Dead.
Before you start
Four prerequisites:
- Claude Code, signed in, with a working directory for the project.
- Lark CLI installed and able to authenticate as you (
lark-cli auth login). You authorize scopes in stages as you build. - Your Series I datasets (the brain): your Leadership Brandbook, Emotional Intelligence Guide, and Communication Style Guide. They are what make the coach sound like you instead of like a textbook.
- A real roster. This is built on your actual direct reports, not a sample. Have their names ready.
A note on Lark scopes. The CLI reveals required permissions one operation at a time. You hit a "missing scope" error, authorize that scope in a browser device-login, and continue. Authorize as you go. Some scopes may be disabled by your workspace admin; the guide notes where this happens and what to do instead.
Part 1: Assemble the brain
The brain is two things: your foundation datasets, and a single instructions file that tells the coach how to behave.
Step 1.1: Gather your foundation. Put your Series I datasets in a foundation/ folder: leadership brand, emotional intelligence guide, communication style guide, your operating system or company context, and your current company OKRs. These are read-only reference material.
Step 1.2: Write the coach instructions. Create coach-instructions.md. This is the system prompt for the coach. It must cover, in order:
- Who you are. Private coach and prep partner. Prep and draft; the leader decides. Never promote, manage out, rank, or label.
- What you read. Only the files in the project. Never invent facts about people. When a read is thin, mark it "low confidence."
- How you coach the leader: GROW. Encode the leader's own pattern, pulled from their leadership profile. For most leaders: skips Reality and Options, jumps to the answer, over-directs, reads silence as agreement. Tell the coach to flag it.
- Run GROW to fit the wiring. OCEAN-based adjustments: low extraversion gets the question in writing the day before, high neuroticism gets safety before challenge.
- Choose the mode. Coach, mentor, or direct, at a target mix of roughly 80/15/5. Default to coach.
- The formats and guardrails. The prep format, the logging format, the engagement read, the reviews, and the communication rules.
This file is the single most important artifact. Everything else feeds it.
Part 2: Tighten your company OKRs
The company OKRs come first, because every individual goal must ladder up to one.
Step 2.1: Write objectives, not wish lists. An Objective is qualitative and points somewhere. A Key Result is a measurable outcome, not an activity. "Launch a program" is an activity. "Six organizations purchase the program" is a result.
Step 2.2: Separate leading from lagging. Tag each KR. Lagging KRs (revenue, retention) confirm success too late to steer by. Leading KRs (demand, pipeline) move first. Pair them so you can course-correct early.
Step 2.3: Strip the tactics. "Hire a salesperson," "run the playbook," "post weekly" are not KRs. They are how the KRs get produced, and belong in team-level OKRs.
Step 2.4: Publish them where everyone can see them. Put the finished OKRs on your company home page in Lark. They are the top of the cascade.
Part 3: Build the data backbone
One database holds the relational data. The cleanest design is three tables, and people are not a table you maintain. They are your existing Lark org directory, referenced through Member fields.
Step 3.1: Create the Base. In Lark, create a Base named "Leadership Coach" with a first table, Company OKRs: KR ID (text), Objective (text), Key Result (text), Type (single-select: leading / lagging / milestone), Owner (Member).
Step 3.2: Add the other two tables. FAST Goals: Goal, Person (Member), Ladders to (Link to Company OKRs), Status, Milestones, Last reviewed. Accountability Log: Commitment, Person (Member), Owner (Member), Due, Status, Loose root, Session date. The Link and Member fields are the whole point: they connect a person to the KR they own and the commitments they made, with no duplicated roster.
Step 3.3: Seed the Company OKRs. Batch-create one record per KR.
Scope reality: creating the Base needs base:app:create and table scopes; field and view scopes appear next; writing records needs base:record:create. Reading records back (base:record:retrieve) is often the scope your admin has disabled, which is why this guide writes goal and KR references as text where a Link field would otherwise be ideal. Plan for it.
Part 4: Build the two views of your people
This is the design decision that matters most. The same data is shown through two lenses.
How each person is wired (OCEAN), the engagement root that is loose for them, the retention risk, your coaching notes. This never leaves your space.
Their FAST goal, how it ladders to a company objective, their commitments, and a recap of every one-on-one. They never see your read on them.
The coaching read stays private; the goals and accountability are transparent, which is exactly what the "T" in FAST (Transparent) demands.
Step 4.1: Create a private space. In Lark Wiki, create a private space (for example "Leadership Coaching"). If space creation is blocked by admin, create a single parent page inside an existing space and nest everything under it.
Step 4.2: Build one private hub per person. From the top: a FAST Goal section, the OCEAN coaching read (one behavioral note per trait), the loose engagement root, a live open-commitments table, and a sessions log. Use a template so every page is identical.
Step 4.3: Build one shared view per person. It carries the FAST goal (person-facing), their priorities and KPIs, their accountability, and a 1-1 Recaps section linking every meeting newest first. It deliberately omits the coaching read.
Step 4.4: Add an index page to the private space so it has a front door: a short intro, the rhythm, and links to every hub.
Part 5: Build the recap engine
This is what makes the system real. After a one-on-one, it pulls the transcript out of Lark and produces two outputs from the same conversation.
Step 5.1: Find the meeting. Search Lark Minutes by person name. Needs minutes:minutes.search:read.
Step 5.2: Pull the transcript. Needs minutes:minutes.basic:read and minutes:minutes.artifacts:read. Saves to a local file.
The meeting must have been transcribed in Lark. A recording without transcription returns an empty file. Turn transcription on for your one-on-ones, or the engine has nothing to read.
Step 5.3: Produce the two outputs.
Exactly five catalogue lines: what they want, what is true, what you discussed, what they committed to and by when, and the one signal of what is loose. Behaviors, not feelings. Plus a mode tag for the dashboard tally.
A clean, plain-language recap of what you covered and what they took on. No coaching signal, no retention read. Draft it and approve it before it posts.
Step 5.4: Link every meeting. In each person's shared view, list every one-on-one newest first, each linking to its Lark recording with the actual title. Watch for name collisions and meetings that predate transcription being turned on.
Part 6: Build the dashboard
The dashboard sits on your private index page and tells you, at a glance, where every person stands and how you are coaching.
Step 6.1: Build the team tracker. One table: Person (linked to their hub), Last and Next 1-1, the Coach/Mentor/Direct mix, Top Priority, Loose Root, and Missed count.
Step 6.2: Add the mode-mix mirror. Show your actual mix against the 80/15/5 target as two stacked bars. This is the part that coaches the coach. Most leaders find they are inverted: heavy on directing, light on coaching. The number stings, and that is the point.
Step 6.3: Pull the schedule from your calendar. Use it to fill the "Next 1-1" column and confirm which day your cycle lands on. Verify the weekday from the calendar, not from memory.
Step 6.4: Show the cascade. Put the company OKRs and the per-person FAST goals side by side so the line from individual work to company strategy is visible at a glance.
Part 7: Build the prep routine
Before each cycle, the coach prepares you for every conversation.
Step 7.1: Read each person's hub (FAST goal, OCEAN, loose root, watch-for) and their most recent transcript.
Step 7.2: Write a prep block per person:
- Lead with the FAST goal. Because FAST means Frequent, the goal comes up every single one-on-one.
- Mode for today, with one line why. Default coach.
- Three GROW openers in your voice. The first is a progress question on the FAST goal. The other two aim at the loose root; include a Reality question and a Will question.
- One thing to listen for, a retention check, and one question to avoid because it is directing in disguise.
Step 7.3: Put it on one page, in schedule order, short enough to read in the five minutes before each meeting.
Part 8: Automate the rhythm
Turn the manual routines into scheduled tasks. Each task prompt must be fully self-contained, because each run starts with no memory: include the tokens, the steps, the format, and the message templates.
Step 8.1: Confirm your cadence from the calendar. Find the real weekday and interval of your one-on-ones and build the cron around it. Gate every task on the calendar so it skips off-weeks automatically.
Step 8.2: The three tasks.
- Prep: the morning before the cycle. Builds the prep page and sends you the link.
- Recap: after the last meeting. Pulls transcripts, posts the two outputs, and notifies each person their recap is ready.
- Follow-up: after the cycle. Messages each person for an update on what they committed to.
Step 8.3: Messaging. Sending to yourself is free of approval. Sending to your team is an outward action: approve the message templates once, in advance, and have the task fill in name and link and send the pre-approved template.
Step 8.4: Keep the tallies live. Each time the recap routine logs a meeting, it tags the mode and updates the average. Each time a scheduled meeting passes with no recap, the missed count goes up.
Part 9: Operate it
The system is a rhythm, not a tool you open once. The work is showing up to it.
- The day before: read your prep. Walk in knowing the mode, the openers, and what is loose.
- The meeting: coach. Capture one thing, the commitment.
- After: let the recap engine run. Read your catalogue lines. Approve the recaps.
- The off-week: the follow-up nudges each person on their commitments.
- Monthly and quarterly: review the trend. Who moved, who stalled, whose loose root went unaddressed, and how your mode mix is shifting toward the target.
The measure of success is not the documents. It is whether you walk into every conversation prepared, whether nothing falls through, and whether, over a quarter, you are asking more than you are telling.
Appendix A: Lark scopes, in the order you will hit them
| Operation | Scope |
|---|---|
| Create Base | base:app:create, base:table:* |
| Create fields and views | base:field:*, base:view:read, base:view:write_only |
| Write records | base:record:create, base:record:update |
| Read records (often admin-disabled) | base:record:retrieve |
| Create a wiki space | wiki:space:write_only |
| Create and read wiki pages | wiki:node:create, wiki:node:read, wiki:space:read |
| Search Minutes | minutes:minutes.search:read |
| Read Minutes content | minutes:minutes.basic:read, minutes:minutes.artifacts:read |
| Search calendar | (calendar read) |
| Send messages | (im send) |
Appendix B: Gotchas
- Lark XML entities. When writing documents, use real Unicode characters. Named HTML entities like
—render as literal text. Only<,>, and&are supported. - Name collisions. Searching by first name can return a different person. Verify by full name and join date.
- Transcription must be on. A recording is not a transcript. Turn on Lark's meeting transcription or the recap engine reads empty files.
- Verify the weekday. Confirm your cycle's actual day from the calendar before you set a cron. Do not trust the day you think it is.
- Approve outward messages. Anything that sends to a team member gets a pre-approved template. Anything that sends to you does not.
Dave Hajdu is the founder of Edge8 AI and the AI Officer Institute, where he trains the next generation of AI leaders across Southeast Asia and beyond. The method here is taught in Leadership in the AI Era, built with Dr. Brooks Holtom of Georgetown.