# Adding new training content If you're ever tasked with the grueling task of adding more tips from manuals, my condolences. There are 4 components of a training content tip: the tip itself, the question, the additional and the segment. The tip is the actual tip, if the manual doesn't have an exercise that relates to that tip fill this out: ```json { "category": "", "embedding": "", "text": "", "html": "", "id": "", "verified": , "standalone": } ``` If the manual does have an exercise that relates to the tip: ```json { // ... "question": "", "additional": "", "segments": [ { "html": " >", "wordDelay": , "holdDelay": , "highlight": [ { "targets": [""], "phrases": [""] } ], "insertHTML": [ { "target": "", "targetId": "", "position": "", "html": "" }, ] } ] } ``` In order to create these structures you will have to mannually screenshot the tips, exercises, context and send them to an llm (gpt-4o or claude) with a prompt like "get me the html for this", you will have to check whether the html is properly structured and then paste them in the prompt.txt file of this directory and send it back to an llm. Afterwards you will have to check whether the default styles in /src/components/TrainingContent/FormatTip.ts are adequate, divs (except for the wrapper div of a segment) and span styles are not overriden but you should aim to use the least ammount of styles in the tip itself and create custom reusable html elements in FormatTip.ts. After checking all of the tips render you will have to create new embeddings in the backend, you CAN'T change ids of existing tips since there might be training tips that are already stored in firebase. This is a very tedious task here's a recommendation for [background noise](https://www.youtube.com/watch?v=lDnva_3fcTc). GL HF