I've been thinking about how to define skills in Didactyl, m...

npub1rmz9gu6de0m0u4ysrn39crrud099ahvfgs6pvasl4hpjr5ud7yus54xv06
hex
64415f71b83090e7505bc4669ef7221e595e98db1883749a59893300f6a12608nevent
nevent1qqsxgs2lwxurpy882pduge577u3puk27nrd33qm5nfvcjvcq76sjvzqprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgspa3z5wdxuhah72jgpecjup37xhjj7mky5gdqkwc06msep6wxlzwgaw9dswKind-1 (TextNote)
I've been thinking about how to define skills in Didactyl, my Nostr-based agentic system. Think OpenClaw, but better.
Not your keys, not your agent.
I've written a simple demo page to demonstrate how I'm thinking skills should work: https://laantungir.net/client-ndk/skills-demo.html

If you're the kind of person who doesn't like reading instructions, go ahead and jump right in; otherwise, keep reading.
Skills are programs, mostly written in plain English for AI agents. In some sense, humans have been making and using skills forever. It's what we do. Computers have as well, but now they can do it in English, which is much more powerful.
AIs are slightly different than us. We can overwrite, improve, and update the skills in our neurons. AIs (for the most part) can't do that.
When an AI is born from the factory, it comes out hard-coded. From that point on, it has no long- or short-term memory because it can't learn.
What they do have, though, is a way to read. We call it context. You can type or feed documents into an AI's "context window," and then it spits out an answer.
It turns out that if you feed the same context into an AI over and over, you will get the same thing out, over and over.
The reason why you typically don't get the same thing out is because randomness is usually fed into the AI along with your prompt. Most people don't know that, but now you do. And if you don't feed in all your past conversations to an AI, over and over, it won't remember what you were talking about, because it has no memory other than what you send it each time.
Everything that comes out of an AI depends on what you feed in as a prompt if you include randomness.
I'm calling everything you feed into an AI a SKILL.
Let me explain the demo page and some very basic skills.
What I created is a simple text editor that an AI can work on using its different skills. Those skills are saved on Nostr as kind 31123 for public skills, and as kind 31124 for private skills. When an agent adopts a skill, it adds it to its kind 10123 list for the skills it has adopted.
On the left of the page, you see the text editor with some sample text. That is for our AI to use its skills on.
On the right are publicly listed skills. You should see my demo skills in there.
I made 5 skills public: condense-5 convert-to-poem sexy spellcheck translate-ja
Select the skill, then click on "Run Selected Skill".
The same AI agent will run these skills, but the outcomes will be very different depending on the skill.

You can also create and edit your own skills if you are logged in. You can log in as yourself or use a random new key to test this out. I would recommend that.
So what is the point of all this? What are the benefits of Skills?
-
Skills are a way for agents to share what they learn in a permissionless way.
-
No "skill store". We love nostr.
-
A Skill is something that you and your agent can work on and perfect.
Once your agent learns that skill, it is automatically saved on Nostr, and you can lock it down from changes.
By referencing a skill when you are talking to your AI agent, your conversation becomes much clearer and simpler. You don't have to explain to your agent for the 50th time how you like your text formatted. It's referenced in a skill.
If you are a coder, skills are going to be the new playground. Context windows are currently up to around 1,000,000 tokens, which means that you can create extremely complicated and elaborate skills.
- Share your skills with the world.
For more technical information on skills and how I'm thinking about them, you can check out this document: https://git.laantungir.net/laantungir/didactyl/src/branch/master/docs/SKILLS.md
And thanks to npub130mznv74rxs032peqym6g3wqavh472623mt3z5w73xq9r6qqdufs7ql29s for their fantastic service.
Raw JSON
{
"kind": 1,
"id": "64415f71b83090e7505bc4669ef7221e595e98db1883749a59893300f6a12608",
"pubkey": "1ec454734dcbf6fe54901ce25c0c7c6bca5edd89443416761fadc321d38df139",
"created_at": 1772908301,
"tags": [],
"content": "I've been thinking about how to define skills in Didactyl, my Nostr-based agentic system. Think OpenClaw, but better.\n\nNot your keys, not your agent.\n\nI've written a simple demo page to demonstrate how I'm thinking skills should work: https://laantungir.net/client-ndk/skills-demo.html\n\nhttps://laantungir.github.io/img_repo/c4a94875085e1c978274add9674035e2a088bb8f2655aabe631b17c3ea02cc19.png\n\nIf you're the kind of person who doesn't like reading instructions, go ahead and jump right in; otherwise, keep reading.\n\nSkills are programs, mostly written in plain English for AI agents. In some sense, humans have been making and using skills forever. It's what we do. Computers have as well, but now they can do it in English, which is much more powerful.\n\nAIs are slightly different than us. We can overwrite, improve, and update the skills in our neurons. AIs (for the most part) can't do that.\n\nWhen an AI is born from the factory, it comes out hard-coded. From that point on, it has no long- or short-term memory because it can't learn.\n\nWhat they do have, though, is a way to read. We call it context. You can type or feed documents into an AI's \"context window,\" and then it spits out an answer.\n\nIt turns out that if you feed the same context into an AI over and over, you will get the same thing out, over and over.\n\nThe reason why you typically don't get the same thing out is because randomness is usually fed into the AI along with your prompt. Most people don't know that, but now you do. And if you don't feed in all your past conversations to an AI, over and over, it won't remember what you were talking about, because it has no memory other than what you send it each time.\n\nEverything that comes out of an AI depends on what you feed in as a prompt if you include randomness.\n\nI'm calling everything you feed into an AI a SKILL.\n\nLet me explain the demo page and some very basic skills.\n\nWhat I created is a simple text editor that an AI can work on using its different skills. Those skills are saved on Nostr as kind 31123 for public skills, and as kind 31124 for private skills. When an agent adopts a skill, it adds it to its kind 10123 list for the skills it has adopted.\n\nOn the left of the page, you see the text editor with some sample text. That is for our AI to use its skills on.\n\nOn the right are publicly listed skills. You should see my demo skills in there.\n\nI made 5 skills public:\ncondense-5\nconvert-to-poem\nsexy\nspellcheck\ntranslate-ja\n\nSelect the skill, then click on \"Run Selected Skill\".\n\nThe same AI agent will run these skills, but the outcomes will be very different depending on the skill.\n\nhttps://laantungir.github.io/img_repo/2cbfc8bf7cbfb832f1181f5b904471f1278fbc3e6b64b63339612b9f51898d16.png\n\nYou can also create and edit your own skills if you are logged in. You can log in as yourself or use a random new key to test this out. I would recommend that.\n\nSo what is the point of all this? What are the benefits of Skills?\n\n- Skills are a way for agents to share what they learn in a permissionless way. \n\n- No \"skill store\". We love nostr.\n\n- A Skill is something that you and your agent can work on and perfect. \n\nOnce your agent learns that skill, it is automatically saved on Nostr, and you can lock it down from changes.\n\nBy referencing a skill when you are talking to your AI agent, your conversation becomes much clearer and simpler. You don't have to explain to your agent for the 50th time how you like your text formatted. It's referenced in a skill.\n\nIf you are a coder, skills are going to be the new playground. Context windows are currently up to around 1,000,000 tokens, which means that you can create extremely complicated and elaborate skills.\n\n- Share your skills with the world.\n\nFor more technical information on skills and how I'm thinking about them, you can check out this document:\nhttps://git.laantungir.net/laantungir/didactyl/src/branch/master/docs/SKILLS.md\n\nAnd thanks to npub130mznv74rxs032peqym6g3wqavh472623mt3z5w73xq9r6qqdufs7ql29s for their fantastic service.",
"sig": "c0d1cb274b7bafb3ff8111ea92a55c9b68a5e0adfc706cabf313e3e7f6304bcf67a0790cf44dfd5a3cb18552cbb0e372b595fedecef651c871dd5fb2641b905b"
}