Personas Context Library
Turning our team’s personas into an AI-native context library that powers AI skills, agentic prototyping, and eventually (possibly) our own agentic harness.
Graphic is for illustrative purposes only.
Problem
Our platform has a lot of different user types, each with a very specific job, like an underwriter, a sales person, or a surveillance manager. We call these our personas.
We had a library of documentation on these personas, in the classic format you’d recognize: an infographic with a name, average demographic info, their needs and pain points, etc. But they weren’t being used that much and hadn’t been updated in years.
One of our team’s goals this year was to update this persona library, and our manager tasked me with taking it on.
The idea: Personas as AI context
Key Question: How can we make our personas AI-native?
While working on updating these personas, I realized… there was a bigger issue to tackle first, and that was the format itself.
Rather than recreate a “standard,” stylized UX persona, why don’t we make this persona library something AI-first?

So I proposed we turn our personas into a user context library instead. It could be one Markdown file per persona, written in plain English, so that they’re both human- and AI-readable.
First, I kept them in a Copilot Notebook where they could be queried. Later I realized they could also be stored in a code repo, where they can be used by coding agents + have built-in version control.
Schema design with the team
Our platform has over 40 user types, which is a lot of personas to keep current. I figured every persona should follow the same schema so they’re easier to maintain.
Before settling on a schema, I had a quick FigJam session with other designers, asking what info they’d find helpful in a persona.

After assessing the team’s feedback, I worked with Copilot to make a schema template we could reuse across all personas.

How the library is organized
Our product organization supports the Multifamily business. This business is structured into 4 blocks: Production & Sales, Underwriting, Capital Markets, and Operations.
The personas library lives in a codebase that follows the same structure. There is one folder per block, with some blocks split further by sub-division. Each persona is one Markdown file written in the same standard schema.

Storing the personas as a codebase opens a lot of possibilities, mainly because it allows you to use a coding agent to edit and maintain the library.
Research and validation
Once the schema was established, it was time to actually fill the persona templates with content.
To populate each persona file, I ran a prompt through Copilot asking it to generate a research report on each user type. Then I’d have Copilot fill the schema with its findings.
Copilot has access to our internal “knowledge graph,” meaning it could read and summarize any non-sensitive documents on Sharepoint. My manager described this approach as being like “scraping” our internal documents for persona information. It did a pretty good job.
Still, it’s AI generated content. Ideally we’d get a subject matter expert to validate each persona… But that said, we have over 40 personas, and validating them all would be a huge effort.

To counter this, we decided to identify a few key personas from each block. These roles are central enough to both the business and our platform, that it’s worth it to validate them more thoroughly. We call them our “main characters.” 💅 💁♀️
For our main characters, a few colleagues and I are interviewing people at the company who sit in these roles. We started with Underwriters, interviewing an analyst and a senior underwriter across 5 sessions.

What we found was that - while Copilot wasn’t “wrong” on any of its outputs per se - we definitely got much more nuance from these conversations.
Even just one 30-minute session was far more informative than however many hours I spent going back and forth with Copilot 😅
Now & next
Every persona now has a file in the library. About 2/3 are filled with Copilot-generated content, plus the Underwriter persona updated to reflect our interview findings.
The remaining 1/3 personas are still empty templates. This is because some roles in the organization are not as well-documented as others, meaning Copilot has less to “scrape” from… But, these users are not yet onboarded to our platform anyway, so we’ve put a pin on that for now.
We are also continuing to validate our next batch of “main characters.” 😊

Next, I’m working on a Kiro skill so designers, POs, or anyone with agent access can pull in personas as context for (vibe)coding work. There have also been some early discussions about creating context libraries for agent harnesses in the future. We will see!
Work in progress
This is an ongoing initiative. More updates to come!