Built skel is called "skelbin". Each skelbin is placed in its own
directory, containing nothing more than just that installed skelbin. In
most cases that is done trivially by specifying --prefix=$SKELBINS/$NAME-$hsh
in the skel. $NAME is the skel's name, package's name, something like perl-5.32.1.

$hsh is a supplementary hash value used to distinguish different
builds/revisions of the same package. Currently it is just a hash of the
skel itself and BASS'es current commit revision. It is URL-safe Base64
encoded string. So for example if $SKELBINS is /tmp/skelbins directory,
then that Perl skelbin is installed to:
/tmp/skelbins/perl-5.32.1-zP3IpCa_XY7pGHCNYQxp_1KjQQNCyUl84LqSrWLErjA.
$NAME-$hsh is often called "namenhash" in the code.

But that is just a single software skelbin directory. What if my another
skel requires multiple other skelbins, depends on them?
https://www.gnu.org/software/stow/, GNU Stow helps there. That is simple
symbolic links manager. Assume you have got /tmp/skelbins/perl5-$hsh0
and /tmp/skelbins/gmake-4.4-$hsh1 skelbins and you current working
directory is /tmp/tmp.whatever. stow is used to create symlinks from
dependant skelbins to our current's local/ subdirectory that way:

    /tmp/tmp.whatever/local/bin/gmake -> /tmp/skelbins/gmake-4.4-$hsh1/bin/gmake
    /tmp/tmp.whatever/local/bin/perl5 -> /tmp/skelbins/perl5-$hsh0/bin/perl5
    /tmp/tmp.whatever/local/lib/site_perl -> /tmp/skelbins/perl5-$hsh0/lib/site_perl
    /tmp/tmp.whatever/local/share/info -> /tmp/skelbins/gmake-4.4-$hsh1/share/info
    [...]

If you add $tmp/local/bin to your $PATH and $tmp/local/lib to
$LD_LIBRARY_PATH, then both gmake and perl will be available to that
local build and work perfectly. Alter $CFLAGS, $LDFLAGS,
$PKG_CONFIG_PATH and in most cases the whole building environment will
be aware about those skelbins.