I have one metric value changing between 0 and 1 for 650 observations. When I analyze frequency distribution I see that the values are right skewed. I need to classify values as high/medium/low. I used 25th and 75th percentiles of the values. Next, I regarded values as "low" below 25th percentile and "high" above 75th percentile.I used average (between 25th and 75th percentiles) and classified it as "medium". Is it logical or should I do an another test?
You are asking how to classify a continuous variable into "low", "medium", and "high". This is an unanswerable question. It depends on the context, the motivation, and the utility of the rankings. You can label values however you want; that isn't a statistical issue. There is no right answer. You could make the first value "low", the second value "medium", and the other 648 values "high". There is nothing statistically invalid about this approach, but it is likely not going to be useful. You need to think about why you are binning your variable, what type of binning would be most useful for your purposes, and what the bins mean in your context. That is not something we can help you with.
For other people coming to this thread, I would highly recommend reading Noah's answer.
However, it seems to me that you want equally distributed bins. You could probably do a frequency analysis to decide this. Your method of Q1, Q2, Q3 division is probably close to correct with relatively much lesser work (although I suspect it wouldn't be as evenly distributed due to the shift).