How long does it take for a skill to require strengthening?
And is it based solely on the amount of time since that skill was last practiced, or does it take into consideration your proficiency (or lack thereof) in that particular skill?
I haven't being Duoing for all that long and at this point the skills that require strengthening are seemingly random.
The strength of a skill is the average strength of the words taught in that skill. When the strength ratings for enough words in that skill decay and cause the average to fall below the threshold for gold (80% strength, I believe), the skill will lose its gold status. Each word has a strength rating that is a fractional value between 0 and 1. Additionally, each word has a decay rate that indicates how quickly a word's strength will deteriorate. This can be something like 0.0000001 per second (or even lower) for words that Duo thinks you know very well to roughly 0.00001 per second (edited from 0.0001 to correct a typo in the original post and to make it more clear that these are estimates) for words that it thinks you don't know very well. Each time you practice a word, its strength is reset to 1. If you get the question right the decay rate decreases, but if you missed a word in a practice or if you peeked at the mouse-over hints, its decay rate increases.
The end result is that for words that you consistently answer correctly in practices will need to be practiced less and less frequently over time. Words that you consistently get wrong, or peek at the hints to answer will come up increasingly often.
So let me get this straight: The decay is linear, and the gold status of a word is lost if the decay is more than 0.2 . At the highest possible rate of 0.0001 / s, this would mean that the gold status is only held for 0.2 / (0.0001 1/s) = 2000 s, this is less than AN HOUR. Are you sure about this ?
On the other hand, with the lowest possible decay rate, the word will loose its status after 23 days, that's fairly reasonable. Is there any way to see the decay rates of my words ?
The 0.0001 was a typo. It should have been 0.00001 as I've described it in another similar thread. In this case, a word will lose its gold status within a about 6 hours. Also, these numbers aren't precise, they're rough estimates based on the observed decay of word strengths that I've noted. Duo doesn't directly expose the decay rates. It may be in the word detail variables, but I haven't checked. If you have the words tab, however, there is a hidden DIV (edit: it's actually a SPAN) for each word that lists its current strength. Decay rates can be roughly estimated by noting these numbers and comparing them 30 seconds between refreshes.
How can I see the hidden DIVs? I tried to figure it out myself, but all I could read from the source code is that there is an amazingly long list of languages Duolingo seems to consider, and that lines with a quarter million signs without break do not improve readability.
Btw, here is the list: duo.language_names = ['Greek', 'Esperanto', 'English', 'Swedish (Sweden)', 'Lolcat', 'Afrikaans', 'Swahili', 'Catalan', 'Chinese (Cantonese)', 'Gujarati', 'Swedish', 'Zombie', 'Czech', 'Arabic', 'Ukrainian', 'Irish', 'Basque', 'Estonian', 'Chinese (Traditional)', 'Azeri', 'English (Pirate)', 'Spanish', 'Chinese', 'Russian', 'Galician', 'Norwegian (Nynorsk)', 'Norwegian', 'Norwegian (Bokm\xc3\xa5l)', 'Turkish', 'Indonesian', 'Latvian', 'Lithuanian', 'Punjabi', 'Thai', 'Vietnamese', 'Italian', 'Hebrew', 'Icelandic', 'Polish', 'Tamil', 'Dutch (Netherlands)', 'Belarusian', 'French', 'Bulgarian', 'Dothraki', 'Telugu', 'Slovenian', 'Croatian', 'Bengali', 'German', 'Dutch (Belgium)', 'Danish', 'Farsi', 'Uzbek', 'Hindi', 'Finnish', 'Armenian', 'Hungarian', 'Urdu', 'Japanese', 'Faroese', 'Georgian', 'Romanian', 'Portuguese', 'Malay (Brunei)', 'Kazakh', 'Albanian', 'Mongolian', 'Korean', 'Kannada', 'Macedonian', 'Klingon', 'Slovak', 'Malay (Malaysia)', 'Tatar', 'Sindarin', 'Malay', 'Marathi', 'Kyrgyz', 'Swedish (Finland)'];
The easiest way is to load the words page, find the word you wish to inspect, right-click on its strength bars, and select inspect element in the context menu. In the elements tab (inspector tab in Firefox), you should see a hidden SPAN (sorry, I mistakenly referred to it as a DIV earlier) which contains the word's current strength value.