Back to Coditan

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:

1

Verify your file structure — all four required files must be present.

2

Check your README.md — explain what the skill does clearly. Include your Coditan username so we can notify you of updates.

3

Test locally — run the scripts on your own machine before submitting.

4

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.