Skip to content

Conversation

@kylebernhardy
Copy link
Member

Add skills documentation for vector indexing, caching, JWT auth, and using blob data type across templates

@kylebernhardy kylebernhardy requested a review from a team as a code owner February 6, 2026 23:08
@kylebernhardy kylebernhardy requested review from dawsontoth and removed request for a team February 6, 2026 23:08
@@ -0,0 +1,127 @@
# JWT Authentication
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you rationalize this with the checking-authentication.md skill? There's overlap. Plus, I don't think we want to guide applications to utilize the operations API over REST directly. Rather, they'd stand up a resource that calls the operation API to return the JWT. (Or we'd create a plugin that can stand it up for them in a more terse way.)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The inspiration for this was due to the agent and genAI being unaware of the fact that Harper is a JWT issuer and not just a handler of tokens. I was trying to inform of that basic fact and how that is handled natively. I'm not sure about showing how to create a resource to issue a token as it feels like an extra layer over something Harper just does.

I also wanted the agent to understand that tokens are tied to Harper RBAC.

Certainly open to advice how this could be altered to fill the gaps I observed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You know what might close the gap for me (and the robots)? If we taught it how to invoke operations from within resources! JWTs are useful if it can return them to clients. If it doesn't know how to do that... then it might try in weird ways.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, I'll add a section on programmatic token issuance.


Unlike traditional indexes that rely on exact matches, vector indexes enable **nearest-neighbor search** across high-dimensional spaces, making them ideal for embeddings and machine learning workloads.

---
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 I believe we'll want to include a very short section on how to get some embeddings of your own. It could be a simple ollama example, or OpenAI or something. That should help an agent put all the pieces together, IMO. We could give an example resource that has a POST with a product text and we generate embeddings, store that in textEmbeddings... then when searching, we take in a search query text, generate embeddings, and execute the vector search. Full circle.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! I'll add a section that follows the journey.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dawsontoth I'm thinking of adding a function for both ollama and openai, with an if based on an env param to decide which function to execute. My thinking is then the agent can understand how either works.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If there are other AI providers you think would be helpful LMK. Happy to add more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dawsontoth have further built out this skill

Copy link
Contributor

@dawsontoth dawsontoth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice, Kyle! We can work through a few things on this. I should be able to work on it on Monday if you don't have a chance to get to my comments.

@kriszyp
Copy link
Member

kriszyp commented Feb 10, 2026

I'd love to get more of an overall understanding of why this is going in here instead of our documentation (and pointing the agents at our documentation)? I don't understand how the things in this PR are AI specific?

@dawsontoth
Copy link
Contributor

By having it accessible in the file system, the AI is much more likely to get access to them, across agents. Internet access can be very agent specific. In the case of Hairper, yes, we could put these into documentation hosted somewhere, and the agent wouldn't be any the wiser. But for fast iteration, I've been placing them in here.

@dawsontoth
Copy link
Contributor

(And it wouldn't help other agents if we did.)

@kriszyp
Copy link
Member

kriszyp commented Feb 10, 2026

So why not just submodule the docs then? Or publish it as a package for a dep? What are we iterating on here that is different than just bringing in all the docs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants