First, fork the repository and then clone it locally to your machine.
Once you cloned the repository, you can setup your environment with the following scripts:
cd moxie-agent-skills
cp .env.example .env
pnpm install --no-frozen-lockfile && pnpm run && pnpm start
Once the agent is running, you should see the message to run "pnpm start:client" at the end. Open another terminal and move to same directory and then run below command and follow the URL to chat to your agent.
pnpm start:client
Once you're all setup, you can start developing your Senpi AI Agent Skills.
You can start creating your first Senpi Skills by first creating a separate branch in your forked repository:
git checkout -b <new-branch>
Then, using the template under the packages/_examples/plugin
folder, you can create a new AI Agent Skill with the following script:
pnpm create:skills plugin-<skills-name>
To learn more on how to create your first skill, you can follow this tutorial here.
For further customization, you can refer to the Eliza docs here as AI Agent Skills are simply Eliza Plugins with additional functionalities.
- Name your AI Agent Skill folder with the following format
plugin-<skills-name>
- Specify name & version in
package.json
:
{
"name": "@moxie-protocol/plugin-<skills-name>",
"version": "0.0.1"
}
- Place image for your AI Agent Skill to be displayed Skills Marketplace under
packages/plugin-<skills-name>/images/logo.png
with size 400x400 px.
Once you completed development on your skills, you can register your skills to the Skills Marketplace by the following steps:
- Add your AI Agent Skills to the Skills Registry in
registry/src/skills.json
with the following fields and corresponding types:
interface Skills {
pluginId: string; // Any UUID, must be unique, to generate one use this https://www.uuidgenerator.net/
name: string; // AI Agent Skills name (based on package.json)
displayName: string; // Display name shown in marketplace
version: string; // AI Agent Skills Version (based on package.json)
author: string | null; // Author/Creator of the Skills
description: string; // Description of what the Skills can do
githubUrl: string; // GitHub URL to your Skills folder under `/packages`
logoUrl: string; // Logo URL for the skill (400x400 px PNG)
settings: Record<string, any>; // Skill settings configuration
capabilities: string[]; // List of skill capabilities
starterQuestions: Array<{
label: string;
value: string;
}>; // Example questions to get started
mediaUrls: string[]; // Additional media URLs
actions: string[]; // Supported actions & similes on the Skill
isPremium: boolean; // Whether skill is premium or not, if yes, it will check `freeQueries` and `skillCoinAddress`
freeQueries: number; // Number of free queries available for users in the case of premium skills
skillCoinAddress: string; // Coin address to token gate the Skill
minimumSkillBalance: number; // Minimum token balance required
status: string; // Skill status, "ACTIVE" or "INACTIVE"
isDefault: boolean; // 3rd party Skill should be `false`
loaders: string[]; // Messages when loading AI agent responses
}
-
If your AI Agent Skill require environment variable for production purpose, then fill in this form to request submission. The Senpi team shall directly reach out to you either through Email (support@airstack.xyz) or Farcaster (group chat) for submission.
-
Lastly, commit all the changes you made on your branches and create a new PR to the repository's
main
branch.
Before requesting for review, make sure that you have fulfilled all the requirements in the pre-launch checklist.
The Senpi team will review the newly created AI Agent Skills and once merged, your Skills will automatically be registered to the Skills Marketplace where it's accessible for Senpi users to use.
- GitHub Issues. Best for: bugs you encounter when developing new AI Agent Skills, and feature proposals.
- Telegram. Best for: sharing your AI Agent Skills and hanging out with the Senpi Developer Community.