Please note that this is the old documentation on the last version of Skript I released in 2014.
For up-to-date documentation, please visit the SkriptLang docs, the Skript Hub docs, or the skUnity docs.
Skript is a plugin for Bukkit, a popular Minecraft server mod. It allows server admins to easily modify how Minecraft works without programming anything. This is achieved with triggers, whereof each is a collection of conditions and effects. Each time a trigger is called all conditions are checked, and if all are met, the effects are executed. The basic idea behind Skript is the customisability:
You can download the latest stable version of Skript here (refer to the BukkitDev page for changelogs and more information).

As already mentioned, Skript works with triggers which add functionality to this plugin. Triggers can be very basic and only consist of some conditions and effects, like this simple drop fix:
on break of glass:
	drop glass
Skript can also be used to create custom commands. These are basically triggers which are executed once a specific command has been typed.
The following defines a simple command which allows to get the ID of an item by holding it in the hand and typing /id:
command /id:
	description: Find the ID of the item you're holding
	trigger:
		message "You're holding a %type of tool% whose ID is %id of tool%."
Skript also comes with an option to directly execute effects from the chat, by interpreting chat messages that start with a configurable character (‘!’ by default) as effects. This essentially allows to use effects as ‘commands’, e.g. !repair tool will do what it implies. Because these commands are very powerful (and can thus be abused) only players with the permission skript.effectcommands can use them if they are enabled at all (this does not default to OPs!).

Skript's syntax is not limited to such simple examples as above, but has several other features like loops, conditionals, etc. The following is an example of a more advanced trigger which refuels furnaces using fuel from surrounding chests:
on burn of fuel:
	fuel slot of the block is empty
	loop blocks in radius 1:
		loop-block is chest
		loop items of type fuel:
			loop-block contains loop-item
			remove loop-item from loop-block
			set fuel of the event-block to loop-item
			stop trigger
More information on this plugin can be found on Skript's BukkitDev page, and please also read the tutorial and documentation linked below.

Tutorial

If you're new to Skript you should read the basic tutorial. It explains how to write a new script with all required steps. There is also another tutorial at BukkitDev.

Documentation

If you are already using this plugin, you should take a look at the documentation. It is helpful if you want to know whether a certain event exists or what arguments a specific condition takes. And of course it's also useful if you just want to find out what can be done with this plugin.
The documentation also contains a lot of examples to demonstrate the usage of the different conditions, effects, expressions, etc.

Links