Not sure what to study next after crowns? Let's fix that

NOTE: The script is currently partially broken, but not abandoned. Duolingo is implementing a new way to measure your progress, but as usual there are a lot of changes, and a lot of reverse engineering to me don. It means that while the new "word progress" is under development, the script will remain broken. It will be updated to a better state as soon as possible.

Hello everyone!

Crowns are finally here for everyone, and a common complain is "I don't know what lesson to study."

I just created a userscript that suggest what to study now. It works with Chrome and Firefox, and should work with other browsers that support userscripts.

The script will add a button next to "PRACTICE" like this:



  • User-friendly configuration.
  • You need to reload the page to update the button. Not sure why, yet.
  • Feedback from actual users ;-)

Download the script

April 7, 2018


Thank you for the script, it works nicely. Besides helping me to decide "what next" it also helps vary the lessons - instead of doing several lessons from the same skill in a row, I do one lesson here and another there, which is more interesting.

I have a minor suggestion for an upgrade of the script: would it be possible to add a setting that I don't want bonus skills to be included in the suggestions? I have found that reloading the page usually helps and offers another skill, so it isn't a big trouble, but it would be nice.

April 8, 2018

Now reloading does not work anymore, all the button offers me is "Idioms and proverbs", which I don't want to do. Is there anything I can do to skip it (apart from the obvious - doing the lesson)?

April 11, 2018

No, there is nothing nothing you can do. The script will calculate what skills are behind the average of the course and then choose one at random between them. If you happen to have one skill that is notoriously behind, it will pick it every time. Any improvement would require adding some "intelligence" to the script, something I am not qualified to do.

April 11, 2018

Oh well. I shouldn't have bought that skill.

April 11, 2018

It is a bonus skill? Do you have any programming experience? I don't have any tree with bonus skills, and I am afraid they might cause the script to fail. It would be nice if someone with access to a tree with bonus skills could help me to add proper support for them.

April 11, 2018

Yes, it is a bonus skill (I mentioned bonus skills in my first post, but maybe you missed it).

I don't know much about programming, although I'd call myself a power user. If you want to e.g. look up something in the page source, I could try that, but I don't feel up to adapting the script myself.

I also completely fail to understand your notes concerning configuration, still have no idea what those numbers mean. :)

April 11, 2018

No programming knowledge, but I do have bonus skills in my tree, and until maybe the last two days or so everything was fine actually, and now the button will only give me the same bonus skill lessons, regardless of how many times I do them. Did something change?

April 17, 2018

@Camilo-A2: Would you mind sharing how you determine the next skill to practice?

Are you using the percent numbers from the following?

My reason for asking is that I'm finding that for some of my skills, the pct number on the above page seems impossible to improve. For example, my Basics1 and Basics2 skills are at crown L5/0, but show as 75% on

Earlier today I tried to strengthen those skills (several lessons via both the old and crowns UI), and they are still at 75%.

Any idea what might be going on?

Many thanks

April 10, 2018

I define a target for each skill. The most recent row can be at level 1, the next half of the tree at level 2, the next ⅓ at level 3, and the last ⅙ at level 4. Then I calculate the progress to that level. If I am at crown level 1 for a skill that should be 2, and have done 0 lessons, that skill has a weight of 100%. If I've done 3/5 lessons, the weight is 40%. Finally I choose a lesson at random between all the skills with the highest weight. Skills at level 5 would always have a weight of 0, because they can't progress any further.

April 11, 2018

If you are defining a target for each skill then I think that for bonus skills the target always needs to forced to be 1. However many times you do them and even when they are fully 'gold' in the new system they don't progress beyond level one. At the moment the script is working perfectly for any trees without bonus skills and where there are bonus skills it is asking for them to be repeated every couple of lessons.

Is there anything I can do that would help test this out?

April 17, 2018

Probably you had some skills that were really behind, and as soon as they caught up, bonus were the only available for "improving". I just updated the scripts to, hopefully, ignore bonus skills.

April 18, 2018

Ha, looks good, some other skills are suggested now. Thanks for the update!

April 18, 2018

It's working again now--thank you so much! :)

April 19, 2018

The update fixed the problem, I'm getting some other suggestions now. Yippee! This makes the new interface so much more manageable. Thanks again.

April 19, 2018

P.S. unless anyone knows of a way of removing the bonus skills completely which would also solve the problem...I'd happily lose them to solve this particular quirk.

April 17, 2018

Thanks for the explanation by the way. How does the algorithm work once all skills are at the targets you have set? My well practised trees seem to have mostly converted to level 3 throughout - so once the last 1/6 is at level 4 the entire tree may meet the targets you've picked.

April 19, 2018


