Ah ok. Great that you made some progress.
It’s a lot of stuff for beginners I know. I do coaching/training for individuals and teams and initially they always struggle a bit, but after a few sessions they all really appreciate what Neos has to offer in those regards.
As our best practises are “alive” some of the docs and videos are already “old” and don’t reflect anymore what you might encounter in the code.
So the “constraints” are there to define what editors can later add to certain areas.
For example the generic page could have as childNode constraint something like “Constraint.Document.Page”.
And the same or other pages types now inherit from “Constraint.Document.Page”.
Now an editor can add those pagetypes as subpages to the generic page.
The same works for content etc. So this way the concept what nodetypes are allowed where is much more flexible and easier to maintain than how we did it in the past where you had to define each and every nodetype in the childnode constraint.
For that to work those “constraint” nodetypes don’t need anything besides being marked as “abstract”.
The abstract page type is meant to be inherited by other page types but also provides its own rendering that the other types can inherit from in Fusion. That makes it different from a mixin which doesn’t provide its own rendering in Fusion. So more or less a naming convention.
So in the HomePage you should see that in inherits from AbstractPage and probably one of the constraints (I never looked at the Skeleton distribution in detail).
Hope that already helps a bit.
Btw. you can also ask questions in German in the D-A-CH Slack channel or here in the matching category if that’s easier for you.
Me and others also provide (paid) training. That probably would speed things up a bit initially.
I’m currently collecting the most common topics/questions in my trainings to create some new documentation & videos as soon as private and project pressure allows again.