Can I hypothesis test for skew normal data? I have a collection of data, which I originally thought was normally distributed. Then I actually looked at it, and realised it wasn't, mostly because the data is skewed, and I also did a shapiro-wilks test.
I'd still like to analyse it using statistical methods, and so I'd like to hypothesis test for skew-normality.
So I'd like to know if there's a way to test for skew normality, and if possible, a library to doing the test for me.
 A: Regarding how to fit data to a skew-normal distribution You could calculate the maximum likelihood estimator from first principles. First note that the probability density function for the skew normal distribution with location parameter $\xi$, scale parameter $\omega$ and shape parameter $\alpha$ is
$$ \frac{2}{\omega} \phi\left(\frac{x-\xi}{\omega}\right) \Phi\left(\alpha \left(\frac{x-\xi}{\omega}\right)\right) $$
where $\phi(\cdot)$ is the standard normal density function and $\Phi(\cdot)$ is the standard normal CDF. Note that this density is a member of the class described in my answer to this question.
The log-likelihood based on a sample of $n$ independent observations from this distribution is: 
$$ -n\log(\omega) + \sum_{i=1}^{n} \log \phi\left(\frac{x-\xi}{\omega}\right) + \log \Phi\left(\alpha \left(\frac{x-\xi}{\omega}\right)\right)$$ 
It's a fact that there is no closed form solution for this MLE. But, it can be solved numerically. For example, in R, you could code up the likelihood function as (note, I've made it less compact/efficient than possible to make it completely transparent how this calculates the likelihood function above):
set.seed(2345)

# generate standard normal data, which is a special case
n = 100 
X = rnorm(n) 

# Calculate (negative) log likelihood for minimization
# P[1] is omega, P[2] is xi and P[3] is alpha
L = function(P)
{

    # positivity constraint on omega
    if( P[1] <= 0 ) return(Inf)

    S = 0
    for(i in 1:n) 
    {
        S = S - log( dnorm( (X[i] - P[2])/P[1] ) ) 
        S = S - log( pnorm( P[3]*(X[i] - P[2])/P[1] ) ) 
    }


    return(S + n*log(P[1]))
}

Now we just numerically minimize this function (i.e. maximize the likelihood). You can do this without having to calculate derivatives by using the Simplex Algorithm, which is the default implementation in the optim() package in R. 
Regarding how to test for skewness: We can explicitly test for skew-normal vs. normal (since normal is a submodel) by constraining $\alpha = 0$ and doing a likelihood ratio test. 
# log likelihood constraining alpha=0. 
L2 = function(Q) L(c(Q[1],Q[2],0))

# log likelihood from the constrained model
-optim(c(1,1),L2)$value
[1] -202.8816

# log likelihood from the full model
-optim(c(1,1,1),L)$value
[1] -202.0064

# likelihood ratio test statistic
LRT = 2*(202.8816-202.0064)

# p-value under the null distribution (chi square 1)
1-pchisq(LRT,1)
[1] 0.1858265

So we so not reject the null hypothesis that $\alpha=0$ (i.e. no skew). 
Here the comparison was simple, since the normal distribution was a submodel. In other, more general cases, you could compare the skew-normal to other reference distributions by comparing, for example, AICs (as done here) if you're using maximum likelihood estimators in all competing fits. For example, you could fit the data by maximum likelihood under a gamma distribution and under the skew normal and see if the added likelihood justifies the added complexity of the skew-normal (3 parameters instead of 2). You could also consider using the one sample Kolmogorov Smirnov test to compare your data with the best fitting estimate from the skew-normal family.
A: I am a statistician who has been working in this profession for over 30 years and before reading this post I had never heard of the skew normal distribution. If you have highly skewed data why do specifically want to look at skew normal as opposed to lognormal or gamma?  Anytime you have a parametric family of distributions such as the gamma, lognormal or skew normal you can apply a goodness of fit test such as chi-square or Kolmogorov-Smirnov.
A: So my solution in the end was to download the fGarch package, and  snormFit provided by fGarch to get MLEs for the parameters to a Skewed-Normal.
Then I plugged those parameters, with the dsnorm function provided by fGarch, in to a Kolmogorov-Smirnov test.
A: Check out http://www.egyankosh.ac.in/bitstream/123456789/25807/1/Unit6.pdf and http://en.wikipedia.org/wiki/Skewness 
You could use the Karl Pearson test for skewness. The ratio of the third moment to the cube of standard deviation is called the coefficient of skewness. Symmetrical distributions would have skewness = 0
A: in SPSS you can get a estimate of the skewness (by going to analyze and then descriptives and then mark skewness) then you get a score of skewness and S.E (standard error) of skewness. Divide the skewness by its S.E and if your score is between +-1.96 its normally skewd.
If its not skewd then there are many non-parametric tests out there!
Good luck and all the best!