My reason for asking is that I'm finding that for some of my skills, the pct number on the above page seems impossible to improve. For example, my Basics1 and Basics2 skills are at crown L5/0, but show as 75% on

That's because of the new update of this French course.

This works for me:

  • Tap the blue link to Basics 1 in
    You are in the old layout now.

  • tap the lesson that shows "Start"
    or you might try whether the "Test out" feature is still working in an updated tree (I could not test that myself)

April 19, 2018

Hi Camilo, hello everybody,

coming from my thread "[HOWTO]: Different ways for spaced repetition with skill strength viewer (user script and extension)":

More difficult grammar (e.g Subjunctives) / Verb tense (crowns) level-up strategy concept

The idea about my own lesson (crown session) strategy concept for 2018 was to focus on more difficult grammar skills and verb tense skills and to only level them up to higher crowns L3-L4 (L5) levels (right now not L5 because of a huge bug in the system which renders the PRACTICE button useless bringing all easy L0/L1 sentences and challenges) once I have:

  • 1) reviewed the grammar notes (depending on for how long the skill has not been practiced, how fresh the information is in my brain, how many errors I do in a practice session)

  • 2) first to re-strenghten the skill back to 100% (gold)

  • 3) only then to start new "crown sessions" (lessons) to see more difficult sentences

To apply this concept I actually would have to:

  • A) manually rename skills to "Vocab:", "Verb:" and "Grammar:" (tree design skill names are too confusing in my updated EN->PT tree)
  • B) filter or group skills by category (e.g Verb:) and order by the new name preffix
  • C) display gold (100%) grammar/verb skills or
  • D) filter out ALL (25-75) 100% golden "vocabulary skills"


I am not sure if your user script "Duolingo Next Lesson" could help to achieve this or if a Stylus user style (to filter skills based on strength value and to help to rename (long) skill names would be better for this.

Is there maybe any good configuration option for this to also care for a 100% skill strength value for SELECTED grammar/verb skills before jumping into lessons (crown sessions)?

Do you think such a quite complicated "grammar configuration" could be adjusted?

Sorry Camilo, I have not yet been using your user script as I did not clearly understand the configuration options (I know, basically you have listed them on the README section) :-(

Stylus user script

There is this two years old thread, created before the "crown update" to filter golden skills out based on 100% strength.

"Hide 100% strength skills --no more scrolling!":$comment_id=29665988

Has anybody used the above user style from DRB?

Personally I can't use any "Chrome extensions" or "Firefox Quantum extensions" (newer extensions API) as I am based on Firefox V52.9.0esr (this is fixed for this older system).

Stylus addon or Tampermonkey works great here.

Best regards / Viele Grüße

November 16, 2018

I had previously written about my planned grammar / verb tense crowns level-up strategy review concept in these three threads six months ago:

Text copy from above 2-3 threads

This will be my new strategy for my (forward) EN-PT 1,5 years tree:

  • 1) Only re-golden those (vocabulary) crown L2 skills (75-100% strength) which I have already been practicing daily.

1a) I will be waiting until the "crown test out" feature is finally added which will probably fix what the simple conversion rule broke to move higher (especially true for the 39-44 skills of the first half of the tree) in a crown level hierachy.

1b) usually use the general "Practice / Strengthen skills" with "timed practice" button to save my streak and gain XPs.

  • 2) Review notes and re-golden multiple crown L1/L2 (grammar) skills (100% strength).
  • 3) Level-up grammar skills from crown L2 to crown levels L3-L5 (hopefully to see some more difficult and longer sentences).
  • 4) Re-golden levelled-up L3-L5 (grammar) skills (100% strength) in iterations.

My plan is not to do 3) before 2).

It is easier to do points 2) and 3) if you order all skills on your SHOF progress page by Skill Name.
Use the "Practice" button to do a "Skill strengthen" exercise.

All (16) more difficult grammar / tense skills start with "Verbs:" (also applies to e.g English-Italian tree!).


Point 1) "Crown level test-out" will probably FIX any wrong conversion if SIMPLE rule was used

[Crown conversion BUG] Not a single L3 skill; 39 golden skills wrongly migrated to L2 for 1,5 years old tree (daily practiced):

UPDATE 11/16/2018:
I could not update / improve this text yet because of personal situations in my private life and currently it does not look like that I will be able to do so in the next ~4-5 months. Sorry guys.

November 16, 2018

Can you build something to make it revert back to the way it was without crowns?

April 7, 2018

I can't, at least not in a realistic time-frame

April 7, 2018

Some people have found some workarounds to some of it though - have a look for the thread called "Hidden Links of Duolingo - And how to counter some of the Crowns frustration". I think that's the best you can do at the moment.

April 10, 2018

Thank you for your response. I’ll happily hold out for your unrealistic time frame than use the current version with crowns. I’m so disappointed with it, it’s utterly disheartening.

