Prerequisites
Coditan
Installed and signed in to your account.
Python 3.12
Preferred version for skill development.
Git
Installed and linked to your GitHub account.
File Structure
Each skill lives in its own folder with this structure:
skill_name/
├── custom_action.json
├── market.json
├── skill.py
├── instructions_skill.md
└── README.md # Required for community skills
custom_action.json
Defines your skill's metadata, trigger keyword, and file paths. The trigger must be unique — it can't match any existing skill.
{
"pdf": {
"name": "Skill Name",
"description": "Skill Description",
"creator": "Skill Creator",
"path": "skill_name",
"trigger": "skill_name",
"action": "actions/custom/skill_name/skill.py",
"instructions": "actions/custom/skill_name/instructions_skill.md"
}
}
market.json — Marketplace Listing
Add an entry here to make your skill appear on the public marketplace:
{
"pdf": {
"name": "Skill Name",
"description": "Skill Description",
"creator": "Skill Creator",
"version": "1.0.0",
"json": "https://raw.githubusercontent.com/EithanAsulin/DuckLLM-Code/refs/heads/master/{skill_name}/custom_actions.json",
"script": "https://raw.githubusercontent.com/EithanAsulin/DuckLLM-Code/refs/heads/master/{skill_name}/skill.py",
"instructions": "https://raw.githubusercontent.com/EithanAsulin/DuckLLM-Code/refs/heads/master/{skill_name}/instructions_skill.md"
}
}
skill.py — The Action Script
This is the Python logic that runs when your skill is triggered. Here's a minimal example:
def action(action_type, text):
if action_type.lower() == "echo":
print(text)
return f"{text} Echo(ed)"
else:
return "Invalid action type"
instructions_skill.md — AI Instructions
This file tells the AI model how and when to use your skill. Name it instructions_skill.md and follow this template:
# Skill Name Instructions
{Your skill name} does {What it does}
## Example of usage
To ... (what your action does) you would use:
"""
<custom_{action_name}>
action="{Your action}"
variable_1="{text}"
variable_2="{text}"
</custom_{action_name}>
"""
Submitting Your Skill
Once built and tested, push your skill to the Coditan repository:
Verify your file structure — all four required files must be present.
Check your README.md — explain what the skill does clearly. Include your Coditan username so we can notify you of updates.
Test locally — run the scripts on your own machine before submitting.
Push to GitHub — follow the commands below.
# 1. Clone the repository and navigate into it git clone https://github.com/EithanAsulin/Coditan.git cd Coditan # 2. Copy your skill folder into the Coditan directory manually # 3. Stage, commit, and push git add <your_skill_folder> git commit -m "Add new skill: [Skill Name]" git push origin master
Force-pushing (--force) is disabled and will be rejected. Make sure your commit history is clean.