{"blobs":{"cf4867fe7b2caf94be8349a155aa18bd99a0f3cef6b116bfc7b14c9f87fec780":"LS0tCm5hbWU6IGNvZGVpZ25pdGVyNC1jb252ZW50aW9ucwpkZXNjcmlwdGlvbjogVXNlIHdoZW4gd29ya2luZyBvbiBhIENvZGVJZ25pdGVyIDQgYXBwLCBDSTQgY29udHJvbGxlciwgbW9kZWwsIHZpZXcsIHJvdXRlcywgUm91dGVzLnBocCwgZmlsdGVycywgQ1NSRiwgdmFsaWRhdGlvbiBydWxlcywgYWxsb3dlZEZpZWxkcywgUXVlcnkgQnVpbGRlciwgc2VydmljZXMsIG1pZ3JhdGlvbiwgc2VlZGVyLCBzcGFyayBjb21tYW5kLCAuZW52IGNvbmZpZyBvciBDSVVuaXRUZXN0Q2FzZSBhbmQgRmVhdHVyZVRlc3RUcmFpdCB0ZXN0cy4KLS0tCiMgQ29kZUlnbml0ZXIgNCBDb252ZW50aW9ucwoKIyMgU3RydWN0dXJlCi0gS2VlcCB0aGUgYXBwLyBsYXlvdXQgKENvbnRyb2xsZXJzLCBNb2RlbHMsIFZpZXdzLCBDb25maWcsIEZpbHRlcnMsIEVudGl0aWVzLCBMaWJyYXJpZXMsIERhdGFiYXNlKSB3aXRoIEFwcFwgbmFtZXNwYWNlcyBtYXRjaGluZyBmb2xkZXJzLiBOZXZlciBlZGl0IHN5c3RlbS8gb3IgdmVuZG9yLy4KLSBDb250cm9sbGVycyBleHRlbmQgQmFzZUNvbnRyb2xsZXIsIHN0YXkgdGhpbiBhbmQgcmV0dXJuIHZpZXcoKSwgJHRoaXMtPnJlc3BvbnNlLT5zZXRKU09OKCkgb3IgcmVkaXJlY3QoKS4gQnVzaW5lc3MgbG9naWMgZ29lcyBpbiBtb2RlbHMsIGVudGl0aWVzLCBsaWJyYXJpZXMgb3Igc2VydmljZXMuCi0gR2VuZXJhdGUgZmlsZXMgd2l0aCBgcGhwIHNwYXJrIG1ha2U6Y29udHJvbGxlcmAsIGBtYWtlOm1vZGVsYCwgYG1ha2U6bWlncmF0aW9uYCwgYG1ha2U6ZmlsdGVyYCBzbyBuYW1lc3BhY2VzIGFuZCBzdHVicyBhcmUgcmlnaHQuCgojIyBSb3V0aW5nCi0gRGVmaW5lIGV2ZXJ5IHJvdXRlIGV4cGxpY2l0bHkgaW4gYXBwL0NvbmZpZy9Sb3V0ZXMucGhwIHdpdGggSFRUUCB2ZXJicyAoJHJvdXRlcy0+Z2V0LCBwb3N0LCBwdXQsIGRlbGV0ZSksIGdyb3VwcywgbmFtZXMgYW5kIGZpbHRlcnMuIFVzZSAkcm91dGVzLT5yZXNvdXJjZSgpIG9yIHByZXNlbnRlcigpIGZvciBDUlVEIHdoZXJlIHRoZSByZXBvIGRvZXMuCi0gS2VlcCBhdXRvLXJvdXRpbmcgb2ZmICgkcm91dGVzLT5zZXRBdXRvUm91dGUoZmFsc2UpLCBvciAkYXV0b1JvdXRlID0gZmFsc2UgaW4gYXBwL0NvbmZpZy9Sb3V0aW5nLnBocCBvbiA0LjQrKS4gTmV2ZXIgdHVybiBvbiBsZWdhY3kgYXV0by1yb3V0aW5nLgotIFVzZSBwbGFjZWhvbGRlcnMgc3VjaCBhcyAoOm51bSkgYW5kICg6c2VnbWVudCkuCgojIyBNb2RlbHMgYW5kIGRhdGEKLSBFeHRlbmQgQ29kZUlnbml0ZXJcTW9kZWwgd2l0aCAkdGFibGUsICRwcmltYXJ5S2V5LCAkcmV0dXJuVHlwZSAoYXJyYXkgb3IgYW4gRW50aXR5KSwgJHVzZVRpbWVzdGFtcHMgYW5kICR1c2VTb2Z0RGVsZXRlcyBhcyB0aGUgcmVwbyBkb2VzLgotICRhbGxvd2VkRmllbGRzIGxpc3RzIGV4YWN0bHkgdGhlIGNvbHVtbnMgYWxsb3dlZCBmb3IgbWFzcyBhc3NpZ25tZW50OyBuZXZlciBpbnNlcnQgb3IgdXBkYXRlIHRoZSByYXcgcmVxdWVzdCBhcnJheSB3aXRob3V0IGl0LgotIFZhbGlkYXRpb246ICR2YWxpZGF0aW9uUnVsZXMgYW5kICR2YWxpZGF0aW9uTWVzc2FnZXMgb24gdGhlIG1vZGVsLCBvciAkdGhpcy0+dmFsaWRhdGUoKSAvIHZhbGlkYXRlRGF0YSgpIGluIHRoZSBjb250cm9sbGVyLiBDaGVjayB0aGUgcmVzdWx0IGFuZCBzaG93IHRoZSBlcnJvcnMuCi0gUXVlcnkgQnVpbGRlciB3aXRoIGJpbmRpbmdzOiB3aGVyZSgnaWQnLCAkaWQpLCB3aGVyZUluKCksIG9yICRkYi0+cXVlcnkoJHNxbCwgWyRhLCAkYl0pLiBOZXZlciBjb25jYXRlbmF0ZSBpbnB1dCBpbnRvIFNRTDsgYWxsb3dsaXN0IGNvbHVtbiBhbmQgc29ydCBuYW1lcyBmcm9tIGlucHV0LgotIFdyYXAgbXVsdGktc3RlcCB3cml0ZXMgaW4gJGRiLT50cmFuc1N0YXJ0KCkgLyB0cmFuc0NvbXBsZXRlKCkuCgojIyBTZWN1cml0eQotIEVuYWJsZSB0aGUgY3NyZiBmaWx0ZXIgZm9yIFBPU1QgcmVxdWVzdHMgaW4gYXBwL0NvbmZpZy9GaWx0ZXJzLnBocDsgcHV0IGNzcmZfZmllbGQoKSBpbiBmb3JtcyBhbmQgc2VuZCB0aGUgdG9rZW4gaGVhZGVyIHdpdGggQUpBWC4KLSBBdXRoZW50aWNhdGlvbiBhbmQgcGVybWlzc2lvbnMgdGhyb3VnaCBmaWx0ZXJzIG9uIHJvdXRlIGdyb3VwcyAoU2hpZWxkJ3Mgc2Vzc2lvbiwgZ3JvdXAgYW5kIHBlcm1pc3Npb24gZmlsdGVycyBpZiB1c2VkKSwgcGx1cyBwZXItcmVjb3JkIGNoZWNrcyBpbiBjb250cm9sbGVycy4KLSBFc2NhcGUgZXZlcnkgdmlldyB2YWx1ZSB3aXRoIGVzYygpIGluIHRoZSByaWdodCBjb250ZXh0OiBlc2MoJHYpLCBlc2MoJHYsICdhdHRyJyksIGVzYygkdiwgJ3VybCcpLCBlc2MoJHYsICdqcycpLgotIFJlYWQgaW5wdXQgdGhyb3VnaCAkdGhpcy0+cmVxdWVzdC0+Z2V0UG9zdCgpLCBnZXRHZXQoKSwgZ2V0SlNPTigpIG9yIGdldFZhcigpLCBub3Qgc3VwZXJnbG9iYWxzLgoKIyMgU2VydmljZXMgYW5kIGNvbmZpZwotIFJlYWNoIGZyYW1ld29yayBzZXJ2aWNlcyB3aXRoIHNlcnZpY2UoJ25hbWUnKSBvciBDb25maWdcU2VydmljZXM7IHJlZ2lzdGVyIHlvdXIgb3duIHNoYXJlZCBzZXJ2aWNlcyBpbiBhcHAvQ29uZmlnL1NlcnZpY2VzLnBocCBmb3IgdGVzdGFiaWxpdHkuCi0gU2V0dGluZ3MgbGl2ZSBpbiBhcHAvQ29uZmlnIGNsYXNzZXMsIHJlYWQgd2l0aCBjb25maWcoJ05hbWUnKS4gRW52aXJvbm1lbnQtc3BlY2lmaWMgdmFsdWVzIGdvIGluIC5lbnYgKENJX0VOVklST05NRU5ULCBhcHAuYmFzZVVSTCwgZGF0YWJhc2UuZGVmYXVsdC4qKS4gQWRkIG5ldyBrZXlzIHRvIHRoZSBlbnYgdGVtcGxhdGUgZmlsZTsgbmV2ZXIgY29tbWl0IC5lbnYuCgojIyBNaWdyYXRpb25zIGFuZCBzZWVkZXJzCi0gT25lIGNoYW5nZSBwZXIgbWlncmF0aW9uIHZpYSBgcGhwIHNwYXJrIG1ha2U6bWlncmF0aW9uYCwgd2l0aCB1cCgpIGFuZCBkb3duKCkgdXNpbmcgRm9yZ2UuIE5ldmVyIGVkaXQgbWlncmF0aW9ucyB0aGF0IGFscmVhZHkgcmFuIGVsc2V3aGVyZS4KLSBTZWVkZXJzIGZvciBkZXZlbG9wbWVudCBhbmQgdGVzdCBkYXRhLCBydW4gd2l0aCBgcGhwIHNwYXJrIGRiOnNlZWRgIGxvY2FsbHkuIE5ldmVyIHJ1biBtaWdyYXRlOnJlZnJlc2ggb3IgbWlncmF0ZTpyb2xsYmFjayBhZ2FpbnN0IHNoYXJlZCBkYXRhYmFzZXMuCgojIyBUZXN0aW5nCi0gRXh0ZW5kIENvZGVJZ25pdGVyXFRlc3RcQ0lVbml0VGVzdENhc2UuIEZvciBkYXRhYmFzZSB0ZXN0cyB1c2UgRGF0YWJhc2VUZXN0VHJhaXQgd2l0aCAkbWlncmF0ZSwgJHJlZnJlc2ggYW5kICRzZWVkIG9uIHRoZSB0ZXN0cyBkYXRhYmFzZSBncm91cC4KLSBIVFRQIHRlc3RzIHdpdGggRmVhdHVyZVRlc3RUcmFpdDogJHRoaXMtPmdldCgpLCBwb3N0KCksIHdpdGhTZXNzaW9uKCksIHdpdGhIZWFkZXJzKCksIHRoZW4gYXNzZXJ0U3RhdHVzKCksIGFzc2VydFNlZSgpLCBhc3NlcnRKU09ORnJhZ21lbnQoKSwgYXNzZXJ0UmVkaXJlY3QoKS4KLSBSZXBsYWNlIHNlcnZpY2VzIHdpdGggU2VydmljZXM6OmluamVjdE1vY2soKS4KLSBSdW4gdmVuZG9yL2Jpbi9waHB1bml0IG9yIHRoZSBjb21wb3NlciB0ZXN0IHNjcmlwdC4KCiMjIEJlZm9yZSB5b3UgZmluaXNoCi0gWyBdIFJvdXRlcyBkZWZpbmVkIGV4cGxpY2l0bHkgaW4gYXBwL0NvbmZpZy9Sb3V0ZXMucGhwOyBhdXRvLXJvdXRpbmcgb2ZmLgotIFsgXSAkYWxsb3dlZEZpZWxkcyBhbmQgdmFsaWRhdGlvbiBydWxlcyBjb3ZlciBjaGFuZ2VkIG1vZGVscy4KLSBbIF0gUXVlcmllcyB1c2UgUXVlcnkgQnVpbGRlciBiaW5kaW5ncy4KLSBbIF0gQ1NSRiBhbmQgYXV0aCBmaWx0ZXJzIGFwcGxpZWQ7IHZpZXcgb3V0cHV0IGVzY2FwZWQgd2l0aCBlc2MoKS4KLSBbIF0gTWlncmF0aW9ucyBhbmQgc2VlZGVycyBjcmVhdGVkIHdpdGggc3Bhcms7IG9sZCBtaWdyYXRpb25zIHVudG91Y2hlZC4KLSBbIF0gQ0lVbml0VGVzdENhc2UgLyBGZWF0dXJlVGVzdFRyYWl0IHRlc3RzIGFkZGVkIGFuZCBydW4uCg=="},"entities":{"agents":[],"projects":[],"skills":[{"files":[{"blob":"cf4867fe7b2caf94be8349a155aa18bd99a0f3cef6b116bfc7b14c9f87fec780","executable":false,"path":"SKILL.md"}],"id":"skill-codeigniter4-conventions","name":"codeigniter4-conventions","origin":"orqestria-builtin-skill-codeigniter4-conventions","version":"1.0.0+1cbd588a1617cd9e95887c08"}],"teams":[],"workflows":[]},"format":"orqestria.bundle","package":{"description":"codeigniter4-conventions: Build reliable backend features, APIs and database changes with tests that protect your business rules.","id":"orqestria-skill-codeigniter4-conventions","kind":"skill","name":"codeigniter4-conventions","readme":"# codeigniter4-conventions\n\ncodeigniter4-conventions: Build reliable backend features, APIs and database changes with tests that protect your business rules.\n\nIncludes the complete skill and its supporting files (1 files). The exact authored scope is preserved below.\n\nOriginal skill description (source language)\n\nUse when working on a CodeIgniter 4 app, CI4 controller, model, view, routes, Routes.php, filters, CSRF, validation rules, allowedFields, Query Builder, services, migration, seeder, spark command, .env config or CIUnitTestCase and FeatureTestTrait tests.\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-codeigniter4-conventions","version":"1.0.0+4cf693f3732c5532e90df994"},"schemaVersion":1}