April 7, 2018

I respect your optimism--I have uninstalled and I am just not going to look back. There are great spaced-repetition systems like Anki that are much better options than Duolingo now.

April 7, 2018

Thank you Juan. Do you have more info on Anki? I tried to look it up in the iPhone app store and it had an abundance of options but nothing like it related to learning languages.

April 7, 2018

Since Juan hasn't answered I'll throw in my own two cents: Anki is a flashcard program that has more functions than you might know what to do with. Haven't tried the mobile apps, but the desktop version worked pretty well for me in conjunction with Duo's lessons.

April 8, 2018

Thank you so much for responding to me, really good of you. I appreciate the info and will look into it. Thanks again. :-)

April 11, 2018

Do you have to join GitHub to install and enable the script?

April 7, 2018

Nope! You just have to have a userscript manager. Tampermonkey works in all of the Big 5.

April 7, 2018

Nope, you need a userscripts addon. My favorite one is Violentmonkey

April 7, 2018

[Edit] You mention it yourself in your post under the missing list - sorry didn't see that...

I have to reload the page when I switch languages to get a new proposal. (e.g. It keeps showing the Spanish skill when I switch from Spanish to Norwegian).
Can you confirm that this is how it is (because there's no way to capture the async loading of the new tree for example - I did not inspect the code - I am just guessing)

or is it for another reason, e.g. because of my setup ?

I am using Firefox 59.0.2 with Greasemonkey 4.3 on a Windows7 system.

Thanks for the script, it seems to be quiet useful!

April 8, 2018

No, is not your setup. It seems the notification for updates to the tree is not working. I'm not quite sure yet why, but I'm working on it because it annoys me too.

April 9, 2018

Fabulous idea and it's just what is needed - I'd been resorting to browsing through my words tab to try and guess which lessons to do and linking through to individual lessons from there (which does sort of work but is really awkward and annoying). Huge thanks from me!

April 10, 2018

Wow, my typed text in the edit textfield is gone :-(

I stumbled across this line "skills = course_skills.filter(skill = skill.accessible == true);" in your code.

How about first filtering "var course_skills = [];" with all three "var bonus_skill_names = [Christmas, Idioms, Flirting];" which a user can - initially fixed - enter?

Those were the three bonus skills for my EN-PT tree.
I also can verify for DE-EN or DE-EN (probably not bought in the lingot store yet).

Or is there any "skill.bonus == true" attribute to dynamically check for in the code when reading each skill?

April 12, 2018

I would love to help you somehow guys, but this user script stuff is pretty new to me (I am a Java developer).

What shall I do? How can I help / debug?
Unfortunately I first have to get Tampermonkey V4.6.5709 (latest) working on Firefox V52.7.3esr / 52.6.0esr / 52.4.1esr.
Or I need to open a bug report.

Multiple user scripts - including this and "Tree enhancer" have stopped working.

And the Tampermonkey "Overview" window is just refreshing all days long but not showing anymore any installed scripts :-(
So it might only work for Firefox Quantum V57, which I can not use.
I also can not use Chrome.

I had to upgrade from Greasemonkey V3.18 (V4 was not compatible anymore) to Tampermonkey, because since one upgrade all Memrise user scripts from Cooljingle stopped working on Greasemonkey V3.18.
My other installed Memrise scripts still work with all three Firefox ESR versions and latest Tampermonkey.

I may re-test your both user scripts with Greasemonkey V3.18 / V4 with V52.7.3esr...but chances are not high that I get them running again....

Multiple DuoLingo user scripts have mysteriously stopped working on 20 March 2018 including "Tree Enhancer" :-(

April 12, 2018

There indeed is a flag like that. I filtered the bonus skills like this: skills = course_skills.filter(skill => skill.accessible && !skill.bonus);

April 14, 2018

Appreciate your work on this. My Mac does not seem to be taking the script easily. Running Duolingo in Chrome. Your link takes me to Github. A green button indicates Clone or Download. Options then are open in desktop or download zip. Neither seem to be working. I do not have an option other then "Practice." And yes, I do have script enabled in top right of browser. Thanks!

April 18, 2018

I installed the script and it works on my Mac:

  • I downloaded then extracted the content of the zip file.
  • Right-clicked on the extracted .js file then chose Open with then TextEdit.
  • Copied the script from TextEdit.
  • Clicked on the icon of the userscript manager Tampermonkey (you need to install it on Chrome) then chose Create New Script.
  • Pasted the script then hit the Save icon.
April 18, 2018

Bingo. Working. Thank you.

April 18, 2018

This has been working faithfully until the most recent update to the interface which seems to have disabled it. Is there a way of reinstating it with the new Duo interface?

May 20, 2019
Learn a language in just 5 minutes a day. For free.