{"blobs":{"16e1641bd79775ea0e33deb602f5946ffaf50695c64746f4080ebf87793fa1d1":"YW5ndWxhci1yZWFjdGl2ZS1mb3JtczogdGhpcmQtcGFydHkgbm90aWNlcwoKVGhpcyBza2lsbCBjb21iaW5lcyBPcnFlc3RyaWEncyBvd24gdGV4dCB3aXRoIG1hdGVyaWFsIGZyb20gdGhlIHNvdXJjZXMgYmVsb3cuCkFkYXB0ZWQgZm9yIE9ycWVzdHJpYTogY29uZGVuc2VkIGFuZCBjaGFuZ2VkLgoKMS4gYW5ndWxhci9hbmd1bGFyIChBbmd1bGFyIGRvY3VtZW50YXRpb24gYW5kIGJlc3QgcHJhY3RpY2VzKQogICBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyCiAgIExpY2Vuc2U6IE1JVCAvIENDLUJZLTQuMAogICBDb3B5cmlnaHQgKGMpIEdvb2dsZSBMTEMKCjIuIFJlYWN0aXZlWC9yeGpzCiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9SZWFjdGl2ZVgvcnhqcwogICBMaWNlbnNlOiBBcGFjaGUtMi4wCiAgIENvcHlyaWdodCAoYykgMjAxNS0yMDE4IEdvb2dsZSwgSW5jLiwgTmV0ZmxpeCwgSW5jLiwgTWljcm9zb2Z0IENvcnAuIGFuZCBjb250cmlidXRvcnMKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNSVQgTGljZW5zZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKU09GVFdBUkUuCg==","dcffc25b9c5ba190ff9244f92ab83de24c3c8400ea2aaf6ca0dd0fb6b3928dfa":"LS0tCm5hbWU6IGFuZ3VsYXItcmVhY3RpdmUtZm9ybXMKZGVzY3JpcHRpb246IFVzZSB3aGVuIGJ1aWxkaW5nLCB2YWxpZGF0aW5nIG9yIGRlYnVnZ2luZyBBbmd1bGFyIFJlYWN0aXZlIEZvcm1zLCB0eXBlZCBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBGb3JtUmVjb3JkIGFuZCBGb3JtQXJyYXksIGN1c3RvbSBzeW5jL2FzeW5jIHZhbGlkYXRvcnMsIGR5bmFtaWMgZm9ybSBjb250cm9scywgb3IgbWFwcGluZyBzZXJ2ZXIgdmFsaWRhdGlvbiBlcnJvcnMuCmxpY2Vuc2U6IE1JVAptZXRhZGF0YToKICBzb3VyY2U6IFtodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvbWFpbi9hZGV2L3NyYy9jb250ZW50L2d1aWRlL2Zvcm1zL3JlYWN0aXZlLWZvcm1zLm1kLCBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvbWFpbi9hZGV2L3NyYy9jb250ZW50L2d1aWRlL2Zvcm1zL3R5cGVkLWZvcm1zLm1kXQotLS0KIyBSZWFjdGl2ZSBGb3JtcwoKQnVpbGQgcHJlZGljdGFibGUsIHN0cmljdGx5IHR5cGVkIEFuZ3VsYXIgUmVhY3RpdmUgRm9ybXMgd2l0aCBjbGVhciBzZXBhcmF0aW9uIGJldHdlZW4gZmllbGQgdmFsaWRhdGlvbiwgY3Jvc3MtZmllbGQgcnVsZXMgYW5kIHNlcnZlciB2YWxpZGF0aW9uIGZlZWRiYWNrLgoKIyMgMS4gVHlwZWQgUmVhY3RpdmUgRm9ybXMgKGBGb3JtR3JvdXBgLCBgTm9uTnVsbGFibGVGb3JtQnVpbGRlcmAsIGBGb3JtQXJyYXlgKQotIFVzZSB0eXBlZCBgRm9ybUJ1aWxkZXJgIC8gYE5vbk51bGxhYmxlRm9ybUJ1aWxkZXJgIChgaW5qZWN0KE5vbk51bGxhYmxlRm9ybUJ1aWxkZXIpYCkgc28gYGZvcm0uZ2V0UmF3VmFsdWUoKWAgYW5kIGBmb3JtLnZhbHVlYCBjYXJyeSBleGFjdCBUeXBlU2NyaXB0IHR5cGVzIChgRm9ybUNvbnRyb2w8c3RyaW5nPmAgdnMgYEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+YCkuCi0gUmVtZW1iZXIgdGhhdCBgZm9ybS52YWx1ZWAgb21pdHMgZGlzYWJsZWQgY29udHJvbHMgKGBQYXJ0aWFsYCksIHdoZXJlYXMgYGZvcm0uZ2V0UmF3VmFsdWUoKWAgaW5jbHVkZXMgZGlzYWJsZWQgY29udHJvbHMgd2l0aCB0aGVpciBmdWxsIHR5cGUuCi0gRm9yIGR5bmFtaWMgbGlzdHMgb3IgcmVwZWF0YWJsZSBmaWVsZCBzZXRzLCB1c2UgYEZvcm1BcnJheTxGb3JtR3JvdXA8Li4uPj5gOyBmb3IgZHluYW1pYyBzdHJpbmcga2V5cyB3aXRoIHVuaWZvcm0gY29udHJvbCB0eXBlcywgdXNlIGBGb3JtUmVjb3JkPEZvcm1Db250cm9sPC4uLj4+YC4KLSBXaGVuIHBvcHVsYXRpbmcgZXhpc3RpbmcgZGF0YSBpbnRvIGEgZm9ybSwgY2hvb3NlIGBwYXRjaFZhbHVlYCAocGFydGlhbCB1cGRhdGVzKSB2cyBgcmVzZXQobW9kZWwpYCAod2hpY2ggYWxzbyByZXNldHMgYGRpcnR5YC9gdG91Y2hlZGAgc3RhdGVzKSBkZWxpYmVyYXRlbHksIGFuZCBwYXNzIGB7IGVtaXRFdmVudDogZmFsc2UgfWAgd2hlbiBoeWRyYXRpbmcgaW5pdGlhbCBkYXRhIHNob3VsZCBub3QgdHJpZ2dlciBgdmFsdWVDaGFuZ2VzYCBwaXBlbGluZXMuCgojIyAyLiBTeW5jLCBjcm9zcy1maWVsZCBhbmQgYXN5bmMgdmFsaWRhdGlvbgotIEF0dGFjaCBzaW5nbGUtZmllbGQgdmFsaWRhdG9ycyAoYFZhbGlkYXRvcnMucmVxdWlyZWRgLCBjdXN0b20gYFZhbGlkYXRvckZuYCkgdG8gdGhlIGBGb3JtQ29udHJvbGAsIGFuZCBjcm9zcy1maWVsZCB2YWxpZGF0b3JzIChkYXRlIHJhbmdlcywgcGFzc3dvcmQgY29uZmlybWF0aW9uLCB0b3RhbHMpIHRvIHRoZSBwYXJlbnQgYEZvcm1Hcm91cGAuCi0gRm9yIGFzeW5jIHZhbGlkYXRvcnMgKGBBc3luY1ZhbGlkYXRvckZuYCksIGRlYm91bmNlIG9yIHJ1biBvbiBgdXBkYXRlT246ICdibHVyJ2Agc28gZXZlcnkga2V5c3Ryb2tlIGRvZXMgbm90IGZpcmUgYSBuZXR3b3JrIHJlcXVlc3QsIGFuZCBoYW5kbGUgZXJyb3JzIGdyYWNlZnVsbHkgaW5zaWRlIHRoZSBvYnNlcnZhYmxlLgotIFNob3cgZmllbGQgZXJyb3JzIG9ubHkgd2hlbiBhcHByb3ByaWF0ZSAoYGNvbnRyb2wuaW52YWxpZCAmJiAoY29udHJvbC50b3VjaGVkIHx8IGZvcm1TdWJtaXR0ZWQpYCksIGFuZCBjYWxsIGBmb3JtLm1hcmtBbGxBc1RvdWNoZWQoKWAgd2hlbiB0aGUgdXNlciBhdHRlbXB0cyB0byBzdWJtaXQgYW4gaW52YWxpZCBmb3JtLgoKIyMgMy4gU3VibWlzc2lvbiBsaWZlY3ljbGUgYW5kIHNlcnZlciB2YWxpZGF0aW9uIGVycm9ycwotIFByZXZlbnQgZHVwbGljYXRlIHN1Ym1pc3Npb25zIGJ5IGd1YXJkaW5nIG9uIGBmb3JtLnBlbmRpbmcgfHwgaXNTdWJtaXR0aW5nYCAob3IgdXNpbmcgYGV4aGF1c3RNYXBgKS4KLSBNYXAgZmllbGQtbGV2ZWwgc2VydmVyIGVycm9ycyBvbnRvIG1hdGNoaW5nIGNvbnRyb2xzIHZpYSBgY29udHJvbC5zZXRFcnJvcnMoeyBzZXJ2ZXI6IG1lc3NhZ2UgfSlgIHdoaWxlIHByZXNlcnZpbmcgYSBmb3JtLWxldmVsIGJhbm5lci9hbGVydCBmb3IgZ2VuZXJhbCBvciB1bm1hcHBlZCBzZXJ2ZXIgZXJyb3JzLgoKIyMgQmVmb3JlIHlvdSBmaW5pc2gKLSBbIF0gQ29udHJvbHMgdXNlIHN0cmljdCB0eXBlcyAoYE5vbk51bGxhYmxlRm9ybUJ1aWxkZXJgIHdoZXJlIHJlc2V0IHNob3VsZCByZXN0b3JlIGRlZmF1bHRzIHJhdGhlciB0aGFuIGBudWxsYCkuCi0gWyBdIGBkaXNhYmxlZGAsIGB0b3VjaGVkYCwgYGRpcnR5YCBhbmQgYHBlbmRpbmdgIHN0YXRlcyBhcmUgaGFuZGxlZCBhbmQgcmVmbGVjdGVkIGluIHRoZSBVSS4KLSBbIF0gRmllbGQsIGNyb3NzLWZpZWxkIGFuZCBzZXJ2ZXIgdmFsaWRhdGlvbiBlcnJvcnMgZGlzcGxheSBjbGVhcmx5IHdpdGhvdXQgbG9zaW5nIHVzZXIgaW5wdXQuCg=="},"entities":{"agents":[],"projects":[],"skills":[{"files":[{"blob":"16e1641bd79775ea0e33deb602f5946ffaf50695c64746f4080ebf87793fa1d1","executable":false,"path":"LICENSE.txt"},{"blob":"dcffc25b9c5ba190ff9244f92ab83de24c3c8400ea2aaf6ca0dd0fb6b3928dfa","executable":false,"path":"SKILL.md"}],"id":"skill-angular-reactive-forms","name":"angular-reactive-forms","origin":"orqestria-builtin-skill-angular-reactive-forms","version":"1.0.0+9c9c8b62759dc928dce812de"}],"teams":[],"workflows":[]},"format":"orqestria.bundle","package":{"description":"angular-reactive-forms: Build maintainable Angular features with clear component boundaries, reactive state, forms and tested migrations.","id":"orqestria-skill-angular-reactive-forms","kind":"skill","name":"angular-reactive-forms","readme":"# angular-reactive-forms\n\nangular-reactive-forms: Build maintainable Angular features with clear component boundaries, reactive state, forms and tested migrations.\n\nIncludes the complete skill and its supporting files (2 files). The exact authored scope is preserved below.\n\nOriginal skill description (source language)\n\nUse when building, validating or debugging Angular Reactive Forms, typed FormGroup, FormControl, FormRecord and FormArray, custom sync/async validators, dynamic form controls, or mapping server validation errors.\n\nInstall the skill, review its source and trust settings, then enable it for the relevant project or agent.","requirements":["Orqestria installed on your computer."],"root":"skill-angular-reactive-forms","version":"1.0.0+d82530717c564e811cb5726c"},"schemaVersion":1}
