You have to create a condition on skill.c
If your skill currently don't have any conditions bounded to it, you have to create the lines:
case XX_YOURSKILL:
sc_start(src,bl,SC_EFFECT,EFFECTCHANCE%,1,skill_get_time(skill_id, skill_lv));
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
break;
//Change this for the Skill you modifying, just like TF_BACKSLIDING
//This is just a sample. Change SC_EFFECT to whatever you want, like SC_SLOWDOWN, SC_BLIND, etc. On EFFECTCHANGE% a number between 1 and 100.
//The third line is what makes a Non-Offensive or Status Skill to activate SC Effects after use.
//Close your condition with a final line, "break;"
As for my code, this is how I'm using:
case TF_BACKSLIDING: //This is the correct implementation as per packet logging information. [Skotlex]
sc_start(src,bl,SC_INCREASEAGI,100,1,skill_get_time(skill_id, skill_lv)); //Cast Agi UP Level 1
skill_blown(src,bl,skill_get_blewcount(skill_id,skill_lv),unit_getdir(bl),(enum e_skill_blown)(BLOWN_IGNORE_NO_KNOCKBACK|BLOWN_DONT_SEND_PACKET));
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
clif_blown(src); // Always blow, otherwise it shows a casting animation. [Lemongrass]
break;
If you need some other reference, try to read the lines for SM_ENDURE (Endure Skill) for example. All self-buffing / status skills need to be marked as clif_skill_nodamage before they can generate a effect.