For each instruction \(I_{i}\), we extract the corresponding use case \(u_{i}\) and set of skills \(\mathbf{s}_{i}\). We then have the set of metadata as \(\mathcal{M}=\{(u_{i},\mathbf{s}_{i})\}_{i=1}^{n}\). Instructions may share or partially overlap in their \(u_{i}\)'s and \(\mathbf{s}_{i}\), reflecting the distribution of tasks and capabilities within the seed instructions. Use cases and skills are generated on-the-fly, not limited to some predefined sets, enabling broader applicability. However, we can always provide such constraints with our prior knowledge, or even directly write out metadata without any seed instructions.